> On Monday, 23 July 2007 12:24, Miklos Szeredi wrote: > > > > The only thing to do is what Rafael has been working on: unfreeze > > > > things, hope the tasks sort themselves out, and try again. > > > > > > That's what I'm questioning. Is there a more reliable way and we've > > > just given up too quickly? > > > > There obviously _are_ more reliable ways. A trivial one seems to be > > to just not require user tasks to finish syscalls. > > > > Yeah, stopping user processes outside the kernel is convenient, but > > there's no fundamental reason why it is the only place where those > > tasks can be stopped. > > The reason is that we want them to "park" in safe places, ie. where there > are no locks held etc. Thus, these safe places need to be chosen somehow > and since they are not marked throughout the code, we choose the obvious > one. :-) Why shouldn't locks be held? No locks which are required for suspend must be held, sure. But otherwise holding locks doesn't matter at all. And I'm not saying that is trivial to do, but it might not be too hard either. Rafael, can you please tell, what happened to that patch, that did not wait for tasks in uninterruptible sleep to be frozen? That seemed like a magnificent approach compared to anything that has been proposed since. Miklos _______________________________________________ linux-pm mailing list linux-pm@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/linux-pm