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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Feb 05, 2015 at 07:54:02AM +1100, Dave Chinner wrote:
> 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?
> 

All in all this looks pretty good to me save a couple notes pointed out
in the patches. In a quick test, this handles the imaxct overshoot
problem Eric noted much better than the current implementation. That
said, it's still not precise.

My understanding is that's fine, but I wonder if we want to tack on a
variant of Eric's original patch as well so when we still do overshoot
imaxpct (albeit by much less than before: I reproduce an overshoot of
<100 inodes vs several thousand) we at least report an accurate inode
count. Thoughts?

Brian

> -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...
> 
> _______________________________________________
> xfs mailing list
> xfs@xxxxxxxxxxx
> http://oss.sgi.com/mailman/listinfo/xfs

_______________________________________________
xfs mailing list
xfs@xxxxxxxxxxx
http://oss.sgi.com/mailman/listinfo/xfs




[Index of Archives]     [Linux XFS Devel]     [Linux Filesystem Development]     [Filesystem Testing]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux