lkml.org 
[lkml]   [2006]   [Dec]   [9]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
/
DateSat, 9 Dec 2006 11:47:23 -0800
FromAndrew Morton <>
SubjectRe: workqueue deadlock
On Sat, 9 Dec 2006 11:26:52 +0100
Ingo Molnar <mingo@elte.hu> wrote:

> 
> * Andrew Morton <akpm@osdl.org> wrote:
> 
> > > > +		if (cpu != -1)
> > > > +			mutex_lock(&workqueue_mutex);
> > > 
> > > events/4 thread itself wanting the same mutex above?
> > 
> > Could do, not sure.  I'm planning on converting all the locking around 
> > here to preempt_disable() though.
> 
> please at least use an owner-recursive per-CPU lock,

a wot?

> not a naked 
> preempt_disable()! The concurrency rules for data structures changed via 
> preempt_disable() are quite hard to sort out after the fact. 
> (preempt_disable() is too opaque,

preempt_disable() is the preferred way of holding off cpu hotplug.

> it doesnt attach data structure to 
> critical section, like normal locks do.)

the data structure is the CPU, and its per-cpu data.  And cpu_online_map.
-
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/

\
 
 \ /
  Last update: 2006-12-09 20:51    [from the cache]
©2003-2008