Re: [PATCH v2] mm/madvise: add vmstat statistics for madvise_[cold|pageout]

Michal Hocko
2023-01-30T11:12:59Z

On Fri 27-01-23 19:00:15, Minchan Kim wrote:
[...]
> Then, let me ask back to you.
>
> What statistcis in the current vmstat fields or pending fields
> (to be merged) among accumulated counter stats sound reasonable
> to be part of vmstat fields not tracepoint from your perspective?

Most of those could be replaced but for historical reasons a counter was
an only solution back then. Some metrics make a lot of sense these days
as well. Regular snapshots of vmstat can give a nice overview of the
_system_ reclaim activity.

> Almost every stat would have corner cases by various reasons and
> people would want to know the reason from process, context, function
> or block scope depending on how they want to use the stat.
> Even, tracepoint you're loving couldn't tell all the detail what they want
> without adding more and more as on growing code chages.

Quite possible but tracepoints are much easier to modify and shape to a
particular need.

> However, unlike your worry, people has used such an high level vague
> vmstat fields very well to understand/monitor system health even though
> it has various miscounting cases since they know the corner cases
> are really minor.
>
> I am really curious what metric we could add in the vmstat instead of
> tracepoint in future if we follow your logic.

I would say that we should be more and more conservative when extending
vmstat counters and use tracing instead as much as possible. I can
imagine there could be cases where tracing is not a preferable option.
Then we can judge case by case. So far you have presented no real
argument, except you already collect vmstat on a larger scale and that
would be easier (essentially free from the tool modification POV). That
is a weak argument. Especially with a major design flaw already
mentioned.

I do not have much more to add here.
--
Michal Hocko
SUSE Labs