summaryrefslogtreecommitdiff
path: root/MAINTAINERS
diff options
context:
space:
mode:
authorPhil Yang <phil.yang@arm.com>2019-07-05 18:27:06 +0800
committerThomas Monjalon <thomas@monjalon.net>2019-07-07 23:45:22 +0200
commit2173f3333b61d243ee4745f79519e86478f38c4d (patch)
tree024f945abb6b61508e9a2dbb118ea888e7f34651 /MAINTAINERS
parentdb90b4969e2e2e5df88fb993779bf6a03e9cae39 (diff)
downloaddpdk-2173f3333b61d243ee4745f79519e86478f38c4d.zip
dpdk-2173f3333b61d243ee4745f79519e86478f38c4d.tar.gz
dpdk-2173f3333b61d243ee4745f79519e86478f38c4d.tar.xz
mcslock: add MCS queued lock implementation
If there are multiple threads contending, they all attempt to take the spinlock lock at the same time once it is released. This results in a huge amount of processor bus traffic, which is a huge performance killer. Thus, if we somehow order the lock-takers so that they know who is next in line for the resource we can vastly reduce the amount of bus traffic. This patch added MCS lock library. It provides scalability by spinning on a CPU/thread local variable which avoids expensive cache bouncings. It provides fairness by maintaining a list of acquirers and passing the lock to each CPU/thread in the order they acquired the lock. Signed-off-by: Phil Yang <phil.yang@arm.com> Reviewed-by: Steve Capper <steve.capper@arm.com> Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com> Reviewed-by: Gavin Hu <gavin.hu@arm.com>
Diffstat (limited to 'MAINTAINERS')
-rw-r--r--MAINTAINERS4
1 files changed, 4 insertions, 0 deletions
diff --git a/MAINTAINERS b/MAINTAINERS
index cb76357..49f2aa9 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -223,6 +223,10 @@ M: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
F: lib/librte_eal/common/include/rte_bitmap.h
F: app/test/test_bitmap.c
+MCSlock - EXPERIMENTAL
+M: Phil Yang <phil.yang@arm.com>
+F: lib/librte_eal/common/include/generic/rte_mcslock.h
+
Ticketlock
M: Joyce Kong <joyce.kong@arm.com>
F: lib/librte_eal/common/include/generic/rte_ticketlock.h