Feng Tang writes:
One further thought is, there are quite some "BATCH" number in kernel for perf-cpu/global data updating, maybe we can add a global flag 'sysctl_need_accurate_stats' for if (sysctl_need_accurate_stats) batch = SMALLER_BATCH else batch = BIGGER_BATCH
Moving decisions like this to the system administrator is not really a solution to the problem -- inclusion should at least be contingent on either having "correct-ish" stats exported to userspace. Displaying broken stats to the user -- even with a configuration knob -- is less than ideal and is likely to confuse and confound issues in future.
I would also like to see numbers from more real-world workloads. MEMCG_CHARGE_BATCH is certainly fairly arbitrary as-is, but if it is going to be changed, the reason for that change and its implications (positive and negative) for real-world workloads must be well understood, and I'm not sure we're there yet.