Messages in this thread | | | From | hev <> | Date | Fri, 30 Jul 2021 10:50:53 +0800 | Subject | Re: [RFC PATCH v3] locking/atomic: Implement atomic{,64,_long}_{fetch_,}{andnot_or}{,_relaxed,_acquire,_release}() |
| |
Hi,
On Thu, Jul 29, 2021 at 8:35 PM Will Deacon <will@kernel.org> wrote: > > On Thu, Jul 29, 2021 at 01:43:41PM +0200, Arnd Bergmann wrote: > > On Thu, Jul 29, 2021 at 11:56 AM Will Deacon <will@kernel.org> wrote: > > > On Thu, Jul 29, 2021 at 05:30:03PM +0800, Rui Wang wrote: > > > > This patch introduce a new atomic primitive andnot_or: > > > > > > Please see my other comments on the other patches you posted: > > > > > > https://lore.kernel.org/r/20210729093923.GD21151@willie-the-truck > > > > > > Overall, I'm not thrilled to bits by extending the atomics API with > > > operations that cannot be implemented efficiently on any (?) architectures > > > and are only used by the qspinlock slowpath on machines with more than 16K > > > CPUs. > > > > Wouldn't this also help improve set_mask_bits()? That one at least has > > a handful of users in the kernel. > > For pure LL/SC architectures, yes, but I don't think it helps anybody else. > > Afaict, an architecture can already override set_mask_bits, so why do we > need to add this primitive to the atomic API? > > Will
So what's next?
Now the set_mask_bits return oldval, return newval before 5.0. :-D commit 1db604f676b("include/linux/bitops.h: set_mask_bits() to return old value")
Regards, Rui
| |