]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
x86/alternatives: Add documentation for smp_text_poke_batch_add()
authorIngo Molnar <mingo@kernel.org>
Fri, 11 Apr 2025 05:40:50 +0000 (07:40 +0200)
committerIngo Molnar <mingo@kernel.org>
Fri, 11 Apr 2025 09:01:34 +0000 (11:01 +0200)
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Cc: Juergen Gross <jgross@suse.com>
Cc: "H . Peter Anvin" <hpa@zytor.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: https://lore.kernel.org/r/20250411054105.2341982-39-mingo@kernel.org
arch/x86/kernel/alternative.c

index a9726cc9697221c81ebea0f264b9f9dd3c12843b..b47ad08535899ae4833496bbf7018b9becbb6cd6 100644 (file)
@@ -2873,6 +2873,19 @@ static void smp_text_poke_batch_flush(void *addr)
        }
 }
 
+/**
+ * smp_text_poke_batch_add() -- update instruction on live kernel on SMP, batched
+ * @addr:      address to patch
+ * @opcode:    opcode of new instruction
+ * @len:       length to copy
+ * @emulate:   instruction to be emulated
+ *
+ * Add a new instruction to the current queue of to-be-patched instructions
+ * the kernel maintains. The patching request will not be executed immediately,
+ * but becomes part of an array of patching requests, optimized for batched
+ * execution. All pending patching requests will be executed on the next
+ * smp_text_poke_batch_finish() call.
+ */
 void __ref smp_text_poke_batch_add(void *addr, const void *opcode, size_t len, const void *emulate)
 {
        smp_text_poke_batch_flush(addr);