summaryrefslogtreecommitdiff
path: root/Documentation/kernel-hacking/index.rst
diff options
context:
space:
mode:
authorFeng Tang <feng.tang@intel.com>2023-04-07 07:12:35 +0300
committerJonathan Corbet <corbet@lwn.net>2023-04-11 01:46:11 +0300
commit911ac7979dde0ca31fdfcc4fbd27d2fa3f2bf376 (patch)
tree1cf780e14b8731924e49b985f65d8e178955abdd /Documentation/kernel-hacking/index.rst
parent2ca956cf883458a713d7e2f4c37554b374b39907 (diff)
downloadlinux-911ac7979dde0ca31fdfcc4fbd27d2fa3f2bf376.tar.xz
Documentation: Add document for false sharing
When doing performance tuning or debugging performance regressions, more and more cases are found to be related to false sharing [1][2][3], and the situation can be worse for newer platforms with hundreds of CPUs. There are already many commits in current kernel specially for mitigating the performance degradation due to false sharing. False sharing could harm the performance silently without being noticed, due to reasons like: * data members of a big data structure randomly sitting together in one cache line * global data of small size are linked compactly together So it's better to make a simple document about the normal pattern of false sharing, basic ways to mitigate it and call out to developers to pay attention during code-writing. [ Many thanks to Dave Hansen, Ying Huang, Tim Chen, Julie Du and Yu Chen for their contributions ] [1]. https://lore.kernel.org/lkml/20220619150456.GB34471@xsang-OptiPlex-9020/ [2]. https://lore.kernel.org/lkml/20201102091543.GM31092@shao2-debian/ [3]. https://lore.kernel.org/lkml/20230307125538.818862491@linutronix.de/ Signed-off-by: Feng Tang <feng.tang@intel.com> Reviewed-by: Randy Dunlap <rdunlap@infradead.org> Reviewed-by: Shakeel Butt <shakeelb@google.com> Link: https://lore.kernel.org/r/20230407041235.37886-1-feng.tang@intel.com Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Diffstat (limited to 'Documentation/kernel-hacking/index.rst')
-rw-r--r--Documentation/kernel-hacking/index.rst1
1 files changed, 1 insertions, 0 deletions
diff --git a/Documentation/kernel-hacking/index.rst b/Documentation/kernel-hacking/index.rst
index f53027652290..79c03bac99a2 100644
--- a/Documentation/kernel-hacking/index.rst
+++ b/Documentation/kernel-hacking/index.rst
@@ -9,3 +9,4 @@ Kernel Hacking Guides
hacking
locking
+ false-sharing