Re: [RFC][PATCH] lru_add_drain_all() don't use schedule_on_each_cpu()

Peter Zijlstra
2008-10-27T07:56:30Z

On Mon, 2008-10-27 at 12:14 +0900, KOSAKI Motohiro wrote:
> > Right, and would be about 4k+sizeof(task_struct), some people might be
> > bothered, but most won't care.
> >
> > > Perhaps, I misunderstand your intension. so can you point your
> > > previous discussion url?
> >
> > my google skillz fail me, but once in a while people complain that we
> > have too many kernel threads.
> >
> > Anyway, if we can re-use this per-cpu workqueue for more goals, I guess
> > there is even less of an objection.
>
> In general, you are right.
> but this is special case. mmap_sem is really widely used various subsystem and drivers.
> (because page fault via copy_user introduce to depend on mmap_sem)
>
> Then, any work-queue reu-sing can cause similar dead-lock easily.

Yeah, I know, and the cpu-hotplug discussion needed another thread due
to yet another locking incident. I was hoping these two could go
together.

Neither are general-purpose workqueues, both need to stay away from the
normal eventd due to deadlocks.

ego, does you extra thread ever use mmap_sem?