• Ian Rogers's avatar
    perf topology: Add core_wide · cc2c4e26
    Ian Rogers authored
    It is possible to optimize metrics when all SMT threads (CPUs) on a
    core are measuring events in system wide mode. For example, TMA
    metrics defines CORE_CLKS for Sandybrdige as:
    
    if SMT is disabled:
      CPU_CLK_UNHALTED.THREAD
    if SMT is enabled and recording on all SMT threads:
      CPU_CLK_UNHALTED.THREAD_ANY / 2
    if SMT is enabled and not recording on all SMT threads:
      (CPU_CLK_UNHALTED.THREAD/2)*
      (1+CPU_CLK_UNHALTED.ONE_THREAD_ACTIVE/CPU_CLK_UNHALTED.REF_XCLK )
    
    That is two more events are necessary when not gathering counts on all
    SMT threads. To distinguish all SMT threads on a core vs system wide
    (all CPUs) call the new property core wide.  Add a core wide test that
    determines the property from user requested CPUs, the topology and
    system wide. System wide is required as other processes running on a
    SMT thread will change the counts.
    Signed-off-by: default avatarIan Rogers <irogers@google.com>
    Cc: Ahmad Yasin <ahmad.yasin@intel.com>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Andi Kleen <ak@linux.intel.com>
    Cc: Caleb Biggers <caleb.biggers@intel.com>
    Cc: Florian Fischer <florian.fischer@muhq.space>
    Cc: Ingo Molnar <mingo@redhat.com>
    Cc: James Clark <james.clark@arm.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: John Garry <john.garry@huawei.com>
    Cc: Kan Liang <kan.liang@linux.intel.com>
    Cc: Kshipra Bopardikar <kshipra.bopardikar@intel.com>
    Cc: Mark Rutland <mark.rutland@arm.com>
    Cc: Miaoqian Lin <linmq006@gmail.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Perry Taylor <perry.taylor@intel.com>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Stephane Eranian <eranian@google.com>
    Cc: Thomas Richter <tmricht@linux.ibm.com>
    Cc: Xing Zhengjun <zhengjun.xing@linux.intel.com>
    Link: https://lore.kernel.org/r/20220831174926.579643-5-irogers@google.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    cc2c4e26
smt.c 916 Bytes