xfs
[Top] [All Lists]

[PATCH 0/7 V2] xfs: use generic percpu counters for icsb

To: xfs@xxxxxxxxxxx
Subject: [PATCH 0/7 V2] xfs: use generic percpu counters for icsb
From: Dave Chinner <david@xxxxxxxxxxxxx>
Date: Thu, 5 Feb 2015 07:54:02 +1100
Delivered-to: xfs@xxxxxxxxxxx
Hi folks,

This is the second version of the generic per-cpu counter rework
patch series. The first version can be found here:

http://oss.sgi.com/archives/xfs/2015-02/msg00000.html

New in V2:

- drop the moving of the struct xfs_sb to xfs_super.h
- fixed all the little things that Christoph and Brian noted.
- keep the per-cpu counters in the struct xfs_mount and keep the
  functions to sync them with the struct xfs_sb values when read
  from disk or written to disk.
- integrated Christoph Hellwig's additional cleanup patch. This was
  done by:
        - intergating xfs_mod_XXX factoring into the relevant percpu
          counter conversion patch
        - separating out xfs_mod_frextents into it's won patch
        - separating out the replacement of
          xfs_mod_incore_sb_batched
        - doing all the now unused API removal in a separate patch

The series passes xfstests without regressions, and no scalability
issues have been seen in my performance tests on a 16p VM. SGI - you
still need to test this, though. :)

Thoughts, comments?

-Dave.

PS: diffstat of the series is now:

 fs/xfs/libxfs/xfs_bmap.c   |  40 +--
 fs/xfs/libxfs/xfs_format.h |  62 ----
 fs/xfs/libxfs/xfs_ialloc.c |   6 +-
 fs/xfs/libxfs/xfs_sb.c     |  12 +-
 fs/xfs/xfs_fsops.c         |  20 +-
 fs/xfs/xfs_iomap.c         |   3 +-
 fs/xfs/xfs_linux.h         |   9 -
 fs/xfs/xfs_log_recover.c   |   4 +-
 fs/xfs/xfs_mount.c         | 919 
++++++-----------------------------------------
 fs/xfs/xfs_mount.h         |  95 +----
 fs/xfs/xfs_super.c         | 103 ++++--
 fs/xfs/xfs_super.h         |   2 +
 fs/xfs/xfs_trans.c         | 234 +++++++-----
 13 files changed, 381 insertions(+), 1128 deletions(-)

So we have a net reduction of roughly 750 lines of code.  When
combined with the changes to the superblock logging that has already
been committed, we have reduced the superblock modification code by
close to 1000 lines compared to 3.19...

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