• Linus Torvalds's avatar
    Merge branch 'for-3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu · f2a84170
    Linus Torvalds authored
    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()
      ...
    f2a84170
workqueue.c 135 KB