[PATCH] lib/smp_processor_id: Make migration check unconditional of SMP

Sebastian Andrzej Siewior posted 1 patch 2 months, 4 weeks ago
There is a newer version of this series
lib/smp_processor_id.c | 2 --
1 file changed, 2 deletions(-)
[PATCH] lib/smp_processor_id: Make migration check unconditional of SMP
Posted by Sebastian Andrzej Siewior 2 months, 4 weeks ago
Commit cac5cefbade90 ("sched/smp: Make SMP unconditional")
migrate_disable() even on UP builds.
Commit 06ddd17521bf1 ("sched/smp: Always define is_percpu_thread() and
scheduler_ipi()") made is_percpu_thread() check the affinity mask
instead replying always true for UP mask.

As a consequence smp_processor_id() now complains if invoked within a
migrate_disable() section because is_percpu_thread() checks its mask and
the migration check is left out.

Make migration check unconditional of SMP.

Fixes: cac5cefbade90 ("sched/smp: Make SMP unconditional")
Reported-by: kernel test robot <oliver.sang@intel.com>
Closes: https://lore.kernel.org/oe-lkp/202507100448.6b88d6f1-lkp@intel.com
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
---
 lib/smp_processor_id.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/lib/smp_processor_id.c b/lib/smp_processor_id.c
index a2bb7738c373c..94b3f6b195388 100644
--- a/lib/smp_processor_id.c
+++ b/lib/smp_processor_id.c
@@ -22,10 +22,8 @@ unsigned int check_preemption_disabled(const char *what1, const char *what2)
 	if (is_percpu_thread())
 		goto out;
 
-#ifdef CONFIG_SMP
 	if (current->migration_disabled)
 		goto out;
-#endif
 
 	/*
 	 * It is valid to assume CPU-locality during early bootup:
-- 
2.50.0
Re: [PATCH] lib/smp_processor_id: Make migration check unconditional of SMP
Posted by Chen, Yu C 2 months, 4 weeks ago
On 7/10/2025 4:27 PM, Sebastian Andrzej Siewior wrote:
> Commit cac5cefbade90 ("sched/smp: Make SMP unconditional")
> migrate_disable() even on UP builds.
> Commit 06ddd17521bf1 ("sched/smp: Always define is_percpu_thread() and
> scheduler_ipi()") made is_percpu_thread() check the affinity mask
> instead replying always true for UP mask.
> 
> As a consequence smp_processor_id() now complains if invoked within a
> migrate_disable() section because is_percpu_thread() checks its mask and
> the migration check is left out.
> 
> Make migration check unconditional of SMP.
> 
> Fixes: cac5cefbade90 ("sched/smp: Make SMP unconditional")
> Reported-by: kernel test robot <oliver.sang@intel.com>
> Closes: https://lore.kernel.org/oe-lkp/202507100448.6b88d6f1-lkp@intel.com
> Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
> ---

 From my understanding,

Reviewed-by: Chen Yu <yu.c.chen@intel.com>

thank you for fixing this.

best,
Chenyu
Re: [PATCH] lib/smp_processor_id: Make migration check unconditional of SMP
Posted by Peter Zijlstra 2 months, 4 weeks ago
On Thu, Jul 10, 2025 at 04:32:57PM +0800, Chen, Yu C wrote:
> On 7/10/2025 4:27 PM, Sebastian Andrzej Siewior wrote:
> > Commit cac5cefbade90 ("sched/smp: Make SMP unconditional")
> > migrate_disable() even on UP builds.
> > Commit 06ddd17521bf1 ("sched/smp: Always define is_percpu_thread() and
> > scheduler_ipi()") made is_percpu_thread() check the affinity mask
> > instead replying always true for UP mask.
> > 
> > As a consequence smp_processor_id() now complains if invoked within a
> > migrate_disable() section because is_percpu_thread() checks its mask and
> > the migration check is left out.
> > 
> > Make migration check unconditional of SMP.
> > 
> > Fixes: cac5cefbade90 ("sched/smp: Make SMP unconditional")
> > Reported-by: kernel test robot <oliver.sang@intel.com>
> > Closes: https://lore.kernel.org/oe-lkp/202507100448.6b88d6f1-lkp@intel.com
> > Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
> > ---
> 
> From my understanding,
> 
> Reviewed-by: Chen Yu <yu.c.chen@intel.com>

Thanks; let me go stick this in a tree somewhere.
[tip: sched/core] lib/smp_processor_id: Make migration check unconditional of SMP
Posted by tip-bot2 for Sebastian Andrzej Siewior 2 months, 3 weeks ago
The following commit has been merged into the sched/core branch of tip:

Commit-ID:     2885daf47081dd1aaf1a588e9d001eb343df1f90
Gitweb:        https://git.kernel.org/tip/2885daf47081dd1aaf1a588e9d001eb343df1f90
Author:        Sebastian Andrzej Siewior <bigeasy@linutronix.de>
AuthorDate:    Thu, 10 Jul 2025 10:27:48 +02:00
Committer:     Peter Zijlstra <peterz@infradead.org>
CommitterDate: Thu, 10 Jul 2025 17:52:13 +02:00

lib/smp_processor_id: Make migration check unconditional of SMP

Commit cac5cefbade90 ("sched/smp: Make SMP unconditional")
migrate_disable() even on UP builds.
Commit 06ddd17521bf1 ("sched/smp: Always define is_percpu_thread() and
scheduler_ipi()") made is_percpu_thread() check the affinity mask
instead replying always true for UP mask.

As a consequence smp_processor_id() now complains if invoked within a
migrate_disable() section because is_percpu_thread() checks its mask and
the migration check is left out.

Make migration check unconditional of SMP.

Fixes: cac5cefbade90 ("sched/smp: Make SMP unconditional")
Closes: https://lore.kernel.org/oe-lkp/202507100448.6b88d6f1-lkp@intel.com
Reported-by: kernel test robot <oliver.sang@intel.com>
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Reviewed-by: Chen Yu <yu.c.chen@intel.com>
Link: https://lore.kernel.org/r/20250710082748.-DPO1rjO@linutronix.de
---
 lib/smp_processor_id.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/lib/smp_processor_id.c b/lib/smp_processor_id.c
index a2bb773..94b3f6b 100644
--- a/lib/smp_processor_id.c
+++ b/lib/smp_processor_id.c
@@ -22,10 +22,8 @@ unsigned int check_preemption_disabled(const char *what1, const char *what2)
 	if (is_percpu_thread())
 		goto out;
 
-#ifdef CONFIG_SMP
 	if (current->migration_disabled)
 		goto out;
-#endif
 
 	/*
 	 * It is valid to assume CPU-locality during early bootup: