Re: [RFC][PATCH -mm 3/3] PM: Disable _request_firmware before hibernation/suspend

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Rob Landley
Date: Tuesday, May 29, 2007 - 3:51 pm

On Monday 28 May 2007 4:48 am, Michael-Luke Jones wrote:

I'd love to write up documentation on this if anybody can tell me what it 
should say. :)


And for block devices ala:
https://bugs.launchpad.net/ubuntu/dapper/+source/initramfs-tools/+bug/74004
https://issues.rpath.com/browse/RPL-1350

The first use could be "mount" or open of the block device under /dev.  So now 
you have the mount and open syscalls returning -ENOFIRMWARE.  This is not a 
small change.


Userspace doesn't have to register a hotplug handler: /sys/hotplug is the 
default and if there is one in initramfs it should get called.  You shouldn't 
have to wait for init to run for this to be the case.

I believe the initramfs cpio archive used to get extracted just before the 
attempt to exec /init out of it, and that it was moved to much earlier in the 
boot process so that firmware loading could be done out of it for statically 
linked drivers.

Look at do_basic_setup() in init/main.c: notice how usermodehelper_init() gets 
called right before driver_init().  Ask yourself: "why did it do that"?  
Notice how rest_init() forks the first kernel thread (PID 1) to run 
kernel_init(), and then becomes PID 0 (the idle task).  So from kernel_init() 
it's ok to spawn all the new tasks we want because they can't take any 
reserved PIDs.


Because of course every userspace utility in the world will immediately be 
rewritten to provide clear and informative error messages for this race 
condition corner case.

Somehow, I can't bring myself to believe this.


Why would you make two different code paths for module load and first use?


Happy to.  I'm just trying to figure out what the correct behavior is so I can 
document it.

Rob
-
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[RFC][PATCH -mm 0/3] PM: Hibernation and suspend notifiers, Rafael J. Wysocki, (Sun May 27, 1:29 pm)
[RFC][PATCH -mm 1/3] PM: Hibernation and suspend notifiers, Rafael J. Wysocki, (Sun May 27, 1:30 pm)
[RFC][PATCH -mm 2/3] PM: Disable usermode helper before hi ..., Rafael J. Wysocki, (Sun May 27, 1:30 pm)
[RFC][PATCH -mm 3/3] PM: Disable _request_firmware before ..., Rafael J. Wysocki, (Sun May 27, 1:31 pm)
Re: [RFC][PATCH -mm 3/3] PM: Disable _request_firmware bef ..., Michael-Luke Jones, (Sun May 27, 1:45 pm)
Re: [RFC][PATCH -mm 3/3] PM: Disable _request_firmware bef ..., Rafael J. Wysocki, (Sun May 27, 2:45 pm)
Re: [RFC][PATCH -mm 3/3] PM: Disable _request_firmware bef ..., Rafael J. Wysocki, (Sun May 27, 2:55 pm)
Re: [RFC][PATCH -mm 3/3] PM: Disable _request_firmware bef ..., Rafael J. Wysocki, (Sun May 27, 3:01 pm)
Re: [RFC][PATCH -mm 3/3] PM: Disable _request_firmware bef ..., Rafael J. Wysocki, (Mon May 28, 12:43 am)
Re: [RFC][PATCH -mm 3/3] PM: Disable _request_firmware bef ..., Rafael J. Wysocki, (Mon May 28, 12:44 am)
Re: [RFC][PATCH -mm 3/3] PM: Disable _request_firmware bef ..., Michael-Luke Jones, (Mon May 28, 1:48 am)
Re: [RFC][PATCH -mm 3/3] PM: Disable _request_firmware bef ..., Michael-Luke Jones, (Mon May 28, 3:26 am)
Re: [RFC][PATCH -mm 3/3] PM: Disable _request_firmware bef ..., Michael-Luke Jones, (Mon May 28, 3:41 am)
Re: [RFC][PATCH -mm 3/3] PM: Disable _request_firmware bef ..., Rafael J. Wysocki, (Mon May 28, 4:22 am)
Re: [RFC][PATCH -mm 3/3] PM: Disable _request_firmware bef ..., Rafael J. Wysocki, (Mon May 28, 4:28 am)
Re: [RFC][PATCH -mm 3/3] PM: Disable _request_firmware bef ..., Michael-Luke Jones, (Mon May 28, 4:38 am)
Re: [RFC][PATCH -mm 3/3] PM: Disable _request_firmware bef ..., Michael-Luke Jones, (Mon May 28, 5:07 am)
Re: [RFC][PATCH -mm 3/3] PM: Disable _request_firmware bef ..., Michael-Luke Jones, (Mon May 28, 5:26 am)
Re: [RFC][PATCH -mm 3/3] PM: Disable _request_firmware bef ..., Michael-Luke Jones, (Mon May 28, 6:10 am)
Re: [RFC][PATCH -mm 1/3] PM: Hibernation and suspend notifiers, Rafael J. Wysocki, (Mon May 28, 10:26 am)
Re: [RFC][PATCH -mm 1/3] PM: Hibernation and suspend notifiers, Rafael J. Wysocki, (Mon May 28, 10:29 am)
Re: [RFC][PATCH -mm 3/3] PM: Disable _request_firmware bef ..., Rafael J. Wysocki, (Mon May 28, 10:43 am)
Re: [RFC][PATCH -mm 1/3] PM: Hibernation and suspend notifiers, Rafael J. Wysocki, (Tue May 29, 3:24 pm)
Re: [RFC][PATCH -mm 3/3] PM: Disable _request_firmware bef ..., Rob Landley, (Tue May 29, 3:51 pm)
Re: [RFC][PATCH -mm 1/3] PM: Hibernation and suspend notifiers, Rafael J. Wysocki, (Wed May 30, 1:44 pm)
Re: [RFC][PATCH -mm 1/3] PM: Hibernation and suspend notifiers, Rafael J. Wysocki, (Wed May 30, 2:11 pm)
Re: [RFC][PATCH -mm 1/3] PM: Hibernation and suspend notifiers, Rafael J. Wysocki, (Wed May 30, 10:42 pm)
Re: [RFC][PATCH -mm 1/3] PM: Hibernation and suspend notifiers, Rafael J. Wysocki, (Wed May 30, 10:44 pm)
Re: [RFC][PATCH -mm 1/3] PM: Hibernation and suspend notifiers, Rafael J. Wysocki, (Thu May 31, 1:02 pm)
Re: [RFC][PATCH -mm 1/2] PM: Introduce hibernation and sus ..., Rafael J. Wysocki, (Mon Jun 4, 12:56 am)