[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <f8766405-70f3-71b0-60de-03425350189d@linux.alibaba.com>
Date: Fri, 12 Jul 2019 11:15:41 +0800
From: 王贇 <yun.wang@...ux.alibaba.com>
To: Peter Zijlstra <peterz@...radead.org>
Cc: hannes@...xchg.org, mhocko@...nel.org, vdavydov.dev@...il.com,
Ingo Molnar <mingo@...hat.com>, linux-kernel@...r.kernel.org,
linux-mm@...ck.org, mcgrof@...nel.org, keescook@...omium.org,
linux-fsdevel@...r.kernel.org, cgroups@...r.kernel.org,
Mel Gorman <mgorman@...e.de>, riel@...riel.com
Subject: Re: [PATCH 1/4] numa: introduce per-cgroup numa balancing locality,
statistic
On 2019/7/11 下午9:43, Peter Zijlstra wrote:
> On Wed, Jul 03, 2019 at 11:28:10AM +0800, 王贇 wrote:
>> +#ifdef CONFIG_NUMA_BALANCING
>> +
>> +enum memcg_numa_locality_interval {
>> + PERCENT_0_29,
>> + PERCENT_30_39,
>> + PERCENT_40_49,
>> + PERCENT_50_59,
>> + PERCENT_60_69,
>> + PERCENT_70_79,
>> + PERCENT_80_89,
>> + PERCENT_90_100,
>> + NR_NL_INTERVAL,
>> +};
>
> That's just daft; why not make 8 equal sized buckets.
>
>> +struct memcg_stat_numa {
>> + u64 locality[NR_NL_INTERVAL];
>> +};
>
>> + if (remote || local) {
>> + idx = ((local * 10) / (remote + local)) - 2;
>
> idx = (NR_NL_INTERVAL * local) / (remote + local);
Make sense, we actually want to observe the situation rather than
the ratio itself, will be in next version.
Regards,
Michael Wang
>
>> + }
>> +
>> + rcu_read_lock();
>> + memcg = mem_cgroup_from_task(p);
>> + if (idx != -1)
>> + this_cpu_inc(memcg->stat_numa->locality[idx]);
>> + rcu_read_unlock();
>> +}
>> +#endif
Powered by blists - more mailing lists