diff options
| author | David S. Miller <davem@davemloft.net> | 2015-10-20 06:08:27 -0700 |
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2015-10-20 06:08:27 -0700 |
| commit | 26440c835f8b1a491e2704118ac55bf87334366c (patch) | |
| tree | 3c2d23b59fd49b252fdbf6c09efc41b354933fc6 /kernel/workqueue.c | |
| parent | 371f1c7e0d854796adc622cc3bacfcc5fc638db1 (diff) | |
| parent | 1099f86044111e9a7807f09523e42d4c9d0fb781 (diff) | |
| download | cachepc-linux-26440c835f8b1a491e2704118ac55bf87334366c.tar.gz cachepc-linux-26440c835f8b1a491e2704118ac55bf87334366c.zip | |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Conflicts:
drivers/net/usb/asix_common.c
net/ipv4/inet_connection_sock.c
net/switchdev/switchdev.c
In the inet_connection_sock.c case the request socket hashing scheme
is completely different in net-next.
The other two conflicts were overlapping changes.
Signed-off-by: David S. Miller <davem@davemloft.net>
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); } /** |
