[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4a9dbfa7-db68-a2dc-9018-a5b74f0f421c@redhat.com>
Date: Wed, 14 Apr 2021 12:41:58 -0400
From: Waiman Long <llong@...hat.com>
To: Alex Kogan <alex.kogan@...cle.com>, Andi Kleen <ak@...ux.intel.com>
Cc: linux@...linux.org.uk, Peter Zijlstra <peterz@...radead.org>,
Ingo Molnar <mingo@...hat.com>, will.deacon@....com,
arnd@...db.de, linux-arch@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org,
tglx@...utronix.de, bp@...en8.de, hpa@...or.com, x86@...nel.org,
guohanjun@...wei.com, jglauber@...vell.com,
steven.sistare@...cle.com, daniel.m.jordan@...cle.com,
dave.dice@...cle.com
Subject: Re: [External] : Re: [PATCH v14 4/6] locking/qspinlock: Introduce
starvation avoidance into CNA
On 4/13/21 5:01 PM, Alex Kogan wrote:
> Hi, Andi.
>
> Thanks for your comments!
>
>> On Apr 13, 2021, at 2:03 AM, Andi Kleen <ak@...ux.intel.com> wrote:
>>
>> Alex Kogan <alex.kogan@...cle.com> 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.
> We are reading time when we are at the head of the (main) queue, but
> don’t have the lock yet. Not sure about the latency of ktime_get(), but
> anything reasonably fast but not necessarily precise should work.
>
>> 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
> Yes, good suggestion, thanks.
>
>> This would also make the code a lot shorter I guess.
> So you don’t think we need the command-line parameter, just the module_param?
The CNA code, if enabled, will be in vmlinux, not in a kernel module. As
a result, I think a module parameter will be no different from a kernel
command line parameter in this regard.
Cheers,
Longman
Powered by blists - more mailing lists