diff options
author | Ingo Molnar <mingo@kernel.org> | 2015-10-20 10:16:46 +0200 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2015-10-20 10:16:46 +0200 |
commit | a1a2ab2ff7040bdc9a31bfe7173913971f7d723b (patch) | |
tree | a5b448aaedafafca6974710b7d64074ed964fe24 /kernel/workqueue.c | |
parent | 00eb4bab69db349c3bdc7e0b0f7e9070dafea58c (diff) | |
parent | 7379047d5585187d1288486d4627873170d0005a (diff) | |
download | linux-a1a2ab2ff7040bdc9a31bfe7173913971f7d723b.tar.gz linux-a1a2ab2ff7040bdc9a31bfe7173913971f7d723b.tar.bz2 linux-a1a2ab2ff7040bdc9a31bfe7173913971f7d723b.zip |
Merge tag 'v4.3-rc6' into locking/core, to pick up fixes before applying new changes
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'kernel/workqueue.c')
-rw-r--r-- | kernel/workqueue.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/kernel/workqueue.c b/kernel/workqueue.c index ca71582fcfab..bcb14cafe007 100644 --- a/kernel/workqueue.c +++ b/kernel/workqueue.c @@ -1458,13 +1458,13 @@ static void __queue_delayed_work(int cpu, struct workqueue_struct *wq, timer_stats_timer_set_start_info(&dwork->timer); dwork->wq = wq; + /* timer isn't guaranteed to run in this cpu, record earlier */ + if (cpu == WORK_CPU_UNBOUND) + cpu = raw_smp_processor_id(); dwork->cpu = cpu; timer->expires = jiffies + delay; - if (unlikely(cpu != WORK_CPU_UNBOUND)) - add_timer_on(timer, cpu); - else - add_timer(timer); + add_timer_on(timer, cpu); } /** |