Messages in this thread | | | Date | Thu, 6 Jan 2022 16:08:35 +0800 | Subject | Re: [PATCH v3] sched/numa: add per-process numa_balancing | From | Gang Li <> |
| |
Hi, Any comments please?
;)
On 2021/12/6 10:45, Gang Li wrote: > This patch add a new api PR_NUMA_BALANCING in prctl. > > A large number of page faults will cause performance loss when numa > balancing is performing. Thus those processes which care about worst-case > performance need numa balancing disabled. Others, on the contrary, allow a > temporary performance loss in exchange for higher average performance, so > enable numa balancing is better for them. > > Numa balancing can only be controlled globally by > /proc/sys/kernel/numa_balancing. Due to the above case, we want to > disable/enable numa_balancing per-process instead. > > Add numa_balancing under mm_struct. Then use it in task_tick_fair. > > Set per-process numa balancing: > prctl(PR_NUMA_BALANCING, PR_SET_NUMAB_DISABLE); //disable > prctl(PR_NUMA_BALANCING, PR_SET_NUMAB_ENABLE); //enable > prctl(PR_NUMA_BALANCING, PR_SET_NUMAB_DEFAULT); //follow global > Get numa_balancing state: > prctl(PR_NUMA_BALANCING, PR_GET_NUMAB, &ret); > cat /proc/<pid>/status | grep NumaB_enabled > > Cc: linux-api@vger.kernel.org > Signed-off-by: Gang Li <ligang.bdlg@bytedance.com> > --- > > Changes in v3: > - Fix compile error. > > Changes in v2: > - Now PR_NUMA_BALANCING support three states: enabled, disabled, default. > enabled and disabled will ignore global setting, and default will follow > global setting. -- Thanks Gang Li
| |