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

Tetsuo Handa
2014-05-20T03:56:07Z

Dave Chinner wrote:
> So, XFS should be passing kswapd context to the workqueue allocation
> context. The patch below does this.
>
> Tetsuo-san, when it comes to problems involving XFS, you should
> really CC xfs@oss.sgi.com because very few people really know how
> XFS works and even fewer still know how it is supposed to interact
> with memory reclaim....

Thank you for the patch, but ...

#define PF_KSWAPD 0x00040000 /* I am kswapd */

static inline int current_is_kswapd(void)
{
return current->flags & PF_KSWAPD;
}

I think ((char) (current->flags & 0x00040000)) == 0.
Your patch wants

-args->kswapd = current_is_kswapd();
+args->kswapd = (current_is_kswapd() != 0);