linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
From: Nicholas Piggin <npiggin@gmail.com>
To: linuxppc-dev@lists.ozlabs.org
Cc: Jordan Niethe <jniethe5@gmail.com>,
	Laurent Dufour <laurent.dufour@fr.ibm.com>,
	Nicholas Piggin <npiggin@gmail.com>
Subject: [RFC PATCH 0/4] powerpc/qspinlock: make slowpath accesses more efficient
Date: Tue, 15 Nov 2022 02:11:15 +1000	[thread overview]
Message-ID: <20221114161119.2883620-1-npiggin@gmail.com> (raw)

This series (at least the first 3 patches) will get folded into the main
series, but I will to post incremental changes first to make it easier
to see the change.

The 3rd patch is now quite an ugly mess, but once it is folded in then
everything should become simpler because that special case will never be
added in the first place. So don't review it with a fine comb, all it
really does is remove that branch.

There were a couple of cases where I tried to make things a bit simpler
but less efficient in contended paths. It turns out some microbenchmarks
or pathological cases might be limited by this so I'm trying to find
improvements. In one case there is already a better primitive available,
in another case the end result allows a much bigger simplification so it
should be worth the more complicated asm primitive.

Thanks,
Nick

Nicholas Piggin (4):
  powerpc/qspinlock: Avoid cmpxchg pattern in lock stealing
  powerpc/qspinlock: Avoid cmpxchg style patterns in queue head locking
  powerpc/qspinlock: Remove !maybe_waiters special case queue head
    locking
  powerpc/qspinlock: add compile-time tuning adjustments

 arch/powerpc/include/asm/qspinlock.h |  61 ++++++-
 arch/powerpc/lib/qspinlock.c         | 237 ++++++++++++---------------
 2 files changed, 167 insertions(+), 131 deletions(-)

-- 
2.37.2


             reply	other threads:[~2022-11-14 16:12 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-11-14 16:11 Nicholas Piggin [this message]
2022-11-14 16:11 ` [RFC PATCH 1/4] powerpc/qspinlock: Avoid cmpxchg pattern in lock stealing Nicholas Piggin
2022-11-14 16:11 ` [RFC PATCH 2/4] powerpc/qspinlock: Avoid cmpxchg style patterns in queue head locking Nicholas Piggin
2022-11-14 16:11 ` [RFC PATCH 3/4] powerpc/qspinlock: Remove !maybe_waiters special case " Nicholas Piggin
2022-11-14 16:11 ` [RFC PATCH 4/4] powerpc/qspinlock: add compile-time tuning adjustments Nicholas Piggin

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=20221114161119.2883620-1-npiggin@gmail.com \
    --to=npiggin@gmail.com \
    --cc=jniethe5@gmail.com \
    --cc=laurent.dufour@fr.ibm.com \
    --cc=linuxppc-dev@lists.ozlabs.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).