On Wed, Sep 29, 2010 at 03:57:48PM +1000, Dave Chinner wrote:
> FWIW, I've got a prototype that converts the per-cpu counters to the
> generic per-cpu counter infrastructure. It chops out almost all the
> xfs_icsb_* stuff (including xfs_icsb_modify_counters()) and has a
> diffstat of:
Sounds good - I always throught of the balanced per-cpu counters as
infrastructure that really shouldn't sit inside XFS.
> It needs a significant cleanup of xfs_mod_incore_sb() before/after
> the conversion which I haven't done yet because I haven't quite got
> my new percpu_counter_test_and_add_delta() function working
> correctly yet. I spotted this locking problem when testing the
> That said, there's no reason why my percpu counter code needs to run
> through xfs_mod_incore_sb() at all. If we have a separate path for
> per-cpu counters then I can rework my code on top of that....
We'll always need a low-level function to to the actual superblock
updates and a high-level one modifying the per-cpu counters. I don't
think the exact naming matters too much.