On Wed, May 24, 2006 at 06:23:09AM +0200, Arjan van de Ven wrote: > On Wed, 2006-05-24 at 14:01 +1000, David Chinner wrote: > > Yup, that is what the current code I've written will do. I just > > wanted someting that worked over all superblocks to begin with. > > It's not very smart, but improving it can be done incrementally. > > I think that if you say A you should say B, I mean, if you make the list > per SB you probably just should do the step and make at least the > counter per SB as well. That will also save in cacheline bounces I > suppose... but more importantly you keep the counters next to the list. But it doesn't remove the need for the global counter. The dcache_lock is far more heavily contended so the counter cacheline bouncing is lost in the noise here. No to mention the counter can only be updated while holding the dcache_lock. Hence at this point, adding per-sb counters is pure overhead unless the reclaim method is made to use them. > Which you'll also need to do any kind of scaling I suppose later on, so > might as well keep the stats already. The per-sb list improves scalability only by reducing the maximum length of time the dcache_lock is held. Scalabilty for further parallelism (and therefore better reclaim performance) is going to require locking changes so that's when I'd expect the counters to need changing. I don't want to over-optimise before we know what we actually need to optimise... Cheers, Dave. -- Dave Chinner R&D Software Enginner SGI Australian Software Group - To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html