Re: [PATCH 05/17] x86, mpx: trace when MPX is zapping pages

Borislav Petkov
2015-03-27T12:28:11Z

On Thu, Mar 26, 2015 at 11:33:39AM -0700, Dave Hansen wrote:
>
> From: Dave Hansen <dave.hansen@linux.intel.com>
>
> When MPX can not free an entire bounds table, it will instead
> try to zap unused parts of a bounds table to free the backing
> memory. This decreases Rss (resident set) without decreasing

RSS (Resident Set Size)

> the virtual space allocated for bounds tables.
>
> Signed-off-by: Dave Hansen <dave.hansen@linux.intel.com>
> ---
>
> b/arch/x86/include/asm/trace/mpx.h | 22 ++++++++++++++++++++++
> b/arch/x86/mm/mpx.c | 1 +
> 2 files changed, 23 insertions(+)
>
> diff -puN arch/x86/include/asm/trace/mpx.h~mpx-trace_unmap_zap arch/x86/include/asm/trace/mpx.h
> --- a/arch/x86/include/asm/trace/mpx.h~mpx-trace_unmap_zap 2015-03-26 11:27:06.279273832 -0700
> +++ b/arch/x86/include/asm/trace/mpx.h 2015-03-26 11:27:06.283274012 -0700
> @@ -53,6 +53,28 @@ TRACE_EVENT(bounds_exception_mpx,
> __entry->bndstatus)
> );
>
> +TRACE_EVENT(mpx_unmap_zap,
> +
> + TP_PROTO(unsigned long start,
> + unsigned long end),
> + TP_ARGS(start, end),
> +
> + TP_STRUCT__entry(
> + __field(unsigned long, start)
> + __field(unsigned long, end)
> + ),
> +
> + TP_fast_assign(
> + __entry->start = start;
> + __entry->end = end;
> + ),
> +
> + TP_printk("0x%p -> 0x%p",

Maybe as an interval:

[0x%p:0x%p]

> + (void *)__entry->start,
> + (void *)__entry->end
> + )
> +);
> +
> #else

--
Regards/Gruss,
Boris.

ECO tip #101: Trim your mails when you reply.
--