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. -- Michal Hocko SUSE Labs