On Tue, Nov 19, 2024 at 04:08:21PM -0800, Suren Baghdasaryan wrote: > Back when per-vma locks were introduces, vm_lock was moved out of > vm_area_struct in [1] because of the performance regression caused by > false cacheline sharing. Recent investigation [2] revealed that the > regressions is limited to a rather old Broadwell microarchitecture and > even there it can be mitigated by disabling adjacent cacheline > prefetching, see [3]. If 'struct vm_area_struct' is prone to performance issues due to cacheline misalignments then we should do something about the __randomize_layout tag for it. I imagine we can identify the fields which might be performance critical to be on same cacheline or different cacheline due to false sharing then we can divide the fields into different cacheline groups and fields can be __randomize_layout within the group. WDYT?