[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <974db75a-4ffd-4379-8085-484c45702fe5@redhat.com>
Date: Thu, 9 Jan 2025 08:59:29 -0500
From: Waiman Long <llong@...hat.com>
To: Kumar Kartikeya Dwivedi <memxor@...il.com>,
Peter Zijlstra <peterz@...radead.org>
Cc: Linus Torvalds <torvalds@...ux-foundation.org>,
Will Deacon <will@...nel.org>, bpf@...r.kernel.org,
linux-kernel@...r.kernel.org, Waiman Long <llong@...hat.com>,
Alexei Starovoitov <ast@...nel.org>, Andrii Nakryiko <andrii@...nel.org>,
Daniel Borkmann <daniel@...earbox.net>,
Martin KaFai Lau <martin.lau@...nel.org>,
Eduard Zingerman <eddyz87@...il.com>, "Paul E. McKenney"
<paulmck@...nel.org>, Tejun Heo <tj@...nel.org>,
Barret Rhoden <brho@...gle.com>, Josh Don <joshdon@...gle.com>,
Dohyun Kim <dohyunkim@...gle.com>, kernel-team@...a.com
Subject: Re: [PATCH bpf-next v1 00/22] Resilient Queued Spin Lock
On 1/8/25 3:12 PM, Kumar Kartikeya Dwivedi wrote:
> On Wed, 8 Jan 2025 at 14:48, Peter Zijlstra <peterz@...radead.org> wrote:
>> On Tue, Jan 07, 2025 at 03:54:36PM -0800, Linus Torvalds wrote:
>>> On Tue, 7 Jan 2025 at 06:00, Kumar Kartikeya Dwivedi <memxor@...il.com> wrote:
>>>> This patch set introduces Resilient Queued Spin Lock (or rqspinlock with
>>>> res_spin_lock() and res_spin_unlock() APIs).
>>> So when I see people doing new locking mechanisms, I invariably go "Oh no!".
>>>
>>> But this series seems reasonable to me. I see that PeterZ had a couple
>>> of minor comments (well, the arm64 one is more fundamental), which
>>> hopefully means that it seems reasonable to him too. Peter?
>> I've not had time to fully read the whole thing yet, I only did a quick
>> once over. I'll try and get around to doing a proper reading eventually,
>> but I'm chasing a regression atm, and then I need to go review a ton of
>> code Andrew merged over the xmas/newyears holiday :/
>>
>> One potential issue is that qspinlock isn't suitable for all
>> architectures -- and I've yet to figure out widely BPF is planning on
>> using this.
> For architectures where qspinlock is not available, I think we can
> have a fallback to a test and set lock with timeout and deadlock
> checks, like patch 12.
> We plan on using this in BPF core and BPF maps, so the usage will be
> pervasive, and we have atleast one architecture in CI (s390) which
> doesn't have ARCH_USER_QUEUED_SPINLOCK selected, so we should have
> coverage for both cases. For now the fallback is missing, but I will
> add one in v2.
Event though ARCH_USE_QUEUED_SPINLOCK isn't set for s390, it is actually
using its own variant of qspinlock which encodes in the lock word
additional information needed by the architecture. Similary for PPC.
Cheers,
Longman
Powered by blists - more mailing lists