[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20190711134353.GB3402@hirez.programming.kicks-ass.net>
Date: Thu, 11 Jul 2019 15:43:53 +0200
From: Peter Zijlstra <peterz@...radead.org>
To: 王贇 <yun.wang@...ux.alibaba.com>
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 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);
> + }
> +
> + 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