Messages in this thread | | | Date | Wed, 3 Mar 2010 21:48:39 -0500 (EST) | From | Alan Stern <> | Subject | Re: [linux-pm] Is it supposed to be ok to call del_gendisk while userspace is frozen? |
| |
On Thu, 4 Mar 2010, Rafael J. Wysocki wrote:
> > Very well. Then we still need a solution to the original problem: > > Devices sometimes need to be unregistered during resume, but > > del_gendisk() blocks on the writeback thread, which is frozen until > > after the resume finishes. How do you suggest this be fixed? > > I thought about thawing the writeback thread earlier in such cases. > > Would that makes sense / is it doable at all?
My thought exactly. This is the only approach that also solves the following race:
A driver is unloaded at the same time as a suspend starts.
The writeback thread gets frozen.
Then before the rmmod thread is frozen, it calls del_gendisk.
Delaying things by means of a workqueue (or the equivalent) might also work, but it doesn't seem as safe. For example, some important writebacks might end up getting delayed until too late.
Alan Stern
| |