Re: [PATCH 3/7] microblaze: Define SMP safe bit operations

From: Peter Zijlstra
Date: Thu Feb 13 2020 - 04:11:12 EST


On Thu, Feb 13, 2020 at 09:01:21AM +0000, Stefan Asserhall wrote:
> The comment in the generic bitops.h says "You should recode these in the
> native assembly language, if at all possible". I don't think using the generic
> implementation will be as efficient as the current arch specific one.

That is a very crusty old recommendation. Please look at the compiler
generated code.

We've extended the atomic_t operations the past few years and Will wrote
the generic atomic bitops for Arm64, we're looking to convert more LL/SC
archs to them.

There is currently one known issue with it, but Will has a patch-set
pending to solve that (IIRC that only matters if you have stack
protector on).

Also see this thread:

https://lkml.kernel.org/r/875zimp0ay.fsf@xxxxxxxxxxxxxxxxxx

And these patches:

https://lkml.kernel.org/r/20200123153341.19947-1-will@xxxxxxxxxx