TencentOS-kernel/kernel/locking
Mungerjiang 6554d7dccd locking/qspinlock: Introduce the shuffle reduction optimization into CNA
This performance optimization chooses probabilistically to avoid moving
	threads from the main queue into the secondary one when the secondary queue
	is empty.

	It is helpful when the lock is only lightly contended. In particular, it
	makes CNA less eager to create a secondary queue, but does not introduce
	any extra delays for threads waiting in that queue once it is created.

	Signed-off-by: Alex Kogan <alex.kogan@oracle.com>
	Reviewed-by: Steve Sistare <steven.sistare@oracle.com>
	Reviewed-by: Waiman Long <longman@redhat.com>
2021-12-20 11:43:06 +08:00
..
Makefile Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
lock_events.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
lock_events.h Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
lock_events_list.h Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
lockdep.c lockdep: Add a missing initialization hint to the "INFO: Trying to register non-static key" message 2021-05-20 16:07:08 +08:00
lockdep_internals.h locking/lockdep: Decrement IRQ context counters when removing lock chain 2021-03-16 16:36:52 +08:00
lockdep_proc.c locking/lockdep: Fix overflow in presentation of average lock-time 2021-03-16 16:34:51 +08:00
lockdep_states.h Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
locktorture.c locktorture: Print ratio of acquisitions, not failures 2021-03-16 16:26:41 +08:00
mcs_spinlock.h locking/qspinlock: Introduce CNA into the slow path of qspinlock 2021-12-20 11:43:06 +08:00
mutex-debug.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
mutex-debug.h Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
mutex.c locking/ww_mutex: Simplify use_ww_ctx & ww_ctx handling 2021-05-20 16:06:47 +08:00
mutex.h Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
osq_lock.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
percpu-rwsem.c locking/percpu-rwsem: Use this_cpu_{inc,dec}() for read_count 2021-07-15 15:53:01 +08:00
qrwlock.c locking/qrwlock: Fix ordering in queued_write_lock_slowpath() 2021-05-20 16:07:14 +08:00
qspinlock.c locking/qspinlock: Introduce CNA into the slow path of qspinlock 2021-12-20 11:43:06 +08:00
qspinlock_cna.h locking/qspinlock: Introduce the shuffle reduction optimization into CNA 2021-12-20 11:43:06 +08:00
qspinlock_paravirt.h locking/qspinlock: Rename mcs lock/unlock macros and make them more generic 2021-12-20 11:43:06 +08:00
qspinlock_stat.h Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
rtmutex-debug.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
rtmutex-debug.h Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
rtmutex.c rtmutex: Remove unused argument from rt_mutex_proxy_unlock() 2021-04-12 12:51:41 +08:00
rtmutex.h Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
rtmutex_common.h rtmutex: Remove unused argument from rt_mutex_proxy_unlock() 2021-04-12 12:51:41 +08:00
rwsem.c exec: Transform exec_update_mutex into a rw_semaphore 2021-04-12 12:51:05 +08:00
rwsem.h Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
semaphore.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
spinlock.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
spinlock_debug.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
test-ww_mutex.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00