[PATCH 1/5] linux/minmax.h: add non-atomic version of xchg
Andy Shevchenko
andriy.shevchenko at linux.intel.com
Fri Dec 9 18:56:28 UTC 2022
On Fri, Dec 09, 2022 at 04:48:39PM +0100, Andrzej Hajda wrote:
> The pattern of setting variable with new value and returning old
> one is very common in kernel. Usually atomicity of the operation
> is not required, so xchg seems to be suboptimal and confusing in
> such cases. Since name xchg is already in use and __xchg is used
> in architecture code, proposition is to name the macro exchange.
>
> Signed-off-by: Andrzej Hajda <andrzej.hajda at intel.com>
> ---
> Hi,
>
> I hope there will be place for such tiny helper in kernel.
> Quick cocci analyze shows there is probably few thousands places
> where it could be used, of course I do not intend to do it :).
>
> I was not sure where to put this macro, I hope near swap definition
> is the most suitable place.
Ah, swap() in this context is not the same. minmax.h hosts it because
it's often related to the swap function in the sort-type algorithms.
> Moreover sorry if to/cc is not correct - get_maintainers.pl was
> more confused than me, to who address this patch.
...
> include/linux/minmax.h | 14 ++++++++++++++
Does it really suit this header? I would expect something else.
Maybe include/linux/non-atomic/xchg.h, dunno.
Btw, have you looked if Ingo's gigantic series have done anything to cmpxchg.h
and related headers? Maybe some ideas can be taken from there?
--
With Best Regards,
Andy Shevchenko
More information about the dri-devel
mailing list