On Thu 24-08-17 16:12:47, Anshuman Khandual wrote:
> xfs_btree_split() calls xfs_btree_split_worker() with args.kswapd set
> if current->flags alrady has PF_KSWAPD. Hence we should not again add
> PF_KSWAPD into the current flags inside kswapd context. So drop this
> redundant flag addition.

I am not familiar with the code but your change seems incorect. The
whole point of args->kswapd is to convey the kswapd context to the
worker which is obviously running in a different context. So this patch
loses the kswapd context.

> Signed-off-by: Anshuman Khandual <khand...@linux.vnet.ibm.com>
> ---
>  fs/xfs/libxfs/xfs_btree.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/fs/xfs/libxfs/xfs_btree.c b/fs/xfs/libxfs/xfs_btree.c
> index e0bcc4a..b3c85e3 100644
> --- a/fs/xfs/libxfs/xfs_btree.c
> +++ b/fs/xfs/libxfs/xfs_btree.c
> @@ -2895,7 +2895,7 @@ struct xfs_btree_split_args {
>        * in any way.
>        */
>       if (args->kswapd)
> -             new_pflags |= PF_MEMALLOC | PF_SWAPWRITE | PF_KSWAPD;
> +             new_pflags |= PF_MEMALLOC | PF_SWAPWRITE;
>  
>       current_set_flags_nested(&pflags, new_pflags);
>  
> -- 
> 1.8.5.2

-- 
Michal Hocko
SUSE Labs

Reply via email to