From: joeyli <jlee@suse.com>
To: Michal Hocko <mhocko@kernel.org>
Cc: Yasuaki Ishimatsu <isimatu.yasuaki@jp.fujitsu.com>,
linux-acpi@vger.kernel.org, linux-kernel@vger.kernel.org,
"Rafael J. Wysocki" <rafael.j.wysocki@intel.com>
Subject: Re: A udev rule to serve the change event of ACPI container?
Date: Mon, 24 Jul 2017 17:29:21 +0800 [thread overview]
Message-ID: <20170724092921.GF3034@linux-l9pv.suse> (raw)
In-Reply-To: <20170724085702.GE25221@dhcp22.suse.cz>
On Mon, Jul 24, 2017 at 10:57:02AM +0200, Michal Hocko wrote:
> On Wed 19-07-17 17:09:10, Joey Lee wrote:
> > On Mon, Jul 17, 2017 at 11:05:25AM +0200, Michal Hocko wrote:
> [...]
> > > The problem I have with this expectation is that userspace will never
> > > have a good atomic view of the whole container. So it can only try to
> >
> > I agreed!
> >
> > Even a userspace application can handle part of offline jobs. It's
> > still possible that other kernel/userland compenents are using the
> > resource in container.
> >
> > > eject and then hope that nobody has onlined part of the container.
> > > If you emit offline event to the userspace the cleanup can be done and
> > > after the last component goes offline then the eject can be done
> > > atomically.
> >
> > The thing that we didn't align is how does kernel maintains the flag
> > of ejection state on container.
>
> Why it cannot be an attribute of the container? The flag would be set
> when the eject operation is requested and cleared when either the
> operation is successful (all parts offline and eject operation acked
> by the BIOS) or it is terminated.
>
For the success case, yes, we can clear the flag when the _EJ0 of container
is success. But for the fail case, we don't know when the operation is
terminated.
> [...]
> > Base on the above figure, if userspace didn't do anything or it
> > just performs part of offline jobs. Then the container's [eject]
> > state will be always _SET_ there, and kernel will always check
> > the the latest child offline state when any child be offlined
> > by userspace.
>
> What is a problem about that? The eject is simply in progress until all
> is set. Or maybe I just misunderstood.
>
I agree, but it's only for success case. For fail case, kernel can not
wait forever. Can we?
> >
> > On the other hand, for retry BIOS, we will apply the same
> > _eject_ flag approach on retry BIOS. If the OS performs
> > offline/ejection jobs too long then the retry BIOS is finally
> > time out. There doesn't have way for OS to aware the timeout.
>
> Doesn't BIOS notify the OS that the eject has timed out?
>
No, there doesn't have interface to notify OS for BIOS time out.
Thanks a lot!
Joey Lee
next prev parent reply other threads:[~2017-07-24 9:29 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-06-26 6:26 A udev rule to serve the change event of ACPI container? joeyli
2017-06-26 8:59 ` Michal Hocko
2017-07-11 8:25 ` Michal Hocko
2017-07-13 6:58 ` joeyli
2017-07-13 7:06 ` Michal Hocko
2017-07-13 12:45 ` joeyli
2017-07-14 8:37 ` Michal Hocko
2017-07-14 14:44 ` joeyli
2017-07-17 9:05 ` Michal Hocko
2017-07-19 9:09 ` joeyli
2017-07-24 8:57 ` Michal Hocko
2017-07-24 9:29 ` joeyli [this message]
2017-07-25 12:48 ` Michal Hocko
2017-07-31 7:38 ` joeyli
2017-08-02 9:01 ` Michal Hocko
2017-08-03 9:22 ` joeyli
2017-08-03 9:31 ` Michal Hocko
2017-08-03 9:52 ` joeyli
2017-08-03 11:25 ` Michal Hocko
2017-07-23 9:18 ` joeyli
2017-08-01 19:21 ` YASUAKI ISHIMATSU
2017-08-02 5:49 ` joeyli
2017-08-03 15:37 ` YASUAKI ISHIMATSU
2017-08-04 15:06 ` Michal Hocko
2017-08-15 10:04 ` joeyli
2017-06-28 19:53 ` YASUAKI ISHIMATSU
2017-06-29 3:57 ` joeyli
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=20170724092921.GF3034@linux-l9pv.suse \
--to=jlee@suse.com \
--cc=isimatu.yasuaki@jp.fujitsu.com \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mhocko@kernel.org \
--cc=rafael.j.wysocki@intel.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.