Re: [PATCH v14 4/6] locking/qspinlock: Introduce starvation avoidance into CNA

From: Andi Kleen
Date: Tue Apr 13 2021 - 02:03:23 EST


Alex Kogan <alex.kogan@xxxxxxxxxx> writes:
>
> + numa_spinlock_threshold= [NUMA, PV_OPS]
> + Set the time threshold in milliseconds for the
> + number of intra-node lock hand-offs before the
> + NUMA-aware spinlock is forced to be passed to
> + a thread on another NUMA node. Valid values
> + are in the [1..100] range. Smaller values result
> + in a more fair, but less performant spinlock,
> + and vice versa. The default value is 10.

ms granularity seems very coarse grained for this. Surely
at some point of spinning you can afford a ktime_get? But ok.

Could you turn that into a moduleparm which can be changed at runtime?
Would be strange to have to reboot just to play with this parameter

This would also make the code a lot shorter I guess.

-Andi