[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <47da3771-12d4-4621-a22f-3756d1b692aa@nvidia.com>
Date: Mon, 21 Oct 2024 11:12:33 -0700
From: John Hubbard <jhubbard@...dia.com>
To: Suren Baghdasaryan <surenb@...gle.com>, Michal Hocko <mhocko@...e.com>
CC: David Hildenbrand <david@...hat.com>, Yosry Ahmed <yosryahmed@...gle.com>,
<akpm@...ux-foundation.org>, <kent.overstreet@...ux.dev>, <corbet@....net>,
<arnd@...db.de>, <mcgrof@...nel.org>, <rppt@...nel.org>,
<paulmck@...nel.org>, <thuth@...hat.com>, <tglx@...utronix.de>,
<bp@...en8.de>, <xiongwei.song@...driver.com>, <ardb@...nel.org>,
<vbabka@...e.cz>, <hannes@...xchg.org>, <roman.gushchin@...ux.dev>,
<dave@...olabs.net>, <willy@...radead.org>, <liam.howlett@...cle.com>,
<pasha.tatashin@...een.com>, <souravpanda@...gle.com>,
<keescook@...omium.org>, <dennis@...nel.org>, <yuzhao@...gle.com>,
<vvvvvv@...gle.com>, <rostedt@...dmis.org>, <iamjoonsoo.kim@....com>,
<rientjes@...gle.com>, <minchan@...gle.com>, <kaleshsingh@...gle.com>,
<linux-doc@...r.kernel.org>, <linux-kernel@...r.kernel.org>,
<linux-arch@...r.kernel.org>, <linux-mm@...ck.org>,
<linux-modules@...r.kernel.org>, <kernel-team@...roid.com>
Subject: Re: [PATCH v3 5/5] alloc_tag: config to store page allocation tag
refs in page flags
On 10/21/24 9:32 AM, Suren Baghdasaryan wrote:
> On Mon, Oct 21, 2024 at 9:23 AM Michal Hocko <mhocko@...e.com> wrote:
>> On Mon 21-10-24 09:16:14, Suren Baghdasaryan wrote:
>>> On Mon, Oct 21, 2024 at 8:57 AM Michal Hocko <mhocko@...e.com> wrote:
>>>> On Mon 21-10-24 08:41:00, Suren Baghdasaryan wrote:
>>>>> On Mon, Oct 21, 2024 at 8:34 AM Michal Hocko <mhocko@...e.com> wrote:
>>>>>> On Mon 21-10-24 08:05:16, Suren Baghdasaryan wrote:
>>>>>> [...]
>>>>>>> Yeah, I thought about adding new values to "mem_profiling" but it's a
>>>>>>> bit complicated. Today it's a tristate:
>>>>>>>
>>>>>>> mem_profiling=0|1|never
>>>>>>>
>>>>>>> 0/1 means we disable/enable memory profiling by default but the user
>>>>>>> can enable it at runtime using a sysctl. This means that we enable
>>>>>>> page_ext at boot even when it's set to 0.
>>>>>>> "never" means we do not enable page_ext, memory profiling is disabled
>>>>>>> and sysctl to enable it will not be exposed. Used when a distribution
>>>>>>> has CONFIG_MEM_ALLOC_PROFILING=y but the user does not use it and does
>>>>>>> not want to waste memory on enabling page_ext.
>>>>>>>
>>>>>>> I can add another option like "pgflags" but then it also needs to
>>>>>>> specify whether we should enable or disable profiling by default
>>>>>>> (similar to 0|1 for page_ext mode). IOW we will need to encode also
>>>>>>> the default state we want. Something like this:
>>>>>>>
>>>>>>> mem_profiling=0|1|never|pgflags_on|pgflags_off
>>>>>>>
>>>>>>> Would this be acceptable?
>>>>>>
>>>>>> Isn't this overcomplicating it? Why cannot you simply go with
>>>>>> mem_profiling={0|never|1}[,$YOUR_OPTIONS]
>>>>>>
>>>>>> While $YOUR_OPTIONS could be compress,fallback,ponies and it would apply
>>>>>> or just be ignored if that is not applicable.
>>>>>
>>>>> Oh, you mean having 2 parts in the parameter with supported options being:
>>>>>
>>>>> mem_profiling=never
>>>>> mem_profiling=0
>>>>> mem_profiling=1
>>>>> mem_profiling=0,pgflags
>>>>> mem_profiling=1,pgflags
>>>>>
>>>>> Did I understand correctly? If so then yes, this should work.
>>>>
>>>> yes. I would just not call it pgflags because that just doesn't really
>>>> tell what the option is to anybody but kernel developers. You could also
>>>> have an option to override the default (disable profiling) failure strategy.
>>>
>>> Ok, how about "compressed" instead? Like this:
>>>
>>> mem_profiling=0,compressed
Yes. The configuration options all fit together nicely now, and the
naming seems exactly right as well. And no more "you must rebuild your
kernel" messages. Great!
thanks,
--
John Hubbard
>>
>> Sounds good to me. And just to repeat, I do not really care about
>> specific name but let's just stay away from something as specific as
>> page flags because that is really not helping to understand the purpose
>> but rather the underlying mechanism which is not telling much to most
>> users outside of kernel developers.
>
> Understood. Ok, I'll start changing my patchset to incorporate this
> feedback and will post the new version this week.
> Thanks for the input everyone!
>
>>
>> --
>> Michal Hocko
>> SUSE Labs
Powered by blists - more mailing lists