xfs: correctly acount for reclaimable slabs
authorDave Chinner <dchinner@redhat.com>
Wed, 25 Mar 2020 03:10:28 +0000 (20:10 -0700)
committerDarrick J. Wong <darrick.wong@oracle.com>
Fri, 27 Mar 2020 15:32:54 +0000 (08:32 -0700)
The XFS inode item slab actually reclaimed by inode shrinker
callbacks from the memory reclaim subsystem. These should be marked
as reclaimable so the mm subsystem has the full picture of how much
memory it can actually reclaim from the XFS slab caches.

Signed-off-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Brian Foster <bfoster@redhat.com>
Reviewed-by: Allison Collins <allison.henderson@oracle.com>
Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
fs/xfs/xfs_super.c

index 2094386af8aca045021964dce6a8295f4ef3ef34..68fea439d97432f54f9f241a73c77365e852340a 100644 (file)
@@ -1861,7 +1861,8 @@ xfs_init_zones(void)
 
        xfs_ili_zone = kmem_cache_create("xfs_ili",
                                         sizeof(struct xfs_inode_log_item), 0,
-                                        SLAB_MEM_SPREAD, NULL);
+                                        SLAB_RECLAIM_ACCOUNT | SLAB_MEM_SPREAD,
+                                        NULL);
        if (!xfs_ili_zone)
                goto out_destroy_inode_zone;