On Fri, May 06, 2022 at 03:41:50PM +0200, Michal Hocko wrote: > On Thu 05-05-22 03:38:15, cgel.zte@xxxxxxxxx wrote: > > From: Yang Yang <yang.yang29@xxxxxxxxxx> > > > > Using THP may promote the performance of memory, but increase memory > > footprint. Applications may use madvise to decrease footprint, but > > not all applications support using madvise, and it takes much costs > > to re-code all the applications. And we notice container becomes more > > and more popular to manage a set of tasks. > > Could you be more specific about the actual usecase? When do you group > processes based on their general THP reqirements? You are mentioning > containers but those are usually bags of different processes that just > share a common objective. > > > So add support for cgroup to control THP behaviour will provide much > > convenience, administrator may only enable THP for important containers, > > and disable it for other containers. > > Why would that be a matter of importance? > > Also what is actual semantic when processes living inside those cgroups > explicitly state their THP requirements? > Docker might support this new cgroup knob in the future, add provide UI likes: # docker run -it --thp-enabled=[always,never,madvise] The cmdline format from https://docs.docker.com/engine/reference/run/ If there are many containers to run on one host, and some of them have high performance requirements, administrator could turn on thp for them: # docker run -it --thp-enabled=always Then all the processes in those containers will always use thp. While other containers turn off thp by: # docker run -it --thp-enabled=never By doing this we could promote important containers's performance with less footprint of thp. > -- > Michal Hocko > SUSE Labs