]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
sched/mmcid: Cacheline align MM CID storage
authorThomas Gleixner <tglx@linutronix.de>
Wed, 19 Nov 2025 17:26:49 +0000 (18:26 +0100)
committerPeter Zijlstra <peterz@infradead.org>
Thu, 20 Nov 2025 11:14:53 +0000 (12:14 +0100)
Both the per CPU storage and the data in mm_struct are heavily used in
context switch. As they can end up next to other frequently modified data,
they are subject to false sharing.

Make them cache line aligned.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Reviewed-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Link: https://patch.msgid.link/20251119172549.194111661@linutronix.de
include/linux/rseq_types.h

index e444dd267c7aa6c456aa15ce3db6b8d0e0de7473..d7e8071b626a4c4b3911d2c56e6418a2ee4911c4 100644 (file)
@@ -112,7 +112,7 @@ struct sched_mm_cid {
  */
 struct mm_cid_pcpu {
        unsigned int    cid;
-};
+}____cacheline_aligned_in_smp;
 
 /**
  * struct mm_mm_cid - Storage for per MM CID data
@@ -126,7 +126,7 @@ struct mm_mm_cid {
        struct mm_cid_pcpu      __percpu *pcpu;
        unsigned int            nr_cpus_allowed;
        raw_spinlock_t          lock;
-};
+}____cacheline_aligned_in_smp;
 #else /* CONFIG_SCHED_MM_CID */
 struct mm_mm_cid { };
 struct sched_mm_cid { };