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

From: KOSAKI Motohiro
Date: Sun Oct 26 2008 - 23:15:18 EST


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



--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/