Re: [PATCH 2/3] sched/core: Introduce nr_running percpu for each cookie

From: Peter Zijlstra
Date: Mon Jul 04 2022 - 05:45:51 EST


On Tue, Jun 28, 2022 at 03:57:24PM +0800, Cruz Zhao wrote:

> static unsigned long sched_core_alloc_cookie(void)
> {
> struct sched_core_cookie *ck = kmalloc(sizeof(*ck), GFP_KERNEL);
> + int cpu;
> +
> if (!ck)
> return 0;
>
> refcount_set(&ck->refcnt, 1);
> +
> + ck->nr_running = alloc_percpu(unsigned int);

if (!ck->nr_running)
// do something

> + for_each_possible_cpu(cpu)
> + *per_cpu_ptr(ck->nr_running, cpu) = 0;

So I really, as in *really* dislike how this blows up the size of
cookies. Esp. with 100s of CPUs not actually being rare these days.