Re: [PATCH v3 1/5] arch,locking/atomic: arc: arch_cmpxchg should check data size

2023-11-22 Thread Andi Shyti
Hi Wuqiang,

On Tue, Nov 21, 2023 at 10:23:43PM +0800, wuqiang.matt wrote:
> arch_cmpxchg() should check data size rather than pointer size in case
> CONFIG_ARC_HAS_LLSC is defined. So rename __cmpxchg to __cmpxchg_32 to
> emphasize it's explicit support of 32bit data size with BUILD_BUG_ON()
> added to avoid any possible misuses with unsupported data types.
> 
> In case CONFIG_ARC_HAS_LLSC is undefined, arch_cmpxchg() uses spinlock
> to accomplish SMP-safety, so the BUILD_BUG_ON checking is uncecessary.
> 
> v2 -> v3:
>   - Patches regrouped and has the improvement for xtensa included
>   - Comments refined to address why these changes are needed
> 
> v1 -> v2:
>   - Try using native cmpxchg variants if avaialble, as Arnd advised
> 
> Signed-off-by: wuqiang.matt 
> Reviewed-by: Masami Hiramatsu (Google) 
> ---
>  arch/arc/include/asm/cmpxchg.h | 12 ++--
>  1 file changed, 6 insertions(+), 6 deletions(-)
> 
> diff --git a/arch/arc/include/asm/cmpxchg.h b/arch/arc/include/asm/cmpxchg.h
> index e138fde067de..bf46514f6f12 100644
> --- a/arch/arc/include/asm/cmpxchg.h
> +++ b/arch/arc/include/asm/cmpxchg.h
> @@ -18,14 +18,16 @@
>   * if (*ptr == @old)
>   *  *ptr = @new
>   */
> -#define __cmpxchg(ptr, old, new) \
> +#define __cmpxchg_32(ptr, old, new)  \
>  ({   \
>   __typeof__(*(ptr)) _prev;   \
>   \
> + BUILD_BUG_ON(sizeof(*(ptr)) != 4);  \
> + \
>   __asm__ __volatile__(   \
> - "1: llock  %0, [%1] \n" \
> + "1: llock  %0, [%1] \n" \
>   "   brne   %0, %2, 2f   \n" \
> - "   scond  %3, [%1] \n" \
> + "   scond  %3, [%1] \n" \
>   "   bnz 1b  \n" \
>   "2: \n" \
>   : "="(_prev)  /* Early clobber prevent reg reuse */   \
> @@ -47,7 +49,7 @@
>   \
>   switch(sizeof((_p_))) { \
>   case 4: \
> - _prev_ = __cmpxchg(_p_, _o_, _n_);  \
> + _prev_ = __cmpxchg_32(_p_, _o_, _n_);   \
>   break;  \
>   default:\
>   BUILD_BUG();\
> @@ -65,8 +67,6 @@
>   __typeof__(*(ptr)) _prev_;  \
>   unsigned long __flags;  \
>   \
> - BUILD_BUG_ON(sizeof(_p_) != 4); \
> - \

I think I made some comments here that have not been addressed or
replied.

Thanks,
Andi

>   /*  \
>* spin lock/unlock provide the needed smp_mb() before/after\
>*/ \
> -- 
> 2.40.1

___
linux-snps-arc mailing list
linux-snps-arc@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-snps-arc


Re: [Intel-gfx] [PATCH v5 5/7] io_uring: use __xchg if possible

2023-02-27 Thread Andi Shyti
Hi Andrzej,

On Wed, Jan 18, 2023 at 04:44:48PM +0100, Andrzej Hajda wrote:
> Recently introduced helper simplifies the code.
> 
> Signed-off-by: Andrzej Hajda 

Reviewed-by: Andi Shyti 

Thanks,
Andi

___
linux-snps-arc mailing list
linux-snps-arc@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-snps-arc


Re: [Intel-gfx] [PATCH v5 7/7] drm/i915/gt: use __xchg instead of internal helper

2023-02-27 Thread Andi Shyti
Hi Andrzej,

On Wed, Jan 18, 2023 at 04:44:50PM +0100, Andrzej Hajda wrote:
> Prefer core helper if available.
> 
> Signed-off-by: Andrzej Hajda 

Reviewed-by: Andi Shyti 

Thanks,
Andi

___
linux-snps-arc mailing list
linux-snps-arc@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-snps-arc


Re: [Intel-gfx] [PATCH v5 6/7] qed: use __xchg if possible

2023-02-27 Thread Andi Shyti
Hi Andrzej,

On Wed, Jan 18, 2023 at 04:44:49PM +0100, Andrzej Hajda wrote:
> Recently introduced helper simplifies the code.
> 
> Signed-off-by: Andrzej Hajda 

Reviewed-by: Andi Shyti 

Thanks,
Andi

___
linux-snps-arc mailing list
linux-snps-arc@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-snps-arc


Re: [Intel-gfx] [PATCH v5 4/7] llist: simplify __llist_del_all

2023-02-27 Thread Andi Shyti
Hi Andrzej,

On Wed, Jan 18, 2023 at 04:44:47PM +0100, Andrzej Hajda wrote:
> llist_del_all uses xchg, let's use __xchg here.
> 
> Signed-off-by: Andrzej Hajda 

Reviewed-by: Andi Shyti 

Thanks,
Andi

___
linux-snps-arc mailing list
linux-snps-arc@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-snps-arc


Re: [Intel-gfx] [PATCH v5 3/7] arch/*/uprobes: simplify arch_uretprobe_hijack_return_addr

2023-02-27 Thread Andi Shyti
Hi Andrzej,

On Wed, Jan 18, 2023 at 04:44:46PM +0100, Andrzej Hajda wrote:
> In all architectures, except x86, arch_uretprobe_hijack_return_addr
> is just __xchg.
> 
> Signed-off-by: Andrzej Hajda 

Reviewed-by: Andi Shyti 

Thanks,
Andi

___
linux-snps-arc mailing list
linux-snps-arc@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-snps-arc


Re: [Intel-gfx] [PATCH v5 2/7] linux/include: add non-atomic version of xchg

2023-02-27 Thread Andi Shyti
Hi Andrzej,

On Wed, Jan 18, 2023 at 04:44:45PM +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.
> 
> Signed-off-by: Andrzej Hajda 
> Reviewed-by: Andy Shevchenko 

Reviewed-by: Andi Shyti 

Thanks,
Andi

___
linux-snps-arc mailing list
linux-snps-arc@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-snps-arc


Re: [Intel-gfx] [PATCH v5 1/7] arch: rename all internal names __xchg to __arch_xchg

2023-02-27 Thread Andi Shyti
Hi Andrzej,

On Wed, Jan 18, 2023 at 04:44:44PM +0100, Andrzej Hajda wrote:
> __xchg will be used for non-atomic xchg macro.
> 
> Signed-off-by: Andrzej Hajda 
> Reviewed-by: Arnd Bergmann 
> Acked-by: Geert Uytterhoeven  [m68k]
> Acked-by: Palmer Dabbelt  [riscv]

Reviewed-by: Andi Shyti 

Thanks,
Andi

___
linux-snps-arc mailing list
linux-snps-arc@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-snps-arc