linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: Waiman Long <longman@redhat.com>
To: Peter Zijlstra <peterz@infradead.org>,
	Alex Kogan <alex.kogan@oracle.com>
Cc: linux-arch@vger.kernel.org, Hanjun Guo <guohanjun@huawei.com>,
	Arnd Bergmann <arnd@arndb.de>,
	dave.dice@oracle.com, Jan Glauber <jglauber@marvell.com>,
	x86@kernel.org, Will Deacon <will.deacon@arm.com>,
	linux@armlinux.org.uk, linux-kernel@vger.kernel.org,
	Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
	hpa@zytor.com, Steven Sistare <steven.sistare@oracle.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Daniel Jordan <daniel.m.jordan@oracle.com>,
	linux-arm-kernel <linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCH v8 4/5] locking/qspinlock: Introduce starvation avoidance into CNA
Date: Mon, 3 Feb 2020 09:59:12 -0500	[thread overview]
Message-ID: <6d11b22b-2fb5-7dea-f88b-b32f1576a5e0@redhat.com> (raw)
In-Reply-To: <20200203134540.GA14879@hirez.programming.kicks-ass.net>

On 2/3/20 8:45 AM, Peter Zijlstra wrote:
> On Thu, Jan 30, 2020 at 05:05:28PM -0500, Alex Kogan wrote:
>>> On Jan 25, 2020, at 6:19 AM, Peter Zijlstra <peterz@infradead.org> wrote:
>>>
>>> On Fri, Jan 24, 2020 at 01:19:05PM -0500, Alex Kogan wrote:
>>>
>>>> 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.
>> 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

  reply	other threads:[~2020-02-03 14:59 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-12-30 19:40 [PATCH v8 0/5] Add NUMA-awareness to qspinlock Alex Kogan
2019-12-30 19:40 ` [PATCH v8 1/5] locking/qspinlock: Rename mcs lock/unlock macros and make them more generic Alex Kogan
2019-12-30 19:40 ` [PATCH v8 2/5] locking/qspinlock: Refactor the qspinlock slow path Alex Kogan
2019-12-30 19:40 ` [PATCH v8 3/5] locking/qspinlock: Introduce CNA into the slow path of qspinlock Alex Kogan
2020-01-03 22:14   ` Waiman Long
2020-01-06 15:02     ` Alex Kogan
2020-01-21 13:48   ` Peter Zijlstra
2020-01-21 14:42   ` Peter Zijlstra
2019-12-30 19:40 ` [PATCH v8 4/5] locking/qspinlock: Introduce starvation avoidance into CNA Alex Kogan
2020-01-06 15:33   ` Waiman Long
2020-01-21 13:29   ` Peter Zijlstra
2020-01-21 13:50     ` Peter Zijlstra
2020-01-21 21:19       ` Daniel Bristot de Oliveira
2020-01-21 15:45     ` Waiman Long
     [not found]       ` <3862F8A1-FF9B-40AD-A88E-2C0BA7AF6F58@oracle.com>
2020-01-24  7:52         ` Peter Zijlstra
2020-01-24 14:42           ` Waiman Long
2020-01-24 15:13             ` Peter Zijlstra
2020-01-24 15:19             ` Waiman Long
     [not found]               ` <8D3AFB47-B595-418C-9568-08780DDC58FF@oracle.com>
     [not found]                 ` <714892cd-d96f-4d41-ae8b-d7b7642a6e3c@redhat.com>
2020-01-25 11:16                   ` Peter Zijlstra
     [not found]                   ` <1669BFDE-A1A5-4ED8-B586-035460BBF68A@oracle.com>
     [not found]                     ` <45660873-731a-a810-8c57-1a5a19d266b4@redhat.com>
2020-01-24 18:51                       ` Waiman Long
2020-01-25 11:20                         ` Peter Zijlstra
2020-01-25 19:57                         ` Waiman Long
     [not found]                       ` <693E6287-E37C-4C5D-BE33-B3D813BE505D@oracle.com>
2020-01-24 21:12                         ` Waiman Long
2020-01-24 21:27                           ` Alex Kogan
2020-01-25  0:38                             ` Waiman Long
2020-01-25 11:19                     ` Peter Zijlstra
2020-01-30 22:05                       ` Alex Kogan
2020-02-03 13:45                         ` Peter Zijlstra
2020-02-03 14:59                           ` Waiman Long [this message]
2020-02-03 15:28                             ` Peter Zijlstra
2020-02-03 15:47                               ` Waiman Long
     [not found]                                 ` <83762715-F68C-42DF-9B41-C4C48DF6762F@oracle.com>
2020-02-04 17:27                                   ` Peter Zijlstra
2020-02-04 17:39                                     ` Waiman Long
2020-02-04 17:53                                       ` Alex Kogan
2019-12-30 19:40 ` [PATCH v8 5/5] locking/qspinlock: Introduce the shuffle reduction optimization " Alex Kogan
2020-01-22  9:56   ` Peter Zijlstra
2020-01-06 15:48 ` [PATCH v8 0/5] Add NUMA-awareness to qspinlock Waiman Long
2020-01-08  5:09 ` Shijith Thotton
2020-01-21  9:21   ` Shijith Thotton

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=6d11b22b-2fb5-7dea-f88b-b32f1576a5e0@redhat.com \
    --to=longman@redhat.com \
    --cc=alex.kogan@oracle.com \
    --cc=arnd@arndb.de \
    --cc=bp@alien8.de \
    --cc=daniel.m.jordan@oracle.com \
    --cc=dave.dice@oracle.com \
    --cc=guohanjun@huawei.com \
    --cc=hpa@zytor.com \
    --cc=jglauber@marvell.com \
    --cc=linux-arch@vger.kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@armlinux.org.uk \
    --cc=mingo@redhat.com \
    --cc=peterz@infradead.org \
    --cc=steven.sistare@oracle.com \
    --cc=tglx@linutronix.de \
    --cc=will.deacon@arm.com \
    --cc=x86@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).