Re: [PATCH v2 17/23] sched/cache: Record the number of active threads per process for cache-aware scheduling

From: Aaron Lu
Date: Wed Dec 17 2025 - 04:46:05 EST


On Wed, Dec 03, 2025 at 03:07:36PM -0800, Tim Chen wrote:
> @@ -1501,6 +1507,7 @@ static void __no_profile task_cache_work(struct callback_head *work)
> mm->mm_sched_cpu = m_a_cpu;
> }
>
> + update_avg(&mm->nr_running_avg, nr_running);

update_avg() doesn't appear to deal with small numbers well and can have
an error as large as 7, e.g. when nr_running < 8, nr_running_avg will
always be 0 and when nr_running >= 8 && < 16, nr_running_avg will be
1 - 8, etc.

AMD Genoa has 8 cores per LLC and this will break exceed_llc_nr() there.

> free_cpumask_var(cpus);
> }