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

KOSAKI Motohiro
2008-10-27T08:05:23Z

> 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.

Yeah, I found its thread. (I think it is "work_on_cpu: helper for doing task on a CPU.", right?)
So I'll read it soon.

Please wait a bit.

>
> 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?