WSL2-Linux-Kernel/arch
Linus Torvalds c798360cd1 Merge branch 'for-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu
Pull percpu updates from Tejun Heo:
 "A lot of activities on percpu front.  Notable changes are...

   - percpu allocator now can take @gfp.  If @gfp doesn't contain
     GFP_KERNEL, it tries to allocate from what's already available to
     the allocator and a work item tries to keep the reserve around
     certain level so that these atomic allocations usually succeed.

     This will replace the ad-hoc percpu memory pool used by
     blk-throttle and also be used by the planned blkcg support for
     writeback IOs.

     Please note that I noticed a bug in how @gfp is interpreted while
     preparing this pull request and applied the fix 6ae833c7fe
     ("percpu: fix how @gfp is interpreted by the percpu allocator")
     just now.

   - percpu_ref now uses longs for percpu and global counters instead of
     ints.  It leads to more sparse packing of the percpu counters on
     64bit machines but the overhead should be negligible and this
     allows using percpu_ref for refcnting pages and in-memory objects
     directly.

   - The switching between percpu and single counter modes of a
     percpu_ref is made independent of putting the base ref and a
     percpu_ref can now optionally be initialized in single or killed
     mode.  This allows avoiding percpu shutdown latency for cases where
     the refcounted objects may be synchronously created and destroyed
     in rapid succession with only a fraction of them reaching fully
     operational status (SCSI probing does this when combined with
     blk-mq support).  It's also planned to be used to implement forced
     single mode to detect underflow more timely for debugging.

  There's a separate branch percpu/for-3.18-consistent-ops which cleans
  up the duplicate percpu accessors.  That branch causes a number of
  conflicts with s390 and other trees.  I'll send a separate pull
  request w/ resolutions once other branches are merged"

* 'for-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu: (33 commits)
  percpu: fix how @gfp is interpreted by the percpu allocator
  blk-mq, percpu_ref: start q->mq_usage_counter in atomic mode
  percpu_ref: make INIT_ATOMIC and switch_to_atomic() sticky
  percpu_ref: add PERCPU_REF_INIT_* flags
  percpu_ref: decouple switching to percpu mode and reinit
  percpu_ref: decouple switching to atomic mode and killing
  percpu_ref: add PCPU_REF_DEAD
  percpu_ref: rename things to prepare for decoupling percpu/atomic mode switch
  percpu_ref: replace pcpu_ prefix with percpu_
  percpu_ref: minor code and comment updates
  percpu_ref: relocate percpu_ref_reinit()
  Revert "blk-mq, percpu_ref: implement a kludge for SCSI blk-mq stall during probe"
  Revert "percpu: free percpu allocation info for uniprocessor system"
  percpu-refcount: make percpu_ref based on longs instead of ints
  percpu-refcount: improve WARN messages
  percpu: fix locking regression in the failure path of pcpu_alloc()
  percpu-refcount: add @gfp to percpu_ref_init()
  proportions: add @gfp to init functions
  percpu_counter: add @gfp to percpu_counter_init()
  percpu_counter: make percpu_counters_lock irq-safe
  ...
2014-10-10 07:26:02 -04:00
..
alpha alpha: use Kbuild logic to include <asm-generic/sections.h> 2014-10-09 22:26:03 -04:00
arc irq_work: Introduce arch_irq_work_has_interrupt() 2014-09-13 18:38:07 +02:00
arm Merge branch 'akpm' (fixes from Andrew Morton) 2014-10-09 22:26:14 -04:00
arm64 Merge branch 'akpm' (fixes from Andrew Morton) 2014-10-09 22:26:14 -04:00
avr32 irq_work: Introduce arch_irq_work_has_interrupt() 2014-09-13 18:38:07 +02:00
blackfin Merge branch 'for-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata 2014-10-10 07:23:11 -04:00
c6x irq_work: Introduce arch_irq_work_has_interrupt() 2014-09-13 18:38:07 +02:00
cris cris: use Kbuild logic to include <asm-generic/sections.h> 2014-10-09 22:25:45 -04:00
frv frv: remove deprecated IRQF_DISABLED 2014-10-09 22:26:03 -04:00
hexagon irq_work: Introduce arch_irq_work_has_interrupt() 2014-09-13 18:38:07 +02:00
ia64 PCI changes for the v3.18 merge window: 2014-10-09 15:03:49 -04:00
m32r m32r: remove deprecated IRQF_DISABLED 2014-10-09 22:25:46 -04:00
m68k m68k: call find_vma with the mmap_sem held in sys_cacheflush() 2014-10-09 22:26:02 -04:00
metag irq_work: Introduce arch_irq_work_has_interrupt() 2014-09-13 18:38:07 +02:00
microblaze Merge branch 'timers-nohz-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2014-10-09 06:30:57 -04:00
mips Merge branch 'akpm' (fixes from Andrew Morton) 2014-10-09 22:26:14 -04:00
mn10300 mn10300: use Kbuild logic to include <asm-generic/sections.h> 2014-10-09 22:25:45 -04:00
openrisc Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2014-10-09 06:42:04 -04:00
parisc Merge branch 'timers-nohz-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2014-10-09 06:30:57 -04:00
powerpc Merge branch 'akpm' (fixes from Andrew Morton) 2014-10-09 22:26:14 -04:00
s390 nosave: consolidate __nosave_{begin,end} in <asm/sections.h> 2014-10-09 22:26:04 -04:00
score score: use Kbuild logic to include <asm-generic/sections.h> 2014-10-09 22:25:46 -04:00
sh Merge branch 'akpm' (fixes from Andrew Morton) 2014-10-09 22:26:14 -04:00
sparc nosave: consolidate __nosave_{begin,end} in <asm/sections.h> 2014-10-09 22:26:04 -04:00
tile Merge branch 'timers-nohz-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2014-10-09 06:30:57 -04:00
um irq_work: Introduce arch_irq_work_has_interrupt() 2014-09-13 18:38:07 +02:00
unicore32 nosave: consolidate __nosave_{begin,end} in <asm/sections.h> 2014-10-09 22:26:04 -04:00
x86 Merge branch 'for-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu 2014-10-10 07:26:02 -04:00
xtensa Merge branch 'timers-nohz-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2014-10-09 06:30:57 -04:00
.gitignore
Kconfig