Messages in this thread | | | Date | Fri, 12 Dec 2008 06:11:11 +0100 | From | Eric Dumazet <> | Subject | Re: [PATCH v3 2/7] fs: Use a percpu_counter to track nr_inodes |
| |
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 linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |