Re: [PATCH v2] Make transparent hugepages cpuset aware

From: Li Zefan
Date: Wed Jun 19 2013 - 23:35:23 EST


Cc: Tejun, and cgroup ML

>> Here are the entries in the cpuset:
>> cgroup.event_control mem_exclusive memory_pressure_enabled notify_on_release tasks
>> cgroup.procs mem_hardwall memory_spread_page release_agent
>> cpu_exclusive memory_migrate memory_spread_slab sched_load_balance
>> cpus memory_pressure mems sched_relax_domain_level
>>
>> There are scheduler, slab allocator, page_cache layout, etc controls.
>
> I think this is mostly for historical reasons since cpusets were
> introduced before cgroups.
>
>> Why _NOT_ add a thp control to that nicely contained central location?
>> It is a concise set of controls for the job.
>>
>
> All of the above seem to be for cpusets primary purpose, i.e. NUMA
> optimizations. It has nothing to do with transparent hugepages. (I'm not
> saying thp has anything to do with memcg either, but a "memory controller"
> seems more appropriate for controlling thp behavior.)
>
>> Maybe I am misunderstanding. Are you saying you want to put memcg
>> information into the cpuset or something like that?
>>
>
> I'm saying there's absolutely no reason to have thp controlled by a
> cpuset, or ANY cgroup for that matter, since you chose not to respond to
> the question I asked: why do you want to control thp behavior for certain
> static binaries and not others? Where is the performance regression or
> the downside? Is it because of max_ptes_none for certain jobs blowing up
> the rss? We need information, and even if were justifiable then it
> wouldn't have anything to do with ANY cgroup but rather a per-process
> control. It has nothing to do with cpusets whatsoever.
>
> (And I'm very curious why you didn't even cc the cpusets maintainer on
> this patch in the first place who would probably say the same thing.)
> .

Don't know whom you were refering to here. It's Paul Jackson who invented
cpusets, and then Paul Menage took over the maintainership but he wasn't
doing much maintainer's work. Now it's me and Tejun maintaining cpusets.
(long ago Ingo once requested cpuset patches should be cced to him and
Peter.)

Back to this patch, I'm definitely on your side. This feature doesn't
interact with existing cpuset features, and it doens't need anything
that cpuset provides. In a word, it has nothing to do with cpusets hence
it shouldn't belong to cpusets.

We're clearing all the messes in cgroups, and this patch acts in the
converse direction.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/