[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <YHgGWT6eJOAofVaA@hirez.programming.kicks-ass.net>
Date: Thu, 15 Apr 2021 11:24:41 +0200
From: Peter Zijlstra <peterz@...radead.org>
To: Catalin Marinas <catalin.marinas@....com>
Cc: Stafford Horne <shorne@...il.com>, Guo Ren <guoren@...nel.org>,
Christoph Müllner <christophm30@...il.com>,
Palmer Dabbelt <palmer@...belt.com>,
Anup Patel <anup@...infault.org>,
linux-riscv <linux-riscv@...ts.infradead.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Guo Ren <guoren@...ux.alibaba.com>,
Will Deacon <will@...nel.org>, Arnd Bergmann <arnd@...db.de>,
jonas@...thpole.se, stefan.kristiansson@...nalahti.fi
Subject: Re: [RFC][PATCH] locking: Generic ticket-lock
On Thu, Apr 15, 2021 at 10:02:18AM +0100, Catalin Marinas wrote:
> IIRC, one issue we had with ticket spinlocks on arm64 was on big.LITTLE
> systems where the little CPUs were always last to get a ticket when
> racing with the big cores. That was with load/store exclusives (LR/SC
> style) and would have probably got better with atomics but we moved to
> qspinlocks eventually (the Juno board didn't have atomics).
That sounds like a fundamental LL/SC fail, and I'm not sure qspinlock
will help with that at all. The big cores can still hog the lock word
and starve the little ones.
And those things not having AMOs there's really not much you can do. You
want the big cores to back off, but they're having success, not failure.
I suppose you can add a delay after a successful LL/SC, but that sucks.
I suppose modern big.little things will have AMOs, so maybe nobody still
cares about those systems.
Powered by blists - more mailing lists