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

KOSAKI Motohiro
2008-10-27T03:14:54Z

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

So I think we have two choices (nick explained it at this thread).

(1) own workqueue (the patch)
(2) avoid lru_add_drain_all completely

if you really strongly hate (1), we should target to (2) IMO.

Thought?