Re: [PATCH] mm/vmscan: Do not block forever at shrink_inactive_list().

Christoph Hellwig
2014-05-20T07:21:11Z

On Mon, May 19, 2014 at 10:59:15PM -0700, Andrew Morton wrote:
> So current_is_kswapd() returns true for a thread which is not kswapd.
> That's a bit smelly.
>
> Should this thread really be incrementing KSWAPD_INODESTEAL instead of
> PGINODESTEAL, for example? current_is_kswapd() does a range of things,
> only one(?) of which you actually want.

Actually we want all of them. The allocation workqueue is a workaround
for the incredible stack usage in the Linux I/O path. If it is called
by kswapd it should act as if it were kswapd for all purposes.