On Thu, Nov 18, 2021 at 11:26:30AM +0800, Gang Li wrote: > On 11/17/21 6:10 PM, Mel Gorman wrote: > > On Wed, Nov 17, 2021 at 05:38:28PM +0800, Gang Li wrote: > > > If those APIs are ok with you, I will send v2 soon. > > > > > > 1. prctl(PR_NUMA_BALANCING, PR_SET_THP_DISABLE); > > > > It would be (PR_SET_NUMAB_DISABLE, 1) > > > > > 2. prctl(PR_NUMA_BALANCING, PR_SET_THP_ENABLE); > > > > An enable prctl will have the same problems as > > prctl(PR_NUMA_BALANCING, PR_SET_NUMA_BALANCING, 0/1) -- it should have > > meaning if the numa_balancing sysctl is disabled. > > > > > 3. prctl(PR_NUMA_BALANCING, PR_GET_THP); > > > > > > > PR_GET_NUMAB_DISABLE > > > > How about this: > > 1. prctl(PR_NUMA_BALANCING, PR_SET_NUMAB_DEFAULT); //follow global > 2. prctl(PR_NUMA_BALANCING, PR_SET_NUMAB_DISABLE); //disable > 3. prctl(PR_NUMA_BALANCING, PR_SET_NUMAB_ENABLE); //enable If PR_SET_NUMAB_ENABLE enables numa balancing for a task when kernel.numa_balancing == 0 instead of returning an error then sure. > 4. prctl(PR_NUMA_BALANCING, PR_GET_NUMAB); > > PR_SET_NUMAB_DISABLE/ENABLE can always have meaning whether the > numa_balancing sysctl is disabled or not, > > -- > Thanks, > Gang Li > -- Mel Gorman SUSE Labs