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

Mel Gorman
2011-07-25T08:19:31Z

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