Re: [PATCH v2] sched/numa: advanced per-cgroup numa statistic

From: Michal Koutný
Date: Fri Nov 01 2019 - 13:39:42 EST


Hello Yun.

On Tue, Oct 29, 2019 at 03:57:20PM +0800, çè <yun.wang@xxxxxxxxxxxxxxxxx> wrote:
> +static void update_numa_statistics(struct cfs_rq *cfs_rq)
> +{
> + int idx;
> + unsigned long remote = current->numa_faults_locality[3];
> + unsigned long local = current->numa_faults_locality[4];
> +
> + cfs_rq->nstat.jiffies++;
This statistics effectively doubles what
kernel/sched/cpuacct.c:cpuacct_charge() does (measuring per-cpu time).
Hence it seems redundant.

> +
> + if (!remote && !local)
> + return;
> +
> + idx = (NR_NL_INTERVAL - 1) * local / (remote + local);
> + cfs_rq->nstat.locality[idx]++;
IIUC, the mechanism numa_faults_locality values, this statistics only
estimates the access locality based on NUMA balancing samples, i.e.
there exists more precise source of that information.

All in all, I'd concur to Mel's suggestion of external measurement.

Michal

Attachment: signature.asc
Description: Digital signature