Messages in this thread | | | Date | Tue, 1 Mar 2022 18:57:03 +0100 | From | Michal Koutný <> | Subject | Re: [PATCH] memcg: async flush memcg stats from perf sensitive codepaths |
| |
Making decisions based on up to 2 s old information.
On Tue, Mar 01, 2022 at 09:21:12AM -0800, Shakeel Butt <shakeelb@google.com> wrote: > Without flushing the worst that can happen in the refault path is > false (or missed) activations of the refaulted page.
Yeah, this may under- or overestimate workingset size (when it's changing), the result is likely only less efficient reclaim.
> For reclaim code, some heuristics (like deactivating active LRU or > cache-trim) may act on old information.
Here, I'd be more careful whether such a delay cannot introduce some unstable behavior (permanent oscillation in the worst case).
> Now, coming to your question, yes, we can remove the flushing from > these performance critical codepaths as the stats at most will be 2 > second old due to periodic flush.
Another aspect is that people will notice and report such a narrowly located performance regression more easily than reduced/less predictable reclaim behavior. (IMO the former is better, OTOH, it can also be interpreted that noone notices (is able to notice).)
Michal
| |