Re: [PATCH V3] x86/mm: Tracking linear mapping split events

Randy Dunlap
2021-01-27T23:05:30Z

On 1/27/21 2:50 PM, Saravanan D wrote:
> To help with debugging the sluggishness caused by TLB miss/reload,
> we introduce monotonic lifetime hugepage split event counts since
> system state: SYSTEM_RUNNING to be displayed as part of
> /proc/vmstat in x86 servers
>
> The lifetime split event information will be displayed at the bottom of
> /proc/vmstat
> ....
> swap_ra 0
> swap_ra_hit 0
> direct_map_2M_splits 167
> direct_map_1G_splits 6
> nr_unstable 0
> ....
>
> One of the many lasting (as we don't coalesce back) sources for huge page
> splits is tracing as the granular page attribute/permission changes would
> force the kernel to split code segments mapped to huge pages to smaller
> ones thereby increasing the probability of TLB miss/reload even after
> tracing has been stopped.
>
> Signed-off-by: Saravanan D <saravanand@fb.com>
> ---
> arch/x86/mm/pat/set_memory.c | 18 ++++++++++++++++++
> include/linux/vm_event_item.h | 8 ++++++++
> mm/vmstat.c | 8 ++++++++
> 3 files changed, 34 insertions(+)

Documenation/ update, please.

--
~Randy