On 2020/2/17 下午7:58, Mel Gorman wrote: [snip] >> Mel, I suspect you still feel that way, right? >> > > Yes, I still think it would be a struggle to interpret the data > meaningfully without very specific knowledge of the implementation. If > the scan rate was constant, it would be easier but that would make NUMA > balancing worse overall. Similarly, the stat might get very difficult to > interpret when NUMA balancing is failing because of a load imbalance, > pages are shared and being interleaved or NUMA groups span multiple > active nodes. Hi, Mel, appreciated to have you back on the table :-) IMHO the scan period changing should not be a problem now, since the maximum period is defined by user, so monitoring at maximum period on the accumulated page accessing counters is always meaningful, correct? FYI, by monitoring locality, we found that the kvm vcpu thread is not covered by NUMA Balancing, whatever how many maximum period passed, the counters are not increasing, or very slowly, although inside guest we are copying memory. Later we found such task rarely exit to user space to trigger task work callbacks, and NUMA Balancing scan depends on that, which help us realize the importance to enable NUMA Balancing inside guest, with the correct NUMA topo, a big performance risk I'll say :-P Maybe not a good example, but we just try to highlight that NUMA Balancing could have issue in some cases, and we want them to be exposed, somehow, maybe by the locality. Regards, Michael Wang > > For example, the series that reconciles NUMA and CPU balancers may look > worse in these stats even though the overall performance may be better. > >> In the document (patch 2/2) you write: >> >>> +However, there are no hardware counters for per-task local/remote accessing >>> +info, we don't know how many remote page accesses have occurred for a >>> +particular task. >> >> We can of course 'fix' that by adding a tracepoint. >> >> Mel, would you feel better by having a tracepoint in task_numa_fault() ? >> > > A bit, although interpreting the data would still be difficult and the > tracepoint would have to include information about the cgroup. While > I've never tried, this seems like the type of thing that would be suited > to a BPF script that probes task_numa_fault and extract the information > it needs. >