<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/linux.git/arch/x86/include/asm/percpu.h, branch v6.12.80</title>
<subtitle>Linux kernel stable tree (mirror)</subtitle>
<id>https://git.radix-linux.su/kernel/linux.git/atom?h=v6.12.80</id>
<link rel='self' href='https://git.radix-linux.su/kernel/linux.git/atom?h=v6.12.80'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/'/>
<updated>2025-05-29T09:02:41+00:00</updated>
<entry>
<title>x86/locking: Use ALT_OUTPUT_SP() for percpu_{,try_}cmpxchg{64,128}_op()</title>
<updated>2025-05-29T09:02:41+00:00</updated>
<author>
<name>Uros Bizjak</name>
<email>ubizjak@gmail.com</email>
</author>
<published>2025-02-14T15:07:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=5111c2e0cf2b650ebf69003e3a75aa055eb9a3b0'/>
<id>urn:sha1:5111c2e0cf2b650ebf69003e3a75aa055eb9a3b0</id>
<content type='text'>
[ Upstream commit 4087e16b033140cf2ce509ec23503bddec818a16 ]

percpu_{,try_}cmpxchg{64,128}() macros use CALL instruction inside
asm statement in one of their alternatives. Use ALT_OUTPUT_SP()
macro to add required dependence on %esp register.

ALT_OUTPUT_SP() implements the above dependence by adding
ASM_CALL_CONSTRAINT to its arguments. This constraint should be used
for any inline asm which has a CALL instruction, otherwise the
compiler may schedule the asm before the frame pointer gets set up
by the containing function, causing objtool to print a "call without
frame pointer save/setup" warning.

Signed-off-by: Uros Bizjak &lt;ubizjak@gmail.com&gt;
Signed-off-by: Ingo Molnar &lt;mingo@kernel.org&gt;
Cc: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Link: https://lore.kernel.org/r/20250214150929.5780-1-ubizjak@gmail.com
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>x86/percpu: Clean up &lt;asm/percpu.h&gt; vertical alignment details</title>
<updated>2024-05-20T08:56:25+00:00</updated>
<author>
<name>Ingo Molnar</name>
<email>mingo@kernel.org</email>
</author>
<published>2024-05-20T08:45:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=9130ea06163fc229665b9ec4666de9f4ef68284d'/>
<id>urn:sha1:9130ea06163fc229665b9ec4666de9f4ef68284d</id>
<content type='text'>
 - Fix/unify misc vertical alignment inconsistencies

 - Make CPP macros look a bit more like C code by adding
   an empty line after local variable declaration blocks,
   and before final rvalue statements.

No change in code.

Signed-off-by: Ingo Molnar &lt;mingo@kernel.org&gt;
Cc: Uros Bizjak &lt;ubizjak@gmail.com&gt;
Cc: Andy Lutomirski &lt;luto@kernel.org&gt;
Cc: Josh Poimboeuf &lt;jpoimboe@redhat.com&gt;
Cc: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Cc: linux-kernel@vger.kernel.org
</content>
</entry>
<entry>
<title>x86/percpu: Clean up &lt;asm/percpu.h&gt; a bit</title>
<updated>2024-05-20T08:56:23+00:00</updated>
<author>
<name>Ingo Molnar</name>
<email>mingo@kernel.org</email>
</author>
<published>2024-05-20T08:22:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=61d73e4f7d538f3907d954a531169e8164aef56b'/>
<id>urn:sha1:61d73e4f7d538f3907d954a531169e8164aef56b</id>
<content type='text'>
 - Fix misc typos

 - There's 4 variants of the same spelling right now:

     'per-CPU', 'per CPU', 'percpu' and 'per-cpu'

   Standardize on 'per-CPU' only.

 - s/makes gcc load
    /makes the compiler load

 - Instead of:

     #ifdef CONFIG_XXXX
     #define YYYY FOO
     #else
     #define YYYY BAR
     #endif

   Use the slightly more readable form of:

     #ifdef CONFIG_XXXX
     # define YYYY FOO
     #else
     # define YYYY BAR
     #endif

 - Standardize &amp; expand '#else' and '#endif' comments

 - Fix comment style

 - Capitalize x86 instruction names in comments

No change in code.

Signed-off-by: Ingo Molnar &lt;mingo@kernel.org&gt;
Cc: Uros Bizjak &lt;ubizjak@gmail.com&gt;
Cc: Andy Lutomirski &lt;luto@kernel.org&gt;
Cc: Josh Poimboeuf &lt;jpoimboe@redhat.com&gt;
Cc: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Cc: linux-kernel@vger.kernel.org
</content>
</entry>
<entry>
<title>x86/percpu: Move some percpu accessors around to reduce ifdeffery</title>
<updated>2024-05-20T08:25:31+00:00</updated>
<author>
<name>Uros Bizjak</name>
<email>ubizjak@gmail.com</email>
</author>
<published>2024-05-20T08:09:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=47c9dbd2fb5f98453840e18ebced9138ec8b4cc5'/>
<id>urn:sha1:47c9dbd2fb5f98453840e18ebced9138ec8b4cc5</id>
<content type='text'>
Move some percpu accessors around, mainly to reduce ifdeffery
and improve readabilty by following dependencies between
accessors.

No functional change intended.

Signed-off-by: Uros Bizjak &lt;ubizjak@gmail.com&gt;
Signed-off-by: Ingo Molnar &lt;mingo@kernel.org&gt;
Cc: Andy Lutomirski &lt;luto@kernel.org&gt;
Cc: Josh Poimboeuf &lt;jpoimboe@redhat.com&gt;
Cc: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Link: https://lore.kernel.org/r/20240520080951.121049-2-ubizjak@gmail.com
</content>
</entry>
<entry>
<title>x86/percpu: Rename percpu_stable_op() to __raw_cpu_read_stable()</title>
<updated>2024-05-20T08:17:10+00:00</updated>
<author>
<name>Uros Bizjak</name>
<email>ubizjak@gmail.com</email>
</author>
<published>2024-05-20T08:09:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=48908919c9062bf9472def7389dd7cd9c6a45b70'/>
<id>urn:sha1:48908919c9062bf9472def7389dd7cd9c6a45b70</id>
<content type='text'>
Rename percpu_stable_op() to __raw_cpu_read_stable() to be
in line with other read/write percpu accessors.

No functional change intended.

Signed-off-by: Uros Bizjak &lt;ubizjak@gmail.com&gt;
Signed-off-by: Ingo Molnar &lt;mingo@kernel.org&gt;
Cc: Uros Bizjak &lt;ubizjak@gmail.com&gt;
Cc: Andy Lutomirski &lt;luto@kernel.org&gt;
Cc: Josh Poimboeuf &lt;jpoimboe@redhat.com&gt;
Cc: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Link: https://lore.kernel.org/r/20240520080951.121049-1-ubizjak@gmail.com
</content>
</entry>
<entry>
<title>x86/percpu: Fix operand constraint modifier in __raw_cpu_write()</title>
<updated>2024-05-18T09:18:42+00:00</updated>
<author>
<name>Uros Bizjak</name>
<email>ubizjak@gmail.com</email>
</author>
<published>2024-04-30T09:17:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=1fe67aee8ab3fdab4357afc983a9e9ff3892d694'/>
<id>urn:sha1:1fe67aee8ab3fdab4357afc983a9e9ff3892d694</id>
<content type='text'>
__raw_cpu_write() with !USE_X86_SEG_SUPPORT config uses read/write
operand constraint modifier "+" for its memory location. This signals
the compiler that the location is both read and written by the asm.
This is not true, because MOV insn only writes to the output.

Correct the modifier to "=" to inform the compiler that the memory
location is only written to. This also prevents the compiler from
value tracking the undefined value from the uninitialized memory.

Signed-off-by: Uros Bizjak &lt;ubizjak@gmail.com&gt;
Signed-off-by: Ingo Molnar &lt;mingo@kernel.org&gt;
Cc: Andy Lutomirski &lt;luto@kernel.org&gt;
Cc: Josh Poimboeuf &lt;jpoimboe@redhat.com&gt;
Cc: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Link: https://lore.kernel.org/r/20240430091833.196482-5-ubizjak@gmail.com
</content>
</entry>
<entry>
<title>x86/percpu: Introduce the __raw_cpu_read_const() macro</title>
<updated>2024-05-18T09:18:42+00:00</updated>
<author>
<name>Uros Bizjak</name>
<email>ubizjak@gmail.com</email>
</author>
<published>2024-04-30T09:17:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=539615de7004a46778020183622856f4ca14e4ac'/>
<id>urn:sha1:539615de7004a46778020183622856f4ca14e4ac</id>
<content type='text'>
Introduce the __raw_cpu_read_const() macro to further reduce ifdeffery
and differences between configs w/ and w/o USE_X86_SEG_SUPPORT.

No functional change intended.

Signed-off-by: Uros Bizjak &lt;ubizjak@gmail.com&gt;
Signed-off-by: Ingo Molnar &lt;mingo@kernel.org&gt;
Cc: Andy Lutomirski &lt;luto@kernel.org&gt;
Cc: Josh Poimboeuf &lt;jpoimboe@redhat.com&gt;
Cc: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Link: https://lore.kernel.org/r/20240430091833.196482-4-ubizjak@gmail.com
</content>
</entry>
<entry>
<title>x86/percpu: Unify percpu read-write accessors</title>
<updated>2024-05-18T09:18:41+00:00</updated>
<author>
<name>Uros Bizjak</name>
<email>ubizjak@gmail.com</email>
</author>
<published>2024-04-30T09:17:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=a50ea641296699af1947336c2e75f6234f53548a'/>
<id>urn:sha1:a50ea641296699af1947336c2e75f6234f53548a</id>
<content type='text'>
Redefine percpu_from_op() and percpu_to_op() as __raw_cpu_read()
and __raw_cpu_write().  Unify __raw_cpu_{read,write}() macros
between configs w/ and w/o USE_X86_SEG_SUPPORT in order to
unify {raw,this}_cpu{read_write}_N() accessors between configs.

No functional change intended.

Signed-off-by: Uros Bizjak &lt;ubizjak@gmail.com&gt;
Signed-off-by: Ingo Molnar &lt;mingo@kernel.org&gt;
Cc: Andy Lutomirski &lt;luto@kernel.org&gt;
Cc: Josh Poimboeuf &lt;jpoimboe@redhat.com&gt;
Cc: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Link: https://lore.kernel.org/r/20240430091833.196482-3-ubizjak@gmail.com
</content>
</entry>
<entry>
<title>x86/percpu: Move some percpu macros around for readability</title>
<updated>2024-05-18T09:18:41+00:00</updated>
<author>
<name>Uros Bizjak</name>
<email>ubizjak@gmail.com</email>
</author>
<published>2024-04-30T09:17:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=08d564ad699ef32ceaf99d238b3d9c1f4ce5c998'/>
<id>urn:sha1:08d564ad699ef32ceaf99d238b3d9c1f4ce5c998</id>
<content type='text'>
Move some percpu macros around to make a follow-up
patch more readable.

No functional change intended.

Signed-off-by: Uros Bizjak &lt;ubizjak@gmail.com&gt;
Signed-off-by: Ingo Molnar &lt;mingo@kernel.org&gt;
Cc: Andy Lutomirski &lt;luto@kernel.org&gt;
Cc: Josh Poimboeuf &lt;jpoimboe@redhat.com&gt;
Cc: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Link: https://lore.kernel.org/r/20240430091833.196482-2-ubizjak@gmail.com
</content>
</entry>
<entry>
<title>x86/percpu: Introduce the pcpu_binary_op() macro</title>
<updated>2024-05-18T09:18:40+00:00</updated>
<author>
<name>Uros Bizjak</name>
<email>ubizjak@gmail.com</email>
</author>
<published>2024-04-30T09:17:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=455ca134a7b2121dd739d425d3be313fb52f0651'/>
<id>urn:sha1:455ca134a7b2121dd739d425d3be313fb52f0651</id>
<content type='text'>
Introduce the pcpu_binary_op() macro, a copy of the percpu_to_op() macro.

Update percpu binary operators to use the new macro, since
percpu_to_op() will be re-purposed as a raw percpu write accessor
in a follow-up patch.

No functional change intended.

Signed-off-by: Uros Bizjak &lt;ubizjak@gmail.com&gt;
Signed-off-by: Ingo Molnar &lt;mingo@kernel.org&gt;
Cc: Andy Lutomirski &lt;luto@kernel.org&gt;
Cc: Josh Poimboeuf &lt;jpoimboe@redhat.com&gt;
Cc: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Link: https://lore.kernel.org/r/20240430091833.196482-1-ubizjak@gmail.com
</content>
</entry>
</feed>
