summaryrefslogtreecommitdiff
path: root/kernel
diff options
context:
space:
mode:
authorShrikanth Hegde <sshegde@linux.ibm.com>2026-03-24 01:06:29 +0530
committerThomas Gleixner <tglx@kernel.org>2026-03-25 20:11:30 +0100
commitec39780d6a9e05e7e427008603b40efef515b775 (patch)
treeeb5d63ad1952732896dc375c62013b3da9afd6ac /kernel
parentcc5623947f3d86687c39771fcbea641907966d5c (diff)
smp: Get this_cpu once in smp_call_function
smp_call_function_single() and smp_call_function_many_cond() disable preemption and cache the CPU number via get_cpu(). Use this cached value throughout the function instead of invoking smp_processor_id() again. [ tglx: Make the copy&pasta'ed change log match the patch ] Signed-off-by: Shrikanth Hegde <sshegde@linux.ibm.com> Signed-off-by: Thomas Gleixner <tglx@kernel.org> Reviewed-by: Mukesh Kumar Chaurasiya (IBM) <mkchauras@gmail.com> Link: https://patch.msgid.link/20260323193630.640311-4-sshegde@linux.ibm.com
Diffstat (limited to 'kernel')
-rw-r--r--kernel/smp.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/kernel/smp.c b/kernel/smp.c
index b179424f6040..bdbf145737ba 100644
--- a/kernel/smp.c
+++ b/kernel/smp.c
@@ -678,7 +678,7 @@ int smp_call_function_single(int cpu, smp_call_func_t func, void *info,
csd->func = func;
csd->info = info;
#ifdef CONFIG_CSD_LOCK_WAIT_DEBUG
- csd->node.src = smp_processor_id();
+ csd->node.src = this_cpu;
csd->node.dst = cpu;
#endif
@@ -833,7 +833,7 @@ static void smp_call_function_many_cond(const struct cpumask *mask,
csd->func = func;
csd->info = info;
#ifdef CONFIG_CSD_LOCK_WAIT_DEBUG
- csd->node.src = smp_processor_id();
+ csd->node.src = this_cpu;
csd->node.dst = cpu;
#endif
trace_csd_queue_cpu(cpu, _RET_IP_, func, csd);