>From: Alan Stern [mailto:stern@xxxxxxxxxxxxxxxxxxx] >It can't. Indeed, in the absence of a freezer, user threads will need >devices (more accurately, will submit I/O requests for devices) that >have to be kept quiescent or low-power. Drivers will need to delay >those requests until the devices are returned to full operation. > >That's exactly what I've been saying all along: Drivers will need to >be changed to delay I/O requests, if there is no freezer. If it is a too big work to implement "delaying I/O requests" for every driver, is it possible to implement it as follow: 1. It is triggered to suspend to RAM/DISK. 2. Replace the driver related syscall entries (such as sys_read, sys_write, sys_ioctl, etc) in sys_call_table with special wrapper entries provided by "suspend to RAM/DISK" subsystem, which will delay I/O requests if appropriate. 3. When devices are quiesced, they are put into "low power" state and system is put into suspend state; or the image is written to disk (through snapshot/uswsusp or kexeced kernel). 4. After resuming from RAM/DISK, devices are put into "normal" state and the syscall entries replaced in step 2 are restored. Best Regards, Huang Ying _______________________________________________ linux-pm mailing list linux-pm@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/linux-pm