xfs
[Top] [All Lists]

Re: [PATCH 2/8] xfs: Warn if direct reclaim tries to writeback pages

To: Christoph Hellwig <hch@xxxxxxxxxxxxx>
Subject: Re: [PATCH 2/8] xfs: Warn if direct reclaim tries to writeback pages
From: Mel Gorman <mgorman@xxxxxxx>
Date: Mon, 25 Jul 2011 09:19:18 +0100
Cc: Linux-MM <linux-mm@xxxxxxxxx>, Rik van Riel <riel@xxxxxxxxxx>, Jan Kara <jack@xxxxxxx>, LKML <linux-kernel@xxxxxxxxxxxxxxx>, XFS <xfs@xxxxxxxxxxx>, Minchan Kim <minchan.kim@xxxxxxxxx>, Wu Fengguang <fengguang.wu@xxxxxxxxx>, Johannes Weiner <jweiner@xxxxxxxxxx>
In-reply-to: <20110724113200.GA26332@xxxxxxxxxxxxx>
References: <1311265730-5324-1-git-send-email-mgorman@xxxxxxx> <1311265730-5324-3-git-send-email-mgorman@xxxxxxx> <20110724113200.GA26332@xxxxxxxxxxxxx>
User-agent: Mutt/1.5.21 (2010-09-15)
On Sun, Jul 24, 2011 at 07:32:00AM -0400, Christoph Hellwig wrote:
> On Thu, Jul 21, 2011 at 05:28:44PM +0100, Mel Gorman wrote:
> > --- a/fs/xfs/linux-2.6/xfs_aops.c
> > +++ b/fs/xfs/linux-2.6/xfs_aops.c
> > @@ -930,12 +930,13 @@ xfs_vm_writepage(
> >      * random callers for direct reclaim or memcg reclaim.  We explicitly
> >      * allow reclaim from kswapd as the stack usage there is relatively low.
> >      *
> > -    * This should really be done by the core VM, but until that happens
> > -    * filesystems like XFS, btrfs and ext4 have to take care of this
> > -    * by themselves.
> > +    * This should never happen except in the case of a VM regression so
> > +    * warn about it.
> >      */
> > -   if ((current->flags & (PF_MEMALLOC|PF_KSWAPD)) == PF_MEMALLOC)
> > +   if ((current->flags & (PF_MEMALLOC|PF_KSWAPD)) == PF_MEMALLOC) {
> > +           WARN_ON_ONCE(1);
> >             goto redirty;
> 
> The nicer way to write this is
> 
>       if (WARN_ON(current->flags & (PF_MEMALLOC|PF_KSWAPD)) == PF_MEMALLOC)
>               goto redirty;
> 

I wanted to avoid side effects if WARN_ON was compiled out similar to
the care that is normally taken for BUG_ON but it's unnecessary and
your version is far tidier. Do you really want WARN_ON used instead
of WARN_ON_ONCE()?

-- 
Mel Gorman
SUSE Labs

<Prev in Thread] Current Thread [Next in Thread>