percpu_rw_semaphore: introduce CONFIG_PERCPU_RWSEM
Currently only block_dev and uprobes use percpu_rw_semaphore, add the config option selected by BLOCK || UPROBES. Signed-off-by: Oleg Nesterov <oleg@redhat.com> Cc: Anton Arapov <anton@redhat.com> Cc: Ingo Molnar <mingo@elte.hu> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Michal Marek <mmarek@suse.cz> Cc: Mikulas Patocka <mpatocka@redhat.com> Cc: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Srikar Dronamraju <srikar@linux.vnet.ibm.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
8ebe34731a
commit
22b361d1df
@ -80,6 +80,7 @@ config UPROBES
|
|||||||
bool "Transparent user-space probes (EXPERIMENTAL)"
|
bool "Transparent user-space probes (EXPERIMENTAL)"
|
||||||
depends on UPROBE_EVENT && PERF_EVENTS
|
depends on UPROBE_EVENT && PERF_EVENTS
|
||||||
default n
|
default n
|
||||||
|
select PERCPU_RWSEM
|
||||||
help
|
help
|
||||||
Uprobes is the user-space counterpart to kprobes: they
|
Uprobes is the user-space counterpart to kprobes: they
|
||||||
enable instrumentation applications (such as 'perf probe')
|
enable instrumentation applications (such as 'perf probe')
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
menuconfig BLOCK
|
menuconfig BLOCK
|
||||||
bool "Enable the block layer" if EXPERT
|
bool "Enable the block layer" if EXPERT
|
||||||
default y
|
default y
|
||||||
|
select PERCPU_RWSEM
|
||||||
help
|
help
|
||||||
Provide block layer support for the kernel.
|
Provide block layer support for the kernel.
|
||||||
|
|
||||||
|
@ -42,6 +42,9 @@ config GENERIC_IO
|
|||||||
config STMP_DEVICE
|
config STMP_DEVICE
|
||||||
bool
|
bool
|
||||||
|
|
||||||
|
config PERCPU_RWSEM
|
||||||
|
boolean
|
||||||
|
|
||||||
config CRC_CCITT
|
config CRC_CCITT
|
||||||
tristate "CRC-CCITT functions"
|
tristate "CRC-CCITT functions"
|
||||||
help
|
help
|
||||||
|
@ -9,7 +9,7 @@ endif
|
|||||||
|
|
||||||
lib-y := ctype.o string.o vsprintf.o cmdline.o \
|
lib-y := ctype.o string.o vsprintf.o cmdline.o \
|
||||||
rbtree.o radix-tree.o dump_stack.o timerqueue.o\
|
rbtree.o radix-tree.o dump_stack.o timerqueue.o\
|
||||||
idr.o int_sqrt.o extable.o percpu-rwsem.o \
|
idr.o int_sqrt.o extable.o \
|
||||||
sha1.o md5.o irq_regs.o reciprocal_div.o argv_split.o \
|
sha1.o md5.o irq_regs.o reciprocal_div.o argv_split.o \
|
||||||
proportions.o flex_proportions.o prio_heap.o ratelimit.o show_mem.o \
|
proportions.o flex_proportions.o prio_heap.o ratelimit.o show_mem.o \
|
||||||
is_single_threaded.o plist.o decompress.o kobject_uevent.o \
|
is_single_threaded.o plist.o decompress.o kobject_uevent.o \
|
||||||
@ -40,6 +40,7 @@ obj-$(CONFIG_DEBUG_LOCKING_API_SELFTESTS) += locking-selftest.o
|
|||||||
obj-$(CONFIG_DEBUG_SPINLOCK) += spinlock_debug.o
|
obj-$(CONFIG_DEBUG_SPINLOCK) += spinlock_debug.o
|
||||||
lib-$(CONFIG_RWSEM_GENERIC_SPINLOCK) += rwsem-spinlock.o
|
lib-$(CONFIG_RWSEM_GENERIC_SPINLOCK) += rwsem-spinlock.o
|
||||||
lib-$(CONFIG_RWSEM_XCHGADD_ALGORITHM) += rwsem.o
|
lib-$(CONFIG_RWSEM_XCHGADD_ALGORITHM) += rwsem.o
|
||||||
|
lib-$(CONFIG_PERCPU_RWSEM) += percpu-rwsem.o
|
||||||
|
|
||||||
CFLAGS_hweight.o = $(subst $(quote),,$(CONFIG_ARCH_HWEIGHT_CFLAGS))
|
CFLAGS_hweight.o = $(subst $(quote),,$(CONFIG_ARCH_HWEIGHT_CFLAGS))
|
||||||
obj-$(CONFIG_GENERIC_HWEIGHT) += hweight.o
|
obj-$(CONFIG_GENERIC_HWEIGHT) += hweight.o
|
||||||
|
Loading…
Reference in New Issue
Block a user