Re: [PATCH 1/3] mm, sysctl: make VM stats configurable
From: Michal Hocko
Date: Mon Sep 18 2017 - 01:51:07 EST
On Mon 18-09-17 10:44:52, kemi wrote:
> On 2017å09æ15æ 22:28, Michal Hocko wrote:
> > On Fri 15-09-17 07:16:23, Dave Hansen wrote:
> >> On 09/15/2017 04:49 AM, Michal Hocko wrote:
> >>> Why do we need an auto-mode? Is it safe to enforce by default.
> >> Do we *need* it? Not really.
> >> But, it does offer the best of both worlds: The vast majority of users
> >> see virtually no impact from the counters. The minority that do need
> >> them pay the cost *and* don't have to change their tooling at all.
> > Just to make it clear, I am not really opposing. It just adds some code
> > which we can safe... It is also rather chatty for something that can be
> > true/false.
> It has benefit, as Dave mentioned above.
> Actually, it adds some coding complexity to provide a tuning interface with
> on/off/auto mode. Using human-readable string instead of magic number makes
> it easier to use, people probably don't need to review the ABI doc again
> before using it. So, I don't think that should be a problem
Is this a thing that would be changed very often. I suspect that once
needed it will be set in a startup sysctl configuration and there will
be no further need to touch it again.
> >>> Is it> possible that userspace can get confused to see 0 NUMA stats in
> >> the
> >>> first read while other allocation stats are non-zero?
> >> I doubt it. Those counters are pretty worthless by themselves. I have
> >> tooling that goes and reads them, but it aways displays deltas. Read
> >> stats, sleep one second, read again, print the difference.
> > This is how I use them as well.
> >> The only scenario I can see mattering is someone who is seeing a
> >> performance issue due to NUMA allocation misses (or whatever) and wants
> >> to go look *back* in the past.
> > yes
> If it really matters, setting vmstat_mode=strict as a default option is a simple
> way to fix it. What's your idea? thanks
Well, we are usually very conservative when changing the default
behavior. The primary reason why I was asking is that the auto mode
doesn't make much sense unless it is the default. I fully realize that
such an hypothetical breakage is really hard to envision but considering
it is more code to allow auto mode than a simple on/off (we have parsing
helpers for that AFAIR) then I would rather go with the simpler option.
This is up to you of course.