From: Conor Dooley <mail@conchuod.ie>
To: openrisc@lists.librecores.org
Subject: [OpenRISC] [PATCH 0/5] Generic Ticket Spinlocks
Date: Tue, 22 Mar 2022 20:19:12 +0000 [thread overview]
Message-ID: <7dca0cb8-f0aa-a4cf-7f6f-0e4025527f5d@conchuod.ie> (raw)
In-Reply-To: <mhng-f97b1e7d-1523-4ae5-923b-e73a8db48824@palmer-ri-x1c9>
On 22/03/2022 20:02, Palmer Dabbelt wrote:
> On Tue, 22 Mar 2022 11:18:18 PDT (-0700), mail at conchuod.ie wrote:
>> On 16/03/2022 23:25, Palmer Dabbelt wrote:
>>> Peter sent an RFC out about a year ago
>>> <https://lore.kernel.org/lkml/YHbBBuVFNnI4kjj3@hirez.programming.kicks-ass.net/>,
>>>
>>> but after a spirited discussion it looks like we lost track of things.
>>> IIRC there was broad consensus on this being the way to go, but there
>>> was a lot of discussion so I wasn't sure. Given that it's been a year,
>>> I figured it'd be best to just send this out again formatted a bit more
>>> explicitly as a patch.
>>>
>>> This has had almost no testing (just a build test on RISC-V defconfig),
>>> but I wanted to send it out largely as-is because I didn't have a SOB
>>> from Peter on the code. I had sent around something sort of similar in
>>> spirit, but this looks completely re-written. Just to play it safe I
>>> wanted to send out almost exactly as it was posted. I'd probably rename
>>> this tspinlock and tspinlock_types, as the mis-match kind of makes my
>>> eyes go funny, but I don't really care that much. I'll also go through
>>> the other ports and see if there's any more candidates, I seem to
>>> remember there having been more than just OpenRISC but it's been a
>>> while.
>>>
>>> I'm in no big rush for this and given the complex HW dependencies I
>>> think it's best to target it for 5.19, that'd give us a full merge
>>> window for folks to test/benchmark it on their systems to make sure it's
>>> OK.
>>
>> Is there a specific way you have been testing/benching things, or is it
>> just a case of test what we ourselves care about?
>
> I do a bunch of functional testing in QEMU (it's all in my
> riscv-systems-ci repo, but that's not really fit for human consumption
> so I don't tell folks to use it). That's pretty much useless for
> something like this: sure it'd find something just straight-up broken in
> the lock implementation, but the stuff I'm really worried about here
> would be poor interactions with hardware that wasn't designed/tested
> against this flavor of locks.
>
> I don't currently do any regular testing on HW, but there's a handful of
> folks who do. If you've got HW you care about then the best bet is to
> give this a shot on it. There's already been some boot test reports, so
> it's at least mostly there (on RISC-V, last I saw it was breaking
> OpenRISC so there's probably some lurking issue somewhere). I was
> hoping we'd get enough coverage that way to have confidence in this, but
> if not then I've got a bunch of RISC-V hardware lying around that I can
> spin up to fill the gaps.
Aye, I'll at the very least boot it on an Icicle (which should *finally*
be able to boot a mainline kernel with 5.18), but I don't think that'll
be a problem.
> As far as what workloads, I really don't know here. At least on RISC-V,
> I think any lock microbenchmarks would be essentially meaningless: this
> is fair, so even if lock/unlock is a bit slower that's probably a win
> for real workloads. That said, I'm not sure any of the existing
> hardware runs any workloads that I'm personally interested in so unless
> this is some massive hit to just general system responsiveness or
> make/GCC then I'm probably not going to find anything.
There's a couple benchmarks we've been looking at, although I'm not sure
that they are "real" workloads. If they encounter any meaningful
difference I'll let you know I guess.
> Happy to hear if anyone has ideas, though.
Me too!
prev parent reply other threads:[~2022-03-22 20:19 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-03-16 23:25 [OpenRISC] [PATCH 0/5] Generic Ticket Spinlocks Palmer Dabbelt
2022-03-16 23:25 ` [OpenRISC] [PATCH 1/5] asm-generic: qspinlock: Indicate the use of mixed-size atomics Palmer Dabbelt
2022-03-17 17:46 ` Waiman Long
2022-03-16 23:25 ` [OpenRISC] [PATCH 2/5] asm-generic: ticket-lock: New generic ticket-based spinlock Palmer Dabbelt
2022-03-17 9:46 ` Peter Zijlstra
2022-03-17 13:57 ` Boqun Feng
2022-03-17 15:03 ` Waiman Long
2022-03-17 15:34 ` Boqun Feng
2022-03-17 18:04 ` Waiman Long
2022-03-16 23:25 ` [OpenRISC] [PATCH 3/5] openrisc: Move to ticket-spinlock Palmer Dabbelt
2022-03-17 9:46 ` Peter Zijlstra
2022-03-21 21:29 ` Stafford Horne
2022-03-22 3:29 ` Guo Ren
2022-03-22 4:10 ` Stafford Horne
2022-03-22 6:45 ` Guo Ren
2022-03-16 23:25 ` [OpenRISC] [PATCH 4/5] RISC-V: Move to ticket-spinlocks Palmer Dabbelt
2022-03-16 23:26 ` [OpenRISC] [PATCH 5/5] RISC-V: Move to queued RW locks Palmer Dabbelt
2022-03-17 9:47 ` Peter Zijlstra
2022-03-17 9:16 ` [OpenRISC] [PATCH 0/5] Generic Ticket Spinlocks Arnd Bergmann
2022-03-17 11:09 ` Heiko =?unknown-8bit?q?St=C3=BCbner?=
2022-03-18 7:24 ` Guo Ren
2022-03-18 8:40 ` Guo Ren
2022-03-22 18:18 ` Conor Dooley
2022-03-22 20:02 ` Palmer Dabbelt
2022-03-22 20:19 ` Conor Dooley [this message]
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=7dca0cb8-f0aa-a4cf-7f6f-0e4025527f5d@conchuod.ie \
--to=mail@conchuod.ie \
--cc=openrisc@lists.librecores.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 read-only IMAP folder(s) and NNTP newsgroup(s).