All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Zheng, Lv" <lv.zheng@intel.com>
To: Lennart Poettering <mzxreary@0pointer.de>,
	Benjamin Tissoires <benjamin.tissoires@redhat.com>
Cc: "Wysocki, Rafael J" <rafael.j.wysocki@intel.com>,
	"Rafael J . Wysocki" <rjw@rjwysocki.net>,
	"Brown, Len" <len.brown@intel.com>, Lv Zheng <zetalog@gmail.com>,
	Peter Hutterer <peter.hutterer@who-t.net>,
	"linux-acpi@vger.kernel.org" <linux-acpi@vger.kernel.org>,
	"systemd-devel@lists.freedesktop.org"
	<systemd-devel@lists.freedesktop.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-input@vger.kernel.org" <linux-input@vger.kernel.org>
Subject: RE: [systemd-devel] [WIP PATCH 0/4] Rework the unreliable LID switch exported by ACPI
Date: Wed, 14 Jun 2017 23:50:17 +0000	[thread overview]
Message-ID: <1AE640813FDE7649BE1B193DEA596E886CED024F@SHSMSX101.ccr.corp.intel.com> (raw)
In-Reply-To: <20170607074848.GE27006@gardel-login>

Hi,

> From: Lennart Poettering [mailto:mzxreary@0pointer.de]
> Subject: Re: [systemd-devel] [WIP PATCH 0/4] Rework the unreliable LID switch exported by ACPI
> 
> 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.
> 
> > 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!

This is not my opinion.
My opinion is as follows.

We confirmed Ubuntu shipped systemd (version 229) with "reliable|unreliable" platforms.
We can see 2 problems:
1. LID_OPEN cannot cancel an on-going suspend sequence
   After boot, if user space receives "LID_CLOSE" key event,
   systemd may not suspend the platform right after seeing the event,
   it may suspend the platform several seconds later.
   This is not a problem.

   The problem is, if "LID_OPEN" is sent within this deferring period,
   Systemd doesn't cancel previously scheduled "suspend".
   And the platform may be suspended with lid opened.
   Then users need to close and re-open the lid to wake the system up.
   Causing another "LID_CLOSE/LID_OPEN" sequence delivered to the user space after resume.
   Users then can see a suspend/resume loop.
   This problem can even be seen on "reliable" platforms.
   It can be easily triggered by user actions.
2. Need explicit LID_OPEN to stay woken-up
   After boot, systemd seems to be wait for a significant "LID_OPEN".
   If it cannot see a "LID_OPEN" within several seconds,
   it suspends the platform.
   So if a platform doesn't send "LID_OPEN" or fails to send "LID_OPEN" within this period.
   Users then can see a suspend/resume loop.

However we've tested with github cloned systemd (version 233).
The 2 problems seem to have been fixed.
It works well with current ACPI button driver,
but you need to boot linux kernel with button.lid_init_state=ignore.
I don't know the story of the improvement.
Systemd developers should know that better than me.

So IMO, systemd needn't do any further improvement.
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

But the kernel button driver implements several "lid_init_state" modes.
It appears "method" mode is determined to be the default mode.
Thus we need to do:
1. improve button driver "method" mode to make systemd 233 work well with it.
2. determine if we need to improve button driver to make it work well with systemd 229.

Thanks and best regards
Lv 


  parent reply	other threads:[~2017-06-14 23:50 UTC|newest]

Thread overview: 71+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-06-01 18:46 [WIP PATCH 0/4] Rework the unreliable LID switch exported by ACPI Benjamin Tissoires
2017-06-01 18:46 ` Benjamin Tissoires
2017-06-01 18:46 ` [WIP PATCH 1/4] ACPI: button: extract input creation/destruction helpers Benjamin Tissoires
2017-06-01 18:46   ` Benjamin Tissoires
2017-06-01 18:46 ` [WIP PATCH 2/4] ACPI: button: remove the LID input node when the state is unknown Benjamin Tissoires
2017-06-01 18:46   ` Benjamin Tissoires
2017-06-05  3:19   ` Zheng, Lv
2017-06-05  3:19     ` Zheng, Lv
2017-06-06 10:22     ` Benjamin Tissoires
2017-06-06 10:22       ` Benjamin Tissoires
2017-06-07  1:27       ` Peter Hutterer
2017-06-07  1:27         ` Peter Hutterer
2017-06-07  9:56       ` Zheng, Lv
2017-06-07  9:56         ` Zheng, Lv
2017-06-01 18:46 ` [WIP PATCH 3/4] ACPI: button: Let input filter out the LID events Benjamin Tissoires
2017-06-05  4:28   ` Zheng, Lv
2017-06-05  4:28     ` Zheng, Lv
2017-06-06 10:31     ` Benjamin Tissoires
2017-06-06 10:31       ` Benjamin Tissoires
2017-06-01 18:46 ` [WIP PATCH 4/4] ACPI: button: Fix lid notification locks Benjamin Tissoires
2017-06-05  3:33   ` Zheng, Lv
2017-06-05  3:33     ` Zheng, Lv
2017-06-06 10:29     ` Benjamin Tissoires
2017-06-06 10:29       ` Benjamin Tissoires
2017-06-07  9:47       ` Zheng, Lv
2017-06-07  9:47         ` Zheng, Lv
2017-06-01 21:43 ` [WIP PATCH 0/4] Rework the unreliable LID switch exported by ACPI Bastien Nocera
2017-06-02  7:24   ` Benjamin Tissoires
2017-06-05  2:25 ` Zheng, Lv
2017-06-05  2:25   ` Zheng, Lv
2017-06-07  7:48 ` Lennart Poettering
2017-06-07  7:48   ` [systemd-devel] " Lennart Poettering
2017-06-13 10:06   ` Benjamin Tissoires
2017-06-13 10:06     ` [systemd-devel] " Benjamin Tissoires
2017-06-15  2:52     ` Zheng, Lv
2017-06-15  2:52       ` Zheng, Lv
2017-06-15  6:47       ` Peter Hutterer
2017-06-15  6:47         ` Peter Hutterer
2017-06-15  7:33         ` Zheng, Lv
2017-06-15  7:33           ` Zheng, Lv
2017-06-15  7:57           ` Peter Hutterer
2017-06-15  7:57             ` Peter Hutterer
2017-06-16  5:37             ` Zheng, Lv
2017-06-16  5:37               ` Zheng, Lv
2017-06-16  7:23               ` Benjamin Tissoires
2017-06-16  7:23                 ` Benjamin Tissoires
2017-06-16  7:45                 ` Zheng, Lv
2017-06-16  7:45                   ` Zheng, Lv
2017-06-16  8:09                   ` Benjamin Tissoires
2017-06-16  8:09                     ` [systemd-devel] " Benjamin Tissoires
2017-06-16  8:53                     ` Zheng, Lv
2017-06-16  8:53                       ` Zheng, Lv
2017-06-16  9:06                       ` Bastien Nocera
2017-06-16  9:06                         ` Bastien Nocera
2017-06-16  9:06                         ` Bastien Nocera
2017-06-16 16:32                         ` Lennart Poettering
2017-06-16 16:32                           ` Lennart Poettering
2017-06-19  2:16                           ` Zheng, Lv
2017-06-19  2:16                             ` Zheng, Lv
2017-06-19  1:43                         ` Zheng, Lv
2017-06-19  1:43                           ` Zheng, Lv
2017-06-19 22:08                           ` Bastien Nocera
2017-06-19 22:08                             ` [systemd-devel] " Bastien Nocera
2017-06-20  2:45                             ` Zheng, Lv
2017-06-20  2:45                               ` Zheng, Lv
2017-06-21 10:23                               ` Bastien Nocera
2017-06-21 10:23                                 ` Bastien Nocera
2017-06-22  3:16                                 ` Zheng, Lv
2017-06-22  3:16                                   ` Zheng, Lv
2017-06-14 23:50   ` Zheng, Lv [this message]
2017-06-14 23:50     ` Zheng, Lv

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1AE640813FDE7649BE1B193DEA596E886CED024F@SHSMSX101.ccr.corp.intel.com \
    --to=lv.zheng@intel.com \
    --cc=benjamin.tissoires@redhat.com \
    --cc=len.brown@intel.com \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-input@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mzxreary@0pointer.de \
    --cc=peter.hutterer@who-t.net \
    --cc=rafael.j.wysocki@intel.com \
    --cc=rjw@rjwysocki.net \
    --cc=systemd-devel@lists.freedesktop.org \
    --cc=zetalog@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.