xfs
[Top] [All Lists]

[PATCH] xfs: allow writeback from kswapd

To: xfs@xxxxxxxxxxx
Subject: [PATCH] xfs: allow writeback from kswapd
From: Christoph Hellwig <hch@xxxxxxxxxxxxx>
Date: Mon, 28 Jun 2010 10:34:44 -0400
User-agent: Mutt/1.5.20 (2009-08-17)
We only need disable I/O from direct or memcg reclaim.

Signed-off-by: Christoph Hellwig <hch@xxxxxx>

Index: xfs-dev/fs/xfs/linux-2.6/xfs_aops.c
===================================================================
--- xfs-dev.orig/fs/xfs/linux-2.6/xfs_aops.c    2010-06-28 11:57:06.652261386 
+0200
+++ xfs-dev/fs/xfs/linux-2.6/xfs_aops.c 2010-06-28 11:59:17.846068204 +0200
@@ -1049,16 +1049,15 @@ xfs_vm_writepage(
        /*
         * Refuse to write the page out if we are called from reclaim context.
         *
-        * This is primarily to avoid stack overflows when called from deep
-        * used stacks in random callers for direct reclaim, but disabling
-        * reclaim for kswap is a nice side-effect as kswapd causes rather
-        * suboptimal I/O patters, too.
+        * This avoids stack overflows when called from deeply used stacks in
+        * 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.
         */
-       if (current->flags & PF_MEMALLOC)
+       if ((current->flags & (PF_MEMALLOC|PF_KSWAPD)) == PF_MEMALLOC)
                goto out_fail;
 
        /*

<Prev in Thread] Current Thread [Next in Thread>
  • [PATCH] xfs: allow writeback from kswapd, Christoph Hellwig <=