Re: [PATCH] xfs: Use xchg() in xlog_cil_insert_pcp_aggregate()

From: Carlos Maiolino
Date: Thu Nov 28 2024 - 07:19:48 EST


On Wed, 20 Nov 2024 16:06:22 +0100, Uros Bizjak wrote:
> try_cmpxchg() loop with constant "new" value can be substituted
> with just xchg() to atomically get and clear the location.
>
> The code on x86_64 improves from:
>
> 1e7f: 48 89 4c 24 10 mov %rcx,0x10(%rsp)
> 1e84: 48 03 14 c5 00 00 00 add 0x0(,%rax,8),%rdx
> 1e8b: 00
> 1e88: R_X86_64_32S __per_cpu_offset
> 1e8c: 8b 02 mov (%rdx),%eax
> 1e8e: 41 89 c5 mov %eax,%r13d
> 1e91: 31 c9 xor %ecx,%ecx
> 1e93: f0 0f b1 0a lock cmpxchg %ecx,(%rdx)
> 1e97: 75 f5 jne 1e8e <xlog_cil_commit+0x84e>
> 1e99: 48 8b 4c 24 10 mov 0x10(%rsp),%rcx
> 1e9e: 45 01 e9 add %r13d,%r9d
>
> [...]

Applied to for-next, thanks!

[1/1] xfs: Use xchg() in xlog_cil_insert_pcp_aggregate()
commit: 214093534f3c046bf5acc9affbf4e6bd9af4538b

Best regards,
--
Carlos Maiolino <cem@xxxxxxxxxx>