Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752075AbdFOHeP convert rfc822-to-8bit (ORCPT ); Thu, 15 Jun 2017 03:34:15 -0400 Received: from mga09.intel.com ([134.134.136.24]:12149 "EHLO mga09.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751623AbdFOHeO (ORCPT ); Thu, 15 Jun 2017 03:34:14 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.39,342,1493708400"; d="scan'208";a="274538183" From: "Zheng, Lv" To: Peter Hutterer CC: Benjamin Tissoires , Lennart Poettering , "Wysocki, Rafael J" , "Rafael J . Wysocki" , "Brown, Len" , Lv Zheng , "linux-acpi@vger.kernel.org" , "systemd-devel@lists.freedesktop.org" , "linux-kernel@vger.kernel.org" , "linux-input@vger.kernel.org" Subject: RE: [systemd-devel] [WIP PATCH 0/4] Rework the unreliable LID switch exported by ACPI Thread-Topic: [systemd-devel] [WIP PATCH 0/4] Rework the unreliable LID switch exported by ACPI Thread-Index: AQHS2wd01O/IlIfVsk2vy8j9OHBM16IYiNMAgAmUZoCAAzAyYP//vNyAgACPuZA= Date: Thu, 15 Jun 2017 07:33:58 +0000 Message-ID: <1AE640813FDE7649BE1B193DEA596E886CED047B@SHSMSX101.ccr.corp.intel.com> References: <20170601184632.2980-1-benjamin.tissoires@redhat.com> <20170607074848.GE27006@gardel-login> <20170613100617.GD29589@mail.corp.redhat.com> <1AE640813FDE7649BE1B193DEA596E886CED0386@SHSMSX101.ccr.corp.intel.com> <20170615064715.GA6195@jelly> In-Reply-To: <20170615064715.GA6195@jelly> Accept-Language: zh-CN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiZjJkZDA2NDQtNWJjNC00YmZiLTk1ZjEtZTg3ZWI3Mjc3ZmNlIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX0lDIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE2LjUuOS4zIiwiVHJ1c3RlZExhYmVsSGFzaCI6IkxKaHdtS2VNRUNicnN4elY1bmpzRzNvbHdJNkJLZTFXTUlGZjFxXC9maitjPSJ9 x-ctpclassification: CTP_IC dlp-product: dlpe-windows dlp-version: 10.0.102.7 dlp-reaction: no-action x-originating-ip: [10.239.127.40] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 8BIT MIME-Version: 1.0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 3213 Lines: 83 Hi, Peter > From: Peter Hutterer [mailto:peter.hutterer@who-t.net] > Subject: Re: [systemd-devel] [WIP PATCH 0/4] Rework the unreliable LID switch exported by ACPI > > On Thu, Jun 15, 2017 at 02:52:57AM +0000, Zheng, Lv wrote: > > Hi, Benjamin > > > > > From: Benjamin Tissoires [mailto:benjamin.tissoires@redhat.com] > > > Subject: Re: [systemd-devel] [WIP PATCH 0/4] Rework the unreliable LID switch exported by ACPI > > > > > > Hi, > > > > > > [Sorry for the delay, I have been sidetracked from this] > > > > > > On Jun 07 2017 or thereabouts, Lennart Poettering wrote: > > > > On Thu, 01.06.17 20:46, Benjamin Tissoires (benjamin.tissoires@redhat.com) wrote: > > > > > > > > > Hi, > > > > > > > > > > Sending this as a WIP as it still need a few changes, but it mostly works as > > > > > expected (still not fully compliant yet). > > > > > > > > > > So this is based on Lennart's comment in [1]: if the LID state is not reliable, > > > > > the kernel should not export the LID switch device as long as we are not sure > > > > > about its state. > > > > > > > > Ah nice! I (obviously) like this approach. > > > > > > Heh. Now I just need to convince Lv that it's the right approach. > > > > I feel we don't have big conflicts. > > And I already took part of your idea into this patchset: > > https://patchwork.kernel.org/patch/9771121/ > > https://patchwork.kernel.org/patch/9771119/ > > I tested my surface pros with Ubuntu, they are working as expected. > > > > > > > Note that systemd currently doesn't sync the state when the input node just > > > > > appears. This is a systemd bug, and it should not be handled by the kernel > > > > > community. > > > > > > > > Uh if this is borked, we should indeed fix this in systemd. Is there > > > > already a systemd github bug about this? If not, please create one, > > > > and we'll look into it! > > > > > > I don't think there is. I haven't raised it yet because I am not so sure > > > this will not break again those worthless unreliable LID, and if we play > > > whack a mole between the kernel and user space, things are going to be > > > nasty. So I'd rather have this fixed in systemd along with the > > > unreliable LID switch knowledge, so we are sure that the kernel behaves > > > the way we expect it to be. > > > > This is my feeling: > > We needn't go that far. > > We can interpret "input node appears" into "default input node state". > > Sorry, can you clarify this bit please? I'm not sure what you mean here. > Note that there's an unknown amount of time between "device node appearing > in the system" and when a userspace process actually opens it and looks at > its state. By then, the node may have changed state again. We can see: "logind" has already implemented a timeout, and will not respond lid state unless it can be stable within this timeout period. I'm not an expert of logind, maybe this is because of "HoldOffTimeoutSec"? I feel "removing the input node for a period where its state is not trustful" is technically identical to this mechanism. Cheers, Lv > > Cheers, > Peter > > > That's what you want for acpi button driver - we now defaults to "method" mode. > > > > What's your opinion? > > > > Thanks > > Lv > >