This series is based on (i.e., applies on top of)
the third patch in Dave Chinner's scalability series
(lib: percpu counter add unless less than functionality).
I had some questions while reviewing that patch, and
after closer inspection I think I found what I think
are some problems, and in order to work through them
I came up with this patch series to lay out what I
think the problems are and my attempt at addressing
The series has been rearranged a bit since I put it
together. Patch 3 includes some background and
terminology that might be more useful at the
beginning, but I'm leaving it as-is for now.
The more I look at the end result of the series the
more confident I am that it's correct. However I
still need some convincing--either to point out
where I've got something wrong, or to affirm that
what I have is right.