linux/drivers
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
..
accessibility
acpi ACPI and power management updates for 3.18-rc1 2014-10-09 16:07:43 -04:00
amba PM / Domains: Move dev_pm_domain_attach|detach() to pm_domain.h 2014-09-30 01:16:44 +02:00
ata 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
atm
auxdisplay
base Merge branch 'akpm' (fixes from Andrew Morton) 2014-10-09 22:26:14 -04:00
bcma This is the bulk of GPIO changes for the v3.18 development 2014-10-09 14:58:15 -04:00
block zram: use notify_free to account all free notifications 2014-10-09 22:26:03 -04:00
bluetooth Bluetooth: btusb: remove redundant lock variable 2014-09-30 14:13:29 +02:00
bus ARM: SoC driver updates for 3.18 2014-10-08 17:37:16 -04:00
cdrom
char Char/Misc driver patches for 3.18-rc1 2014-10-08 06:55:41 -04:00
clk ARM: SoC driver updates for 3.18 2014-10-08 17:37:16 -04:00
clocksource Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2014-10-09 06:35:05 -04:00
connector
cpufreq ACPI and power management updates for 3.18-rc1 2014-10-09 16:07:43 -04:00
cpuidle ACPI and power management updates for 3.18-rc1 2014-10-09 16:07:43 -04:00
crypto Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 2014-10-08 06:44:48 -04:00
dca
devfreq PM / devfreq: exynos: Enable building exynos PPMU as module 2014-09-29 20:22:36 +09:00
dio
dma dmaengine-3.17 2014-10-07 20:39:25 -04:00
dma-buf
edac ARM: SoC driver updates for 3.18 2014-10-08 17:37:16 -04:00
eisa
extcon extcon: gpio: Fix code cleanup 2014-09-22 16:48:47 +09:00
firewire
firmware drivers/firmware/memmap.c: don't create memmap sysfs of same firmware_map_entry 2014-10-09 22:26:00 -04:00
fmc
gpio This is the bulk of GPIO changes for the v3.18 development 2014-10-09 14:58:15 -04:00
gpu PCI changes for the v3.18 merge window: 2014-10-09 15:03:49 -04:00
hid This is the bulk of GPIO changes for the v3.18 development 2014-10-09 14:58:15 -04:00
hsi
hv Drivers: hv: vmbus: Enable interrupt driven flow control 2014-09-23 23:31:22 -07:00
hwmon hwmon: (tmp103) Fix resource leak bug in tmp103 temperature sensor driver 2014-09-22 11:11:48 -07:00
hwspinlock
i2c ACPI and power management updates for 3.18-rc1 2014-10-09 16:07:43 -04:00
ide
idle
iio staging: iio: fix up merge error 2014-09-22 07:54:10 -07:00
infiniband Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2014-10-08 21:40:54 -04:00
input This is the bulk of GPIO changes for the v3.18 development 2014-10-09 14:58:15 -04:00
iommu Fixes and features for 3.18. 2014-10-08 05:27:39 -04:00
ipack ipoctal: clear break interrupt as soon as it occurs 2014-09-23 23:26:42 -07:00
irqchip PCI changes for the v3.18 merge window: 2014-10-09 15:03:49 -04:00
isdn Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2014-10-08 21:40:54 -04:00
leds This is the bulk of GPIO changes for the v3.18 development 2014-10-09 14:58:15 -04:00
lguest
macintosh
mailbox
mcb
md md/raid5: disable 'DISCARD' by default due to safety concerns. 2014-10-02 13:45:00 +10:00
media This is the bulk of GPIO changes for the v3.18 development 2014-10-09 14:58:15 -04:00
memory
memstick
message SCSI for-linus on 20141007 2014-10-07 21:29:18 -04:00
mfd This is the bulk of GPIO changes for the v3.18 development 2014-10-09 14:58:15 -04:00
misc PCI changes for the v3.18 merge window: 2014-10-09 15:03:49 -04:00
mmc PM / Domains: Move dev_pm_domain_attach|detach() to pm_domain.h 2014-09-30 01:16:44 +02:00
mtd
net PCI changes for the v3.18 merge window: 2014-10-09 15:03:49 -04:00
nfc Merge tag 'master-2014-10-02' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next 2014-10-05 21:34:39 -04:00
ntb
nubus
of PCI changes for the v3.18 merge window: 2014-10-09 15:03:49 -04:00
oprofile
parisc parisc: Fix serial console for machines with serial port on superio chip 2014-10-01 22:12:50 +02:00
parport parport: parport_pc: Implement architecture and device check to cut off false-positives 2014-09-23 23:14:28 -07:00
pci ACPI and power management updates for 3.18-rc1 2014-10-09 16:07:43 -04:00
pcmcia
phy phy: remove .owner field for drivers using module_platform_driver 2014-09-24 15:18:34 +05:30
pinctrl This is the bulk of GPIO changes for the v3.18 development 2014-10-09 14:58:15 -04:00
platform ACPI and power management updates for 3.18-rc1 2014-10-09 16:07:43 -04:00
pnp
power ACPI and power management updates for 3.18-rc1 2014-10-09 16:07:43 -04:00
powercap
pps
ps3
ptp
pwm
rapidio
ras
regulator Merge remote-tracking branches 'regulator/topic/tps65217', 'regulator/topic/tps65910' and 'regulator/topic/voltage-ev' into regulator-next 2014-09-30 13:50:31 +01:00
remoteproc
reset
rpmsg
rtc ARM: SoC driver updates for 3.18 2014-10-08 17:37:16 -04:00
s390 net: better IFF_XMIT_DST_RELEASE support 2014-10-07 13:22:11 -04:00
sbus
scsi PCI changes for the v3.18 merge window: 2014-10-09 15:03:49 -04:00
sfi
sh
sn
soc ARM: SoC driver updates for 3.18 2014-10-08 17:37:16 -04:00
spi ACPI and power management updates for 3.18-rc1 2014-10-09 16:07:43 -04:00
spmi
ssb This is the bulk of GPIO changes for the v3.18 development 2014-10-09 14:58:15 -04:00
staging This is the bulk of GPIO changes for the v3.18 development 2014-10-09 14:58:15 -04:00
target percpu_ref: add PERCPU_REF_INIT_* flags 2014-09-24 13:31:50 -04:00
tc
thermal
thunderbolt
tty This is the bulk of GPIO changes for the v3.18 development 2014-10-09 14:58:15 -04:00
uio
usb Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2014-10-08 21:40:54 -04:00
uwb uwb: add an ASIE sysfs attribute to uwb_rc devices 2014-09-23 22:05:26 -07:00
vfio PCI/AER: Rename PCI_ERR_UNC_TRAIN to PCI_ERR_UNC_UND 2014-09-25 09:42:40 -06:00
vhost
video This is the bulk of GPIO changes for the v3.18 development 2014-10-09 14:58:15 -04:00
virt
virtio mm/balloon_compaction: add vmstat counters and kpageflags bit 2014-10-09 22:26:01 -04:00
vlynq
vme
w1
watchdog
xen PCI changes for the v3.18 merge window: 2014-10-09 15:03:49 -04:00
zorro
Kconfig soc: ti: add Keystone Navigator QMSS driver 2014-09-24 09:49:14 -04:00
Makefile