lkml.org 
[lkml]   [2021]   [Nov]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: Re: Re: Re: Re: [PATCH v1] sched/numa: add per-process numa_balancing
Date
On 11/9/21 8:12 PM, Mel Gorman wrote:
>
> That would be a policy decision on how existing tasks should be tuned
> if NUMA balancing is enabled at runtime after being disabled at boot
> (or some arbitrary time in the past). Introducing the prctl does mean
> that there is a semantic change for the runtime enabling/disabling
> of NUMA balancing because previously, enabling global balancing affects
> existing tasks and with prctl, it affects only future tasks. It could
> be handled in the sysctl to some exist
>
> 0. Disable for all but prctl specifications
> 1. Enable for all tasks unless disabled by prctl
> 2. Ignore all existing tasks, enable for future tasks
>
> While this is more legwork, it makes more sense as an interface than
> prctl(PR_NUMA_BALANCING,PR_SET_NUMA_BALANCING,1) failing if global
> NUMA balancing is disabled.
>

Why prctl(PR_NUMA_BALANCING,PR_SET_NUMA_BALANCING,1) must work while
global numa_balancing is disabled? No offense, I think that is a bit
redundant. And it's complicated to implement.

It's hard for me to understand the whole vision of your idea. I'm very
sorry. Can you explain your full thoughts more specifically?

----------------------------------------------------

Also in case of misunderstanding, let me re-explain my patch using
circuit diagram.

Before my patch, there is only one switch to control numa_balancing.

______process1_
...____/ __|______process2_|__...
|______process3_|

|
global numa_balancing

After my patch, we can selectively disable numa_balancing for processes.
And global switch has a high priority.

__/ __process1_
...____/ __|__/ __process2_|__...
|__/ __process3_|

| |
global per-process

Why global numa_balancing has high priority? There are two reasons:
1. numa_balancing is useful to most processes, so there is no need to
consider how to enable numa_balancing for a few processes while
disabling it globally.
2. It is easy to implement. The more we think, the more complex the code
becomes.

\
 
 \ /
  Last update: 2021-11-09 14:59    [W:0.280 / U:0.760 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site