From: Ingo Molnar Date: Fri, 11 Apr 2025 05:40:50 +0000 (+0200) Subject: x86/alternatives: Add documentation for smp_text_poke_batch_add() X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=cca3473956be6ca5c7ad5d2ced5516eb509c1936;p=users%2Fdwmw2%2Flinux.git x86/alternatives: Add documentation for smp_text_poke_batch_add() Signed-off-by: Ingo Molnar Cc: Juergen Gross Cc: "H . Peter Anvin" Cc: Linus Torvalds Cc: Peter Zijlstra Link: https://lore.kernel.org/r/20250411054105.2341982-39-mingo@kernel.org --- diff --git a/arch/x86/kernel/alternative.c b/arch/x86/kernel/alternative.c index a9726cc969722..b47ad08535899 100644 --- a/arch/x86/kernel/alternative.c +++ b/arch/x86/kernel/alternative.c @@ -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);