Re: [PATCH RFC] Avoid memory barrier in read_seqcount() through load acquire

From: Waiman Long
Date: Tue Aug 13 2024 - 16:24:13 EST



On 8/13/24 16:01, Linus Torvalds wrote:
On Tue, 13 Aug 2024 at 12:58, Waiman Long <longman@xxxxxxxxxx> wrote:
Sorry for the confusion. What you said above is actually the reason that
I ask this question. In the same way, smp_rmb()/wmb() is available for
all arches. I am actually asking if it should be a flag that indicates
the arch's preference to use acquire/release over rmb/wmb.
I think that if an arch says it has native acquire/release, we should
basically assume that it's the better model.

I mean, we could certainly use "PREFERS" instead of "HAS", but is
there any real reason to do that?

Do we suddenly expect that people would make a CPU that has native
acquire/release, and it would somehow then prefer a full read barrier?

ARCH_HAS_ACQUIRE_RELEASE is fine, but the help text for this Kconfig option should clarify this preference as both the ARCH_HAS_ACQUIRE_RELEASE and the !ARCH_HAS_ACQUIRE_RELEASE code are valid.

Cheers,
Longman