* [PATCH] sched: Do not use smp_processor_id() with preempt enabled in smpboot_thread_fn
@ 2016-09-13 6:27 Con Kolivas
2016-09-22 11:58 ` [tip:sched/core] sched/core: Do not use smp_processor_id() with preempt enabled in smpboot_thread_fn() tip-bot for Con Kolivas
0 siblings, 1 reply; 2+ messages in thread
From: Con Kolivas @ 2016-09-13 6:27 UTC (permalink / raw)
To: linux-kernel; +Cc: Peter Zijlstra, Alfred Chen, Ingo Molnar
We should not be using smp_processor_id() with preempt enabled.
Bug identified and fix provided by Alfred Chen.
Signed-off-by: Con Kolivas <kernel@kolivas.org>
---
kernel/smpboot.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Index: linux-4.7.3-ck3/kernel/smpboot.c
===================================================================
--- linux-4.7.3-ck3.orig/kernel/smpboot.c 2016-05-16 08:43:13.000000000 +1000
+++ linux-4.7.3-ck3/kernel/smpboot.c 2016-09-13 16:17:33.535655129 +1000
@@ -122,12 +122,12 @@ static int smpboot_thread_fn(void *data)
if (kthread_should_park()) {
__set_current_state(TASK_RUNNING);
- preempt_enable();
if (ht->park && td->status == HP_THREAD_ACTIVE) {
BUG_ON(td->cpu != smp_processor_id());
ht->park(td->cpu);
td->status = HP_THREAD_PARKED;
}
+ preempt_enable();
kthread_parkme();
/* We might have been woken for stop */
continue;
^ permalink raw reply [flat|nested] 2+ messages in thread
* [tip:sched/core] sched/core: Do not use smp_processor_id() with preempt enabled in smpboot_thread_fn()
2016-09-13 6:27 [PATCH] sched: Do not use smp_processor_id() with preempt enabled in smpboot_thread_fn Con Kolivas
@ 2016-09-22 11:58 ` tip-bot for Con Kolivas
0 siblings, 0 replies; 2+ messages in thread
From: tip-bot for Con Kolivas @ 2016-09-22 11:58 UTC (permalink / raw)
To: linux-tip-commits
Cc: tglx, linux-kernel, mingo, hpa, peterz, kernel, cchalpha
Commit-ID: 4fa5cd5245b627db88c9ca08ae442373b02596b4
Gitweb: http://git.kernel.org/tip/4fa5cd5245b627db88c9ca08ae442373b02596b4
Author: Con Kolivas <kernel@kolivas.org>
AuthorDate: Tue, 13 Sep 2016 16:27:05 +1000
Committer: Ingo Molnar <mingo@kernel.org>
CommitDate: Thu, 22 Sep 2016 12:28:00 +0200
sched/core: Do not use smp_processor_id() with preempt enabled in smpboot_thread_fn()
We should not be using smp_processor_id() with preempt enabled.
Bug identified and fix provided by Alfred Chen.
Reported-by: Alfred Chen <cchalpha@gmail.com>
Signed-off-by: Con Kolivas <kernel@kolivas.org>
Cc: Alfred Chen <cchalpha@gmail.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: http://lkml.kernel.org/r/2042051.3vvUWIM0vs@hex
Signed-off-by: Ingo Molnar <mingo@kernel.org>
---
kernel/smpboot.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/kernel/smpboot.c b/kernel/smpboot.c
index 13bc43d..fc0d8270 100644
--- a/kernel/smpboot.c
+++ b/kernel/smpboot.c
@@ -122,12 +122,12 @@ static int smpboot_thread_fn(void *data)
if (kthread_should_park()) {
__set_current_state(TASK_RUNNING);
- preempt_enable();
if (ht->park && td->status == HP_THREAD_ACTIVE) {
BUG_ON(td->cpu != smp_processor_id());
ht->park(td->cpu);
td->status = HP_THREAD_PARKED;
}
+ preempt_enable();
kthread_parkme();
/* We might have been woken for stop */
continue;
^ permalink raw reply related [flat|nested] 2+ messages in thread
end of thread, other threads:[~2016-09-22 11:59 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-09-13 6:27 [PATCH] sched: Do not use smp_processor_id() with preempt enabled in smpboot_thread_fn Con Kolivas
2016-09-22 11:58 ` [tip:sched/core] sched/core: Do not use smp_processor_id() with preempt enabled in smpboot_thread_fn() tip-bot for Con Kolivas
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.