Message ID | 20240528144345.5980-1-ubizjak@gmail.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | [v2,1/2] percpu: Add __this_cpu_try_cmpxchg() | expand |
On Tue, May 28, 2024 at 04:43:13PM +0200, Uros Bizjak wrote: > Add __this_cpu_try_cmpxchg() version of the percpu op. > > Signed-off-by: Uros Bizjak <ubizjak@gmail.com> > Cc: Andrew Morton <akpm@linux-foundation.org> > Cc: Uladzislau Rezki <urezki@gmail.com> > Cc: Christoph Hellwig <hch@infradead.org> > Cc: Lorenzo Stoakes <lstoakes@gmail.com> > Cc: Dennis Zhou <dennis@kernel.org> > Cc: Tejun Heo <tj@kernel.org> > Cc: Christoph Lameter <cl@linux.com> > --- > include/linux/percpu-defs.h | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/include/linux/percpu-defs.h b/include/linux/percpu-defs.h > index ec3573119923..8efce7414fad 100644 > --- a/include/linux/percpu-defs.h > +++ b/include/linux/percpu-defs.h > @@ -475,6 +475,12 @@ do { \ > raw_cpu_cmpxchg(pcp, oval, nval); \ > }) > > +#define __this_cpu_try_cmpxchg(pcp, ovalp, nval) \ > +({ \ > + __this_cpu_preempt_check("try_cmpxchg"); \ > + raw_cpu_try_cmpxchg(pcp, ovalp, nval); \ > +}) > + > #define __this_cpu_sub(pcp, val) __this_cpu_add(pcp, -(typeof(pcp))(val)) > #define __this_cpu_inc(pcp) __this_cpu_add(pcp, 1) > #define __this_cpu_dec(pcp) __this_cpu_sub(pcp, 1) > -- > 2.42.0 > Acked-by: Uladzislau Rezki (Sony) <urezki@gmail.com> Thanks! -- Uladzislau Rezki
diff --git a/include/linux/percpu-defs.h b/include/linux/percpu-defs.h index ec3573119923..8efce7414fad 100644 --- a/include/linux/percpu-defs.h +++ b/include/linux/percpu-defs.h @@ -475,6 +475,12 @@ do { \ raw_cpu_cmpxchg(pcp, oval, nval); \ }) +#define __this_cpu_try_cmpxchg(pcp, ovalp, nval) \ +({ \ + __this_cpu_preempt_check("try_cmpxchg"); \ + raw_cpu_try_cmpxchg(pcp, ovalp, nval); \ +}) + #define __this_cpu_sub(pcp, val) __this_cpu_add(pcp, -(typeof(pcp))(val)) #define __this_cpu_inc(pcp) __this_cpu_add(pcp, 1) #define __this_cpu_dec(pcp) __this_cpu_sub(pcp, 1)
Add __this_cpu_try_cmpxchg() version of the percpu op. Signed-off-by: Uros Bizjak <ubizjak@gmail.com> Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Uladzislau Rezki <urezki@gmail.com> Cc: Christoph Hellwig <hch@infradead.org> Cc: Lorenzo Stoakes <lstoakes@gmail.com> Cc: Dennis Zhou <dennis@kernel.org> Cc: Tejun Heo <tj@kernel.org> Cc: Christoph Lameter <cl@linux.com> --- include/linux/percpu-defs.h | 6 ++++++ 1 file changed, 6 insertions(+)