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
..
fonts
partly revert commit 8a10bc9: parisc/sti_console: prefer Linux fonts over built-in ROM fonts
2014-03-23 16:44:42 +01:00
lz4
lz4: add overrun checks to lz4_uncompress_unknownoutputsize()
2014-07-03 16:12:04 -07:00
lzo
lzo: check for length overrun in variable length encoding.
2014-09-28 11:08:01 +02:00
mpi
MPILIB: add module description and license
2013-09-25 17:17:01 +01:00
raid6
md update for v3.12
2013-09-10 13:03:41 -07:00
reed_solomon
xz
lib/xz: enable all filters by default in Kconfig
2014-06-04 16:54:18 -07:00
zlib_deflate
zlib: clean up some dead code
2014-08-06 18:01:24 -07:00
zlib_inflate
zlib: clean up some dead code
2014-08-06 18:01:24 -07:00
.gitignore
argv_split.c
asn1_decoder.c
lib/asn1_decoder.c: kernel-doc warning fix
2014-06-04 16:54:19 -07:00
assoc_array.c
KEYS: Fix termination condition in assoc array garbage collection
2014-09-12 22:34:31 +10:00
atomic64.c
atomic64_test.c
lib/atomic64_test.c: convert printk(KERN_INFO to pr_info
2014-06-04 16:54:19 -07:00
audit.c
audit: Add generic compat syscall support
2014-03-20 10:11:35 -04:00
average.c
lib: Ensure EWMA does not store wrong intermediate values
2014-01-16 23:46:06 -08:00
bcd.c
bch.c
bitmap.c
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial
2014-10-07 21:16:26 -04:00
bitrev.c
bsearch.c
btree.c
lib/btree.c: fix leak of whole btree nodes
2014-06-04 16:54:18 -07:00
bug.c
lib/bug.c: convert printk to pr_foo()
2014-06-04 16:54:19 -07:00
build_OID_registry
X.509: do not emit any informational output
2013-06-19 17:54:06 +02:00
bust_spinlocks.c
check_signature.c
checksum.c
clz_ctz.c
lib/clz_ctz.c: add prototype declarations in lib/clz_ctz.c
2014-04-03 16:21:12 -07:00
clz_tab.c
cmdline.c
lib/cmdline.c: add size unit t/p/e to memparse
2014-08-06 18:01:25 -07:00
compat_audit.c
audit: Add generic compat syscall support
2014-03-20 10:11:35 -04:00
cordic.c
cpu-notifier-error-inject.c
cpu_rmap.c
Remove GENERIC_HARDIRQ config option
2013-09-13 15:09:52 +02:00
cpumask.c
lib/cpumask: cpumask_set_cpu_local_first to use all cores when numa node is not defined
2014-07-02 18:29:23 -07:00
crc-ccitt.c
crc-itu-t.c
crc-t10dif.c
crypto: crct10dif - Add fallback for broken initrds
2013-09-12 15:31:34 +10:00
crc7.c
lib/crc7: Shift crc7() output left 1 bit
2014-05-16 14:26:52 -04:00
crc8.c
crc16.c
crc32.c
lib: crc32: Add some additional __pure annotations
2014-06-25 16:04:00 -07:00
crc32defs.h
ctype.c
debug_locks.c
mutex: Add support for wound/wait style locks
2013-06-26 12:10:56 +02:00
debugobjects.c
lib/debugobjects.c: convert printk(KERN_DEBUG to pr_debug
2014-06-04 16:53:53 -07:00
dec_and_lock.c
decompress.c
initramfs: support initramfs that is bigger than 2GiB
2014-08-08 15:57:26 -07:00
decompress_bunzip2.c
initramfs: support initramfs that is bigger than 2GiB
2014-08-08 15:57:26 -07:00
decompress_inflate.c
initramfs: support initramfs that is bigger than 2GiB
2014-08-08 15:57:26 -07:00
decompress_unlz4.c
initramfs: support initramfs that is bigger than 2GiB
2014-08-08 15:57:26 -07:00
decompress_unlzma.c
initramfs: support initramfs that is bigger than 2GiB
2014-08-08 15:57:26 -07:00
decompress_unlzo.c
initramfs: support initramfs that is bigger than 2GiB
2014-08-08 15:57:26 -07:00
decompress_unxz.c
initramfs: support initramfs that is bigger than 2GiB
2014-08-08 15:57:26 -07:00
devres.c
Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
2014-08-05 17:46:42 -07:00
digsig.c
lib/digsig.c: kernel-doc warning fixes
2014-06-04 16:54:19 -07:00
div64.c
math64: New separate div64_u64_rem helper
2013-08-23 09:02:14 -04:00
dma-debug.c
dma-debug: modify check_for_stack output
2014-09-02 14:12:13 +02:00
dump_stack.c
asmlinkage: Add explicit __visible to drivers/*, lib/*, kernel/*
2014-05-05 16:07:46 -07:00
dynamic_debug.c
dynamic_debug: change __dynamic_<foo>_dbg return types to void
2014-10-03 14:55:48 -07:00
dynamic_queue_limits.c
earlycpio.c
earlycpio.c: Fix the confusing comment of find_cpio_data().
2013-08-14 23:24:01 +02:00
extable.c
fault-inject.c
debugfs: add get/set for atomic types
2013-06-03 13:55:01 -07:00
fdt.c
fdt_empty_tree.c
lib: add fdt_empty_tree.c
2014-04-30 19:49:37 +01:00
fdt_ro.c
fdt_rw.c
fdt_strerror.c
fdt_sw.c
fdt_wip.c
find_last_bit.c
find_next_bit.c
flex_array.c
reciprocal_divide: update/correction of the algorithm
2014-01-21 23:17:20 -08:00
flex_proportions.c
proportions: add @gfp to init functions
2014-09-08 09:51:30 +09:00
gcd.c
gen_crc32table.c
genalloc.c
lib/genalloc.c: add genpool range check function
2014-10-09 22:25:52 -04:00
glob.c
lib/glob.c: add CONFIG_GLOB_SELFTEST
2014-08-06 18:01:25 -07:00
halfmd4.c
hash.c
lib: hash: follow-up fixups for arch hash
2013-12-19 00:14:53 -05:00
hexdump.c
lib: introduce upper case hex ascii helpers
2013-09-20 15:38:26 -04:00
hweight.c
Make ARCH_HAS_FAST_MULTIPLIER a real config variable
2014-09-13 11:14:53 -07:00
idr.c
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial
2014-10-07 21:16:26 -04:00
inflate.c
int_sqrt.c
interval_tree.c
lib: Export interval_tree
2014-05-05 09:09:14 +02:00
interval_tree_test.c
lib: Export interval_tree
2014-05-05 09:09:14 +02:00
iomap.c
Kconfig: rename HAS_IOPORT to HAS_IOPORT_MAP
2014-04-07 16:36:11 -07:00
iomap_copy.c
iommu-helper.c
ioremap.c
iovec.c
iovec: make sure the caller actually wants anything in memcpy_fromiovecend
2014-08-02 15:25:21 -07:00
irq_regs.c
is_single_threaded.c
jedec_ddr_data.c
kasprintf.c
Kconfig
Make ARCH_HAS_FAST_MULTIPLIER a real config variable
2014-09-13 11:14:53 -07:00
Kconfig.debug
bpf: mini eBPF library, test stubs and verifier testsuite
2014-09-26 15:05:15 -04:00
Kconfig.kgdb
treewide: Fix typo in printk
2013-06-18 13:48:45 +02:00
Kconfig.kmemcheck
kfifo.c
kfifo: use BUG_ON
2014-08-08 15:57:25 -07:00
klist.c
klist: use same naming scheme as hlist for klist_add_after()
2014-08-06 18:01:24 -07:00
kobject.c
sysfs, kobject: add sysfs wrapper for kernfs_enable_ns()
2014-02-07 16:08:57 -08:00
kobject_uevent.c
kobject: Make support for uevent_helper optional.
2014-04-25 12:00:49 -07:00
kstrtox.c
lib/kstrtox.c: remove redundant cleanup
2014-01-23 16:36:57 -08:00
kstrtox.h
lcm.c
libcrc32c.c
lib/libcrc32c.c: use PTR_ERR_OR_ZERO
2014-06-04 16:54:18 -07:00
list_debug.c
list_sort.c
lib/list_sort.c: convert to pr_foo
2014-08-06 18:01:25 -07:00
llist.c
llists-move-llist_reverse_order-from-raid5-to-llistc-fix
2013-11-15 09:32:22 +09:00
locking-selftest-hardirq.h
locking-selftest-mutex.h
locking-selftest-rlock-hardirq.h
locking-selftest-rlock-softirq.h
locking-selftest-rlock.h
locking-selftest-rsem.h
locking-selftest-softirq.h
locking-selftest-spin-hardirq.h
locking-selftest-spin-softirq.h
locking-selftest-spin.h
locking-selftest-wlock-hardirq.h
locking-selftest-wlock-softirq.h
locking-selftest-wlock.h
locking-selftest-wsem.h
locking-selftest.c
sched: Introduce preempt_count accessor functions
2013-09-25 14:07:32 +02:00
lockref.c
arch, locking: Ciao arch_mutex_cpu_relax()
2014-07-17 12:32:47 +02:00
lru_cache.c
drbd: debugfs: add per volume oldest_requests
2014-07-10 18:35:19 +02:00
Makefile
lib: add lib/glob.c
2014-08-06 18:01:24 -07:00
md5.c
memory-notifier-error-inject.c
memweight.c
net_utils.c
mac_pton: Use bool not int return
2014-06-25 17:45:43 -07:00
nlattr.c
Merge branch 'next' (accumulated 3.16 merge window patches) into master
2014-06-08 11:31:16 -07:00
notifier-error-inject.c
notifier-error-inject.h
of-reconfig-notifier-error-inject.c
oid_registry.c
parser.c
lib/parser.c: put EXPORT_SYMBOLs in the conventional place
2014-01-23 16:36:55 -08:00
pci_iomap.c
percpu-refcount.c
percpu_ref: make INIT_ATOMIC and switch_to_atomic() sticky
2014-09-24 13:31:50 -04:00
percpu_counter.c
percpu_counter: add @gfp to percpu_counter_init()
2014-09-08 09:51:29 +09:00
percpu_ida.c
Merge branch 'for-linus' of git://git.kernel.dk/linux-block
2014-02-14 10:45:18 -08:00
percpu_test.c
percpu: add test module for various percpu operations
2013-11-13 12:09:11 +09:00
plist.c
lib/plist.c: replace pr_debug with printk in plist_test()
2014-06-04 16:54:18 -07:00
pm-notifier-error-inject.c
prio_heap.c
proportions.c
proportions: add @gfp to init functions
2014-09-08 09:51:30 +09:00
radix-tree.c
lib/radix-tree.c: update the kmemleak stack trace for radix tree allocations
2014-06-06 16:08:17 -07:00
random32.c
random32: improvements to prandom_bytes
2014-08-24 18:36:01 -07:00
ratelimit.c
rational.c
rbtree.c
lib/rbtree.c: fix typo in comment of __rb_insert()
2014-08-08 15:57:24 -07:00
rbtree_test.c
rbtree/test: test rbtree_postorder_for_each_entry_safe()
2014-01-23 16:37:03 -08:00
reciprocal_div.c
reciprocal_divide: update/correction of the algorithm
2014-01-21 23:17:20 -08:00
rhashtable.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next
2014-10-08 21:40:54 -04:00
scatterlist.c
lib/scatterlist: make ARCH_HAS_SG_CHAIN an actual Kconfig
2014-08-08 15:57:26 -07:00
sha1.c
show_mem.c
lib/show_mem.c: show num_poisoned_pages when oom
2014-01-21 16:19:48 -08:00
smp_processor_id.c
percpu: add preemption checks to __this_cpu ops
2014-04-07 16:36:14 -07:00
sort.c
stmp_device.c
string.c
Make ARCH_HAS_FAST_MULTIPLIER a real config variable
2014-09-13 11:14:53 -07:00
string_helpers.c
lib/string_helpers.c: constify static arrays
2014-08-06 18:01:25 -07:00
strncpy_from_user.c
strnlen_user.c
swiotlb.c
swiotlb: don't assume PA 0 is invalid
2014-06-20 16:04:32 -04:00
syscall.c
lib/syscall.c: unexport task_current_syscall()
2014-04-03 16:21:06 -07:00
test-kstrtox.c
lib/test-kstrtox.c: use ARRAY_SIZE instead of sizeof/sizeof[0]
2014-08-06 18:01:25 -07:00
test-string_helpers.c
test_bpf.c
net: bpf: fix compiler warnings in test_bpf
2014-09-22 16:21:30 -04:00
test_firmware.c
test: add firmware_class loader test
2014-07-17 18:44:19 -07:00
test_module.c
test: add minimal module for verification testing
2014-01-23 16:36:57 -08:00
test_user_copy.c
test: check copy_to/from_user boundary validation
2014-01-23 16:36:57 -08:00
textsearch.c
lib/textsearch.c: move EXPORT_SYMBOL after functions
2014-06-04 16:54:19 -07:00
timerqueue.c
ts_bm.c
ts_fsm.c
ts_kmp.c
ucs2_string.c
usercopy.c
uuid.c
vsprintf.c
Documentation: Docbook: Fix generated DocBook/kernel-api.xml
2014-09-09 10:34:56 +02:00