From: YASUAKI ISHIMATSU <yasu.isimatu@gmail.com>
To: joeyli <jlee@suse.com>
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>,
Michal Hocko <mhocko@kernel.org>
Subject: Re: A udev rule to serve the change event of ACPI container?
Date: Tue, 1 Aug 2017 15:21:38 -0400 [thread overview]
Message-ID: <b6802e30-cb1e-5fa8-6afc-09b4e05d78c9@gmail.com> (raw)
In-Reply-To: <20170723060248.GA3034@linux-l9pv.suse>
Hi Joey,
On 07/23/2017 05:18 AM, joeyli wrote:
> Hi Yasuaki,
>
> On Fri, Jul 14, 2017 at 10:44:14PM +0800, joeyli wrote:
>> On Fri, Jul 14, 2017 at 10:37:13AM +0200, Michal Hocko wrote:
>>> On Thu 13-07-17 20:45:21, Joey Lee wrote:
>>>> On Thu, Jul 13, 2017 at 09:06:19AM +0200, Michal Hocko wrote:
>>>>> On Thu 13-07-17 14:58:06, Joey Lee wrote:
>>> [...]
>>>>>> If BIOS emits ejection event for a ACPI0004 container, someone needs
>>>>>> to handle the offline/eject jobs of container. Either kernel or user
>>>>>> space.
>>>>>>
>>>>>> Only sending uevent to individual child device can simplify udev rule,
>>>>>> but it also means that the kernel needs to offline/eject container
>>>>>> after all children devices are offlined.
>>>>>
>>>>> Why cannot kernel send this eject command to the BIOS if the whole
>>>>> container is offline? If it is not then the kernel would send EBUSY to
>>>>
>>>> Current kernel container hot-remove process:
>>>>
>>>> BIOS -> SCI event -> Kernel ACPI -> uevent -> userland
>>>>
>>>> Then, kernel just calls _OST to expose state to BIOS, then process is
>>>> stopped. Kernel doesn't wait there for userland to offline each child
>>>> devices. Either BIOS or userland needs to trigger the container
>>>> ejection.
>>>>
>>>>> container is offline? If it is not then the kernel would send EBUSY to
>>>>> the BIOS and BIOS would have to retry after some timeout. Or is it a
>>>>
>>>> The d429e5c122 patch is merged to mainline. So kernel will send
>>>> DEVICE_BUSY to BIOS after it emits uevent to userland. BIOS can choice
>>>> to apply the retry approach until OS returns process failure exactly or
>>>> BIOS timeout.
>>>>
>>>>> problem that currently implemented BIOS firmwares do not implement this
>>>>> retry?
>>>>
>>>> Yes, we should consider the behavior of old BIOS. Old BIOS doesn't
>>>> retry/resend the ejection event. So kernel or userland need to take the
>>>> retry job. Obviously userland runs the retry since the caa73ea15 patch
>>>> is merged.
>>>>
>>>> IMHO there have two different expectation from user space application.
>>>>
>>>> Applications like DVD player or Burner expect that kernel should
>>>> info userspace for the ejection, then application can do their cleaning
>>>> job and re-trigger ejection from userland.
>>>
>>> I am not sure I understand the DVD example because I do not see how it
>>> fits into the container and online/offline scenario.
>>>
>>
>> At least Yasuaki raised similar behavior for container in 2013.
>> It's similar to the DVD player case, user space application needs
>> to do something then trigger children offline and ejection of
>> container.
>>
>> Base on Yasuaki's explanation, the reason of that he requested the
>> userland ejection approach is that he got memory hot-remove problem
>> in 2013. Maybe his problem is already fixed by your patches in current
>> mainline.
>>
>> Hi Yasuaki, could you please check that your memory hot-remove problem
>> is fixed on mainline kernel?
I cannot remember what I mentioned in 2013. Could you tell me url of lkml archive.
Thanks,
Yasuaki Ishimatsu
>>
>> If Yasuaki's issue is already fixed, then we should consider to let
>> kernel does the container hot-remove transparently.
>
> Could you please help to check that your memory hot-remove problem in 2013
> is fixed on mainline kernel?
>
> Thanks a lot!
> Joey Lee
>
next prev parent reply other threads:[~2017-08-01 19:21 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
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 [this message]
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=b6802e30-cb1e-5fa8-6afc-09b4e05d78c9@gmail.com \
--to=yasu.isimatu@gmail.com \
--cc=isimatu.yasuaki@jp.fujitsu.com \
--cc=jlee@suse.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox