On Thu, Apr 28, 2011 at 10:22:19AM -0500, Christoph Lameter wrote: > On Thu, 28 Apr 2011, Tejun Heo wrote: > > > It seems like we can split hairs all day long about the similarities > > and differences with atomics, so let's forget about atomics for now. > > Ok good idea. So you accept that per cpu counters are inevitably fuzzy and > that the result cannot be relied upon in the same way as on atomics? No, I don't, at all. > > I don't like any update having possibility of causing @batch jumps in > > _sum() result. That severely limits the usefulness of hugely > > expensive _sum() and the ability to scale @batch. Not everything in > > the world is vmstat. Think about other _CURRENT_ use cases in > > filesystems. > > Of course you can cause jumps > batch. You are looping over 8 cpus and > have done cpu 1 and 2 already. Then cpu 1 adds batch-1 to the local per > cpu counter. cpu 2 increments its per cpu counter. When _sum returns we > have deviation of batch. > > In the worst case the deviation can increase to (NR_CPUS - 1) * (batch > -1). That is for the current code!!! > > The hugely expensive _sum() is IMHO pretty useless given the above. It is > a function that is called with the *hope* of getting a more accurate > result. No, it isn't. It provides meaningful enough accuracy for many use cases. It is not about extreme limits on pathological cases. It's being reasonably accurate so that it doesn't deviate too much from expectations arising from given level of update frequency and concurrency. Christoph, I'm sorry but I really can't explain it any better and am out of this thread. If you still wanna proceed, you'll need to route the patches yourself. Please keep me cc'd. Thank you. -- tejun -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxxx For more info on Linux MM, see: http://www.linux-mm.org/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>