History

Merge branch 'for-3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu

Pull percpu updates from Tejun Heo: - Major reorganization of percpu header files which I think makes things a lot more readable and logical than before. - percpu-refcount is updated so that it requires explicit destruction and can be reinitialized if necessary. This was pulled into the block tree to replace the custom percpu refcnting implemented in blk-mq. - In the process, percpu and percpu-refcount got cleaned up a bit * 'for-3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu: (21 commits) percpu-refcount: implement percpu_ref_reinit() and percpu_ref_is_zero() percpu-refcount: require percpu_ref to be exited explicitly percpu-refcount: use unsigned long for pcpu_count pointer percpu-refcount: add helpers for ->percpu_count accesses percpu-refcount: one bit is enough for REF_STATUS percpu-refcount, aio: use percpu_ref_cancel_init() in ioctx_alloc() workqueue: stronger test in process_one_work() workqueue: clear POOL_DISASSOCIATED in rebind_workers() percpu: Use ALIGN macro instead of hand coding alignment calculation percpu: invoke __verify_pcpu_ptr() from the generic part of accessors and operations percpu: preffity percpu header files percpu: use raw_cpu_*() to define __this_cpu_*() percpu: reorder macros in percpu header files percpu: move {raw|this}_cpu_*() definitions to include/linux/percpu-defs.h percpu: move generic {raw|this}_cpu_*_N() definitions to include/asm-generic/percpu.h percpu: only allow sized arch overrides for {raw|this}_cpu_*() ops percpu: reorganize include/linux/percpu-defs.h percpu: move accessors from include/linux/percpu.h to percpu-defs.h percpu: include/asm-generic/percpu.h should contain only arch-overridable parts percpu: introduce arch_raw_cpu_ptr() ...

Linus Torvalds committed 12 years ago

Commit f2a84172 parents c4c3f5f 2d7227811 files · +832 −811Browse files

Showing the changes to kernel/workqueue.c (1 of 11 files). Show all

Unified · Split

kernel/workqueue.c+3−3
@@ -1962,6 +1962,7 @@ __acquires(&pool->lock) · 1961 unmodified lines
19621962
19631963 lockdep_copy_map(&lockdep_map, &work->lockdep_map);
19641964 #endif
1965+ /* ensure we're on the correct CPU */
19651966 WARN_ON_ONCE(!(pool->flags & POOL_DISASSOCIATED) &&
19661967 raw_smp_processor_id() != pool->cpu);
19671968
@@ -4574,11 +4575,10 @@ static int workqueue_cpu_up_callback(struct notifier_block *nfb, · 2606 unmodified lines
45744575 for_each_pool(pool, pi) {
45754576 mutex_lock(&pool->attach_mutex);
45764577
4577− if (pool->cpu == cpu) {
4578+ if (pool->cpu == cpu)
45784579 rebind_workers(pool);
4579− } else if (pool->cpu < 0) {
4580+ else if (pool->cpu < 0)
45804581 restore_unbound_workers_cpumask(pool, cpu);
4581− }
45824582
45834583 mutex_unlock(&pool->attach_mutex);
45844584 }

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t