Messages in this thread | | | Date | Tue, 17 Dec 2013 07:34:57 -0500 | From | Tejun Heo <> | Subject | Re: [PATCH] libata, freezer: avoid block device removal while system is frozen |
| |
Hello, Rafael.
On Tue, Dec 17, 2013 at 03:34:00AM +0100, Rafael J. Wysocki wrote: > No, it isn't. [I guess it was originally, but it has not been the case > for a very long time.] It is about getting user space interactions (all of
Heh... no wonder people are all so confused about this thing.
> the sysfs/ioctl/mmap/read/write/you-name-it thingies user space can do to > devices) when we're calling device suspend/resume routines. The reason is > that otherwise all of them would have had to do a "oh, are we suspending by > the way?" check pretty much on every code path that can be triggered by > user space.
Freezing userland is fine. I have no problem with that but up until now the only use case that seems fundamentally valid to me is freezing IO processing kthread in a driver as a cheap way to implement suspend/resume. At this point, given the general level of confusion, it seems to be costing more than benefiting.
> > Does that mean that it's safe to unfreeze before invoking resume? > > No, it isn't.
So, are you saying it's really about giving device drivers easy way to implement suspend/resume? If that's the case, let's please make it *way* more specific and clear - ie. things like helpers to implement suspend/resume hooks trivially or whatnot. Freezable kthreads (and now workqueues) have been becoming a giant mess for a while now.
Thanks.
-- tejun
| |