Nick Piggin a écrit : > On Friday 12 December 2008 09:39, Eric Dumazet wrote: >> Avoids cache line ping pongs between cpus and prepare next patch, >> because updates of nr_inodes dont need inode_lock anymore. >> >> (socket8 bench result : no difference at this point) > > Looks good. > > But.... If we never actually need fast access to the approximate > total, (which seems to apply to this and the previous patch) we > could use something much simpler which does not have the spinlock > or all this batching stuff that percpu counters have. I'd prefer > that because it will be faster in a straight line... Well, using a non batching mode could be real easy, just call __percpu_counter_add(&counter, inc, 1<<30); Or define a new percpu_counter_fastadd(&counter, inc); percpu_counter are nice because handle the CPU hotplug problem, if we want to use for_each_online_cpu() instead of for_each_possible_cpu(). > > (BTW. percpu counters can't be used in interrupt context? That's > nice.) > > Not sure why you said this. I would like to have a irqsafe percpu_counter, I was preparing such a patch because we need it for net-next -- To unsubscribe from this list: send the line "unsubscribe kernel-testers" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html