• Reinette Chatre's avatar
    x86/intel_rdt: Create debugfs files for pseudo-locking testing · 443810fe
    Reinette Chatre authored
    There is no simple yes/no test to determine if pseudo-locking was
    successful. In order to test pseudo-locking we expose a debugfs file for
    each pseudo-locked region that will record the latency of reading the
    pseudo-locked memory at a stride of 32 bytes (hardcoded). These numbers
    will give us an idea of locking was successful or not since they will
    reflect cache hits and cache misses (hardware prefetching is disabled
    during the test).
    
    The new debugfs file "pseudo_lock_measure" will, when the
    pseudo_lock_mem_latency tracepoint is enabled, record the latency of
    accessing each cache line twice.
    
    Kernel tracepoints offer us histograms (when CONFIG_HIST_TRIGGERS is
    enabled) that is a simple way to visualize the memory access latency
    and immediately see any cache misses. For example, the hist trigger
    below before trigger of the measurement will display the memory access
    latency and instances at each latency:
    echo 'hist:keys=latency' > /sys/kernel/debug/tracing/events/resctrl/\
                               pseudo_lock_mem_latency/trigger
    echo 1 > /sys/kernel/debug/tracing/events/resctrl/pseudo_lock_mem_latency/enable
    echo 1 > /sys/kernel/debug/resctrl/<newlock>/pseudo_lock_measure
    echo 0 > /sys/kernel/debug/tracing/events/resctrl/pseudo_lock_mem_latency/enable
    cat /sys/kernel/debug/tracing/events/resctrl/pseudo_lock_mem_latency/hist
    Signed-off-by: default avatarReinette Chatre <reinette.chatre@intel.com>
    Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
    Cc: fenghua.yu@intel.com
    Cc: tony.luck@intel.com
    Cc: vikas.shivappa@linux.intel.com
    Cc: gavin.hindman@intel.com
    Cc: jithu.joseph@intel.com
    Cc: dave.hansen@intel.com
    Cc: hpa@zytor.com
    Link: https://lkml.kernel.org/r/6b2ea76181099d1b79ccfa7d3be24497ab2d1a45.1529706536.git.reinette.chatre@intel.com
    443810fe
intel_rdt_pseudo_lock_event.h 636 Bytes