Waiman Long
c71fd893f6
locking/rwsem: Make owner available even if !CONFIG_RWSEM_SPIN_ON_OWNER
...
The owner field in the rw_semaphore structure is used primarily for
optimistic spinning. However, identifying the rwsem owner can also be
helpful in debugging as well as tracing locking related issues when
analyzing crash dump. The owner field may also store state information
that can be important to the operation of the rwsem.
So the owner field is now made a permanent member of the rw_semaphore
structure irrespective of CONFIG_RWSEM_SPIN_ON_OWNER.
Signed-off-by: Waiman Long <longman@redhat.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Davidlohr Bueso <dave@stgolabs.net>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Tim Chen <tim.c.chen@linux.intel.com>
Cc: Will Deacon <will.deacon@arm.com>
Cc: huang ying <huang.ying.caritas@gmail.com>
Link: https://lkml.kernel.org/r/20190520205918.22251-2-longman@redhat.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2019-06-17 12:27:54 +02:00
..
842
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157
2019-05-30 11:26:37 -07:00
fonts
treewide: Add SPDX license identifier - Makefile/Kconfig
2019-05-21 10:50:46 +02:00
livepatch
lz4
treewide: Add SPDX license identifier - Makefile/Kconfig
2019-05-21 10:50:46 +02:00
lzo
treewide: Add SPDX license identifier - Makefile/Kconfig
2019-05-21 10:50:46 +02:00
math
treewide: Add SPDX license identifier - Makefile/Kconfig
2019-05-21 10:50:46 +02:00
mpi
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 26
2019-05-24 17:27:10 +02:00
raid6
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 441
2019-06-05 17:37:17 +02:00
reed_solomon
treewide: Add SPDX license identifier - Makefile/Kconfig
2019-05-21 10:50:46 +02:00
xz
treewide: Add SPDX license identifier - Makefile/Kconfig
2019-05-21 10:50:46 +02:00
zlib_deflate
treewide: Add SPDX license identifier - Makefile/Kconfig
2019-05-21 10:50:46 +02:00
zlib_inflate
treewide: Add SPDX license identifier - Makefile/Kconfig
2019-05-21 10:50:46 +02:00
zstd
treewide: Add SPDX license identifier - Makefile/Kconfig
2019-05-21 10:50:46 +02:00
.gitignore
argv_split.c
ashldi3.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 120
2019-05-24 17:39:02 +02:00
ashrdi3.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 120
2019-05-24 17:39:02 +02:00
asn1_decoder.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 36
2019-05-24 17:27:11 +02:00
assoc_array.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 36
2019-05-24 17:27:11 +02:00
atomic64.c
locking/atomic: Use s64 for atomic64
2019-06-03 12:32:56 +02:00
atomic64_test.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152
2019-05-30 11:26:32 -07:00
audit.c
bcd.c
bch.c
bitmap.c
lib: rework bitmap_parselist
2019-05-14 19:52:49 -07:00
bitrev.c
treewide: Add SPDX license identifier for more missed files
2019-05-21 10:50:45 +02:00
bsearch.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 372
2019-06-05 17:37:10 +02:00
btree.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 431
2019-06-05 17:37:16 +02:00
bucket_locks.c
bug.c
build_OID_registry
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 36
2019-05-24 17:27:11 +02:00
bust_spinlocks.c
chacha.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152
2019-05-30 11:26:32 -07:00
check_signature.c
checksum.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152
2019-05-30 11:26:32 -07:00
clz_ctz.c
clz_tab.c
cmdline.c
lib/cmdline.c: mark expected switch fall-throughs
2019-04-08 18:39:23 -05:00
cmpdi2.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 120
2019-05-24 17:39:02 +02:00
compat_audit.c
cpu_rmap.c
cpumask.c
treewide: add checks for the return value of memblock_alloc*()
2019-03-12 10:04:02 -07:00
crc-ccitt.c
crc-itu-t.c
crc-t10dif.c
crypto: shash - remove shash_desc::flags
2019-04-25 15:38:12 +08:00
crc4.c
crc7.c
crc8.c
crc16.c
crc32.c
lib/crc32.c: mark crc32_le_base/__crc32c_le_base aliases as __pure
2019-02-15 19:50:07 +01:00
crc32defs.h
crc32test.c
crc64.c
ctype.c
debug_info.c
debug_locks.c
treewide: Add SPDX license identifier for missed files
2019-05-21 10:50:45 +02:00
debugobjects.c
dec_and_lock.c
decompress.c
decompress_bunzip2.c
decompress_inflate.c
decompress_unlz4.c
decompress_unlzma.c
decompress_unlzo.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 95
2019-05-24 17:37:53 +02:00
decompress_unxz.c
devres.c
digsig.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 441
2019-06-05 17:37:17 +02:00
dump_stack.c
dynamic_debug.c
RDMA/core: Introduce RDMA subsystem ibdev_* print functions
2019-05-01 12:29:28 -04:00
dynamic_queue_limits.c
earlycpio.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 283
2019-06-05 17:36:37 +02:00
error-inject.c
treewide: Switch printk users from %pf and %pF to %ps and %pS, respectively
2019-04-09 14:19:06 +02:00
errseq.c
extable.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152
2019-05-30 11:26:32 -07:00
fault-inject.c
treewide: Add SPDX license identifier for missed files
2019-05-21 10:50:45 +02:00
fdt.c
fdt_empty_tree.c
fdt_ro.c
fdt_rw.c
fdt_strerror.c
fdt_sw.c
fdt_wip.c
find_bit.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152
2019-05-30 11:26:32 -07:00
find_bit_benchmark.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 295
2019-06-05 17:36:38 +02:00
flex_proportions.c
gen_crc32table.c
gen_crc64table.c
genalloc.c
lib/genalloc: introduce chunk owners
2019-06-13 17:34:56 -10:00
generic-radix-tree.c
generic radix trees
2019-03-12 10:04:02 -07:00
glob.c
globtest.c
hexdump.c
hweight.c
x86/kconfig: Disable CONFIG_GENERIC_HWEIGHT and remove __HAVE_ARCH_SW_HWEIGHT
2019-05-13 11:07:33 +02:00
idr.c
treewide: Add SPDX license identifier for missed files
2019-05-21 10:50:45 +02:00
inflate.c
interval_tree.c
treewide: Add SPDX license identifier for missed files
2019-05-21 10:50:45 +02:00
interval_tree_test.c
treewide: Add SPDX license identifier for more missed files
2019-05-21 10:50:45 +02:00
iomap.c
iomap_copy.c
iommu-helper.c
ioremap.c
iov_iter.c
treewide: Add SPDX license identifier for missed files
2019-05-21 10:50:45 +02:00
irq_poll.c
lib/irq_poll: Support schedules in non-interrupt contexts
2019-02-19 20:52:19 -07:00
irq_regs.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152
2019-05-30 11:26:32 -07:00
is_single_threaded.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 36
2019-05-24 17:27:11 +02:00
jedec_ddr_data.c
kasprintf.c
Kconfig
treewide: Add SPDX license identifier - Makefile/Kconfig
2019-05-21 10:50:46 +02:00
Kconfig.debug
locking/rwsem: Make owner available even if !CONFIG_RWSEM_SPIN_ON_OWNER
2019-06-17 12:27:54 +02:00
Kconfig.kasan
treewide: Add SPDX license identifier - Makefile/Kconfig
2019-05-21 10:50:46 +02:00
Kconfig.kgdb
treewide: Add SPDX license identifier - Makefile/Kconfig
2019-05-21 10:50:46 +02:00
Kconfig.ubsan
treewide: Add SPDX license identifier - Makefile/Kconfig
2019-05-21 10:50:46 +02:00
kfifo.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 61
2019-05-24 17:36:45 +02:00
klist.c
kobject.c
kobject: clean up the kobject add documentation a bit more
2019-05-03 08:26:51 +02:00
kobject_uevent.c
kobject: Don't trigger kobject_uevent(KOBJ_REMOVE) twice.
2019-04-01 07:37:12 +02:00
kstrtox.c
kstrtox.h
libcrc32c.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152
2019-05-30 11:26:32 -07:00
list_debug.c
list_sort.c
lib/list_sort: fix kerneldoc build error
2019-05-23 09:27:39 -06:00
llist.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 333
2019-06-05 17:37:06 +02: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-rtmutex.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
locking/lockdep: Make it easy to detect whether or not inside a selftest
2019-02-28 07:55:43 +01:00
lockref.c
lockref: Limit number of cmpxchg loop retries
2019-06-07 13:15:06 -07:00
logic_pio.c
lru_cache.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 91
2019-05-24 17:37:53 +02:00
lshrdi3.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 120
2019-05-24 17:39:02 +02:00
Makefile
lib: Move mathematic helpers to separate folder
2019-05-14 19:52:49 -07:00
memcat_p.c
memory-notifier-error-inject.c
treewide: Add SPDX license identifier for more missed files
2019-05-21 10:50:45 +02:00
memweight.c
muldi3.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 120
2019-05-24 17:39:02 +02:00
net_utils.c
netdev-notifier-error-inject.c
treewide: Add SPDX license identifier for more missed files
2019-05-21 10:50:45 +02:00
nlattr.c
netlink: add validation of NLA_F_NESTED flag
2019-05-04 01:27:11 -04:00
nmi_backtrace.c
nodemask.c
notifier-error-inject.c
treewide: Add SPDX license identifier for more missed files
2019-05-21 10:50:45 +02:00
notifier-error-inject.h
objagg.c
lib: objagg: fix handling of object with 0 users when assembling hints
2019-02-14 12:41:54 -05:00
of-reconfig-notifier-error-inject.c
treewide: Add SPDX license identifier for more missed files
2019-05-21 10:50:45 +02:00
oid_registry.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 36
2019-05-24 17:27:11 +02:00
once.c
packing.c
lib: Add support for generic packing operations
2019-05-03 10:49:17 -04:00
parman.c
parser.c
pci_iomap.c
percpu-refcount.c
treewide: Add SPDX license identifier for missed files
2019-05-21 10:50:45 +02:00
percpu_counter.c
percpu_test.c
treewide: Add SPDX license identifier for more missed files
2019-05-21 10:50:45 +02:00
plist.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 10
2019-05-21 11:28:45 +02:00
pm-notifier-error-inject.c
treewide: Add SPDX license identifier for more missed files
2019-05-21 10:50:45 +02:00
radix-tree.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 153
2019-05-30 11:26:32 -07:00
random32.c
lib: Correct comment of prandom_seed
2019-05-17 11:32:47 -07:00
ratelimit.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 428
2019-06-05 17:37:16 +02:00
rbtree.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156
2019-05-30 11:26:35 -07:00
rbtree_test.c
treewide: Add SPDX license identifier for more missed files
2019-05-21 10:50:45 +02:00
refcount.c
rhashtable.c
rhashtable: Fix cmpxchg RCU warnings
2019-05-16 09:45:20 -07:00
sbitmap.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 328
2019-06-05 17:37:06 +02:00
scatterlist.c
seq_buf.c
sg_pool.c
treewide: Add SPDX license identifier for missed files
2019-05-21 10:50:45 +02:00
sg_split.c
sha1.c
sha256.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152
2019-05-30 11:26:32 -07:00
show_mem.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 435
2019-06-05 17:37:16 +02:00
siphash.c
lib/siphash.c: mark expected switch fall-throughs
2019-04-25 19:47:24 +02:00
smp_processor_id.c
kprobes: Prohibit probing on preemption checking debug functions
2019-02-13 08:16:40 +01:00
sort.c
lib/sort.c: fix kernel-doc notation warnings
2019-06-01 15:51:31 -07:00
stackdepot.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174
2019-05-30 11:26:41 -07:00
stmp_device.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152
2019-05-30 11:26:32 -07:00
string.c
lib/string: Add strscpy_pad() function
2019-04-08 16:44:21 -06:00
string_helpers.c
treewide: Add SPDX license identifier for missed files
2019-05-21 10:50:45 +02:00
strncpy_from_user.c
mm/uaccess: Use 'unsigned long' to placate UBSAN warnings on older GCC versions
2019-04-24 12:19:45 +02:00
strnlen_user.c
mm/uaccess: Use 'unsigned long' to placate UBSAN warnings on older GCC versions
2019-04-24 12:19:45 +02:00
syscall.c
syscalls: Remove start and number from syscall_get_arguments() args
2019-04-05 09:26:43 -04:00
test-kstrtox.c
test-string_helpers.c
test_bitfield.c
test_bitmap.c
treewide: Add SPDX license identifier for more missed files
2019-05-21 10:50:45 +02:00
test_bpf.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 295
2019-06-05 17:36:38 +02:00
test_debug_virtual.c
treewide: Add SPDX license identifier for more missed files
2019-05-21 10:50:45 +02:00
test_firmware.c
Char/Misc driver fixes for 5.2-rc4
2019-06-08 12:50:36 -07:00
test_hash.c
treewide: Add SPDX license identifier for more missed files
2019-05-21 10:50:45 +02:00
test_hexdump.c
test_ida.c
test_kasan.c
kasan: remove use after scope bugs detection.
2019-03-05 21:07:13 -08:00
test_kmod.c
test_list_sort.c
treewide: Add SPDX license identifier for more missed files
2019-05-21 10:50:45 +02:00
test_memcat_p.c
test_module.c
treewide: Add SPDX license identifier for more missed files
2019-05-21 10:50:45 +02:00
test_objagg.c
test_objagg: Uninitialized variable in error handling
2019-02-13 22:13:29 -08:00
test_overflow.c
test_parman.c
test_printf.c
treewide: Add SPDX license identifier for more missed files
2019-05-21 10:50:45 +02:00
test_rhashtable.c
rhashtable: move dereference inside rht_ptr()
2019-04-12 17:34:45 -07:00
test_siphash.c
test_sort.c
treewide: Add SPDX license identifier for more missed files
2019-05-21 10:50:45 +02:00
test_stackinit.c
treewide: fix typos of SPDX-License-Identifier
2019-06-01 18:29:58 +02:00
test_static_key_base.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 282
2019-06-05 17:36:37 +02:00
test_static_keys.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 282
2019-06-05 17:36:37 +02:00
test_string.c
treewide: Add SPDX license identifier for more missed files
2019-05-21 10:50:45 +02:00
test_strscpy.c
lib: Add test module for strscpy_pad
2019-04-08 16:44:21 -06:00
test_sysctl.c
tools/testing/selftests/sysctl/sysctl.sh: add proc_do_large_bitmap() test case
2019-05-14 19:52:51 -07:00
test_ubsan.c
lib/test_ubsan.c: VLA no longer used in kernel
2019-03-07 18:32:00 -08:00
test_user_copy.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 282
2019-06-05 17:36:37 +02:00
test_uuid.c
test_vmalloc.c
lib/test_vmalloc.c:test_func(): eliminate local `ret'
2019-05-14 19:52:49 -07:00
test_xarray.c
XArray: Fix xa_reserve for 2-byte aligned entries
2019-02-21 17:54:44 -05:00
textsearch.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152
2019-05-30 11:26:32 -07:00
timerqueue.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156
2019-05-30 11:26:35 -07:00
ts_bm.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152
2019-05-30 11:26:32 -07:00
ts_fsm.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152
2019-05-30 11:26:32 -07:00
ts_kmp.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152
2019-05-30 11:26:32 -07:00
ubsan.c
Merge branch 'core-objtool-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
2019-05-06 11:39:17 -07:00
ubsan.h
ubsan: Remove vla bound checks.
2019-05-06 11:12:09 -07:00
ucmpdi2.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 120
2019-05-24 17:39:02 +02:00
ucs2_string.c
usercopy.c
uuid.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174
2019-05-30 11:26:41 -07:00
vsprintf.c
treewide: Add SPDX license identifier for missed files
2019-05-21 10:50:45 +02:00
win_minmax.c
xarray.c
XArray: Fix xa_reserve for 2-byte aligned entries
2019-02-21 17:54:44 -05:00
xxhash.c