Messages in this thread | | | Date | Mon, 8 Jan 2007 21:26:56 -0800 | From | Andrew Morton <> | Subject | Re: [PATCH] flush_cpu_workqueue: don't flush an empty ->worklist |
| |
On Tue, 9 Jan 2007 10:34:17 +0530 Srivatsa Vaddagiri <vatsa@in.ibm.com> wrote:
> On Mon, Jan 08, 2007 at 03:54:28PM -0800, Andrew Morton wrote: > > Furthermore I don't know which of these need to be tossed overboard if/when > > we get around to using the task freezer for CPU hotplug synchronisation. > > Hopefully, a lot of them. I don't really understand why we're continuing > > to struggle with the existing approach before that question is settled. > > Good point! > > Fundamentally, I think we need to answer this question: > > "Do we provide *some* mechanism to block concurrent hotplug operations > from happening? By hotplug operations I mean both changes to the bitmap > and execution of all baclbacks in CPU_DEAD/ONLINE etc" > > If NO, then IMHO we will be forever fixing races > > If YES, then what is that mechanism? freeze_processes()? or a magical > lock? > > freeze_processes() cant be that mechanism, if my understanding of it is > correct - see http://lkml.org/lkml/2007/1/8/149
That's not correct. freeze_processes() will freeze *all* processes. All of them are forced to enter refrigerator(). With the mysterious exception of some I/O-related kernel threads, which might need some thought.
> and > http://marc.theaimsgroup.com/?l=linux-kernel&m=116817460726058.
Am not sure how that's related.
> I would be happy to be corrected if the above impression of > freeze_processes() is corrected ..
It could be that the freezer needs a bit of work for this application. Obviously we're not interested in the handling of disk I/O, so we'd really like to do a simple try_to_freeze_tasks(FREEZER_USER_SPACE|FREEZER_KERNEL_THREADS), but the code isn't set up to do that (it should be). The other non-swsusp callers probably want this change as well. But that's all a minor matter.
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |