On Mon, Nov 29, 2010 at 09:57:33PM +1100, Nick Piggin wrote: > Hey, > > What was the reason behind not using my approach to use fast per-cpu > counters for inode and dentry counters, and instead using the > percpu_counter lib (which is not useful unless very fast approximate > access to the global counter is required, or performance is not > critical, which is somewhat of an oxymoron if you're using per-counters > in the first place). It is a difference between this: Hi Nick - sorry for being slow to answer this - I only just found this email. The reason for using the generic counters is because the shrinkers read the current value of the global counter on every call and hence they can be read thousands of times a second. The only way to do that efficiently is to use the approximately value the generic counters provide. IIRC, it's also used in a couple of places in the writeback code as well, but that is significantly fewer reads of the summed value. It's probably best to revisit this once the shrinkers no longer use a global counter value. Cheers, Dave. -- Dave Chinner david@xxxxxxxxxxxxx -- 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