Thread (6 messages) 6 messages, 3 authors, 2020-02-03

Re: [PATCH v8 4/5] locking/qspinlock: Introduce starvation avoidance into CNA

From: Waiman Long <longman@redhat.com>
Date: 2020-02-03 14:59:24
Also in: linux-arch, lkml

Possibly related (same subject, not in this thread)

On 2/3/20 8:45 AM, Peter Zijlstra wrote:
On Thu, Jan 30, 2020 at 05:05:28PM -0500, Alex Kogan wrote:
quoted
quoted
On Jan 25, 2020, at 6:19 AM, Peter Zijlstra [off-list ref] wrote:

On Fri, Jan 24, 2020 at 01:19:05PM -0500, Alex Kogan wrote:
quoted
Is there a lightweight way to identify such a “prioritized” thread?
No; people might for instance care about tail latencies between their
identically spec'ed worker tasks.
I would argue that those users need to tune/reduce the intra-node handoff
threshold for their needs. Or disable CNA altogether.
I really don't like boot time arguments (or tunables in generic) for a
machine to work as it should.

The default really should 'just work'.
That will be the ideal case. In reality, it usually takes a while for
the code to mature enough to do some kind of self tuning. In the mean
time, having some configuration options available allows us to have more
time to figure what the best configuration options to be.
quoted
In general, Peter, seems like you are not on board with the way Longman
suggested to handle prioritized threads. Am I right?
Right.

Presumably you have a workload where CNA is actually a win? That is,
what inspired you to go down this road? Which actual kernel lock is so
contended on NUMA machines that we need to do this?
Today, a 2-socket Rome server can have 128 cores and 256 threads. If we
scale up more, we could easily have more than 1000 threads in a system.
With that many logical cpus available, it is easy to envision some heavy
spinlock contention can happen fairly regularly. This patch can
alleviate the congestion and improve performance under that
circumstance. Of course, the specific locks that are contended will
depend on the workloads.

Cheers,
Longman


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help