Searched +hist:606576 +hist:ce (Results 26 - 26 of 26) sorted by relevance

12

/linux-master/arch/x86/
H A DKconfigdiff a432b7c0 Mon Sep 18 12:40:27 MDT 2023 Uros Bizjak <ubizjak@gmail.com> locking/lockref/x86: Enable ARCH_USE_CMPXCHG_LOCKREF for X86_CMPXCHG64

The following commit:

bc08b449ee14 ("lockref: implement lockless reference count updates using cmpxchg()")

enabled lockless reference count updates using cmpxchg() only for x86_64,
and left x86_32 behind due to inability to detect support for
cmpxchg8b instruction.

Nowadays, we can use CONFIG_X86_CMPXCHG64 for this purpose. Also,
by using try_cmpxchg64() instead of cmpxchg64() in the CMPXCHG_LOOP macro,
the compiler actually produces sane code, improving the
lockref_get_not_zero() main loop from:

eb: 8d 48 01 lea 0x1(%eax),%ecx
ee: 85 c0 test %eax,%eax
f0: 7e 2f jle 121 <lockref_get_not_zero+0x71>
f2: 8b 44 24 10 mov 0x10(%esp),%eax
f6: 8b 54 24 14 mov 0x14(%esp),%edx
fa: 8b 74 24 08 mov 0x8(%esp),%esi
fe: f0 0f c7 0e lock cmpxchg8b (%esi)
102: 8b 7c 24 14 mov 0x14(%esp),%edi
106: 89 c1 mov %eax,%ecx
108: 89 c3 mov %eax,%ebx
10a: 8b 74 24 10 mov 0x10(%esp),%esi
10e: 89 d0 mov %edx,%eax
110: 31 fa xor %edi,%edx
112: 31 ce xor %ecx,%esi
114: 09 f2 or %esi,%edx
116: 75 58 jne 170 <lockref_get_not_zero+0xc0>

to:

350: 8d 4f 01 lea 0x1(%edi),%ecx
353: 85 ff test %edi,%edi
355: 7e 79 jle 3d0 <lockref_get_not_zero+0xb0>
357: f0 0f c7 0e lock cmpxchg8b (%esi)
35b: 75 53 jne 3b0 <lockref_get_not_zero+0x90>

Signed-off-by: Uros Bizjak <ubizjak@gmail.com>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Acked-by: Linus Torvalds <torvalds@linux-foundation.org>
Link: https://lore.kernel.org/r/20230918184050.9180-1-ubizjak@gmail.com
diff 606576ce Mon Oct 06 17:06:12 MDT 2008 Steven Rostedt <rostedt@goodmis.org> ftrace: rename FTRACE to FUNCTION_TRACER

Due to confusion between the ftrace infrastructure and the gcc profiling
tracer "ftrace", this patch renames the config options from FTRACE to
FUNCTION_TRACER. The other two names that are offspring from FTRACE
DYNAMIC_FTRACE and FTRACE_MCOUNT_RECORD will stay the same.

This patch was generated mostly by script, and partially by hand.

Signed-off-by: Steven Rostedt <srostedt@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
diff 606576ce Mon Oct 06 17:06:12 MDT 2008 Steven Rostedt <rostedt@goodmis.org> ftrace: rename FTRACE to FUNCTION_TRACER

Due to confusion between the ftrace infrastructure and the gcc profiling
tracer "ftrace", this patch renames the config options from FTRACE to
FUNCTION_TRACER. The other two names that are offspring from FTRACE
DYNAMIC_FTRACE and FTRACE_MCOUNT_RECORD will stay the same.

This patch was generated mostly by script, and partially by hand.

Signed-off-by: Steven Rostedt <srostedt@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>

Completed in 679 milliseconds

12