• Leo Yan's avatar
    perf arm-spe: Don't set data source if it's not a memory operation · 51ba539f
    Leo Yan authored
    Except for memory load and store operations, ARM SPE records also can
    support other operation types, bug when set the data source field the
    current code assumes a record is a either load operation or store
    operation, this leads to wrongly synthesize memory samples.
    
    This patch strictly checks the record operation type, it only sets data
    source only for the operation types ARM_SPE_LD and ARM_SPE_ST,
    otherwise, returns zero for data source.  Therefore, we can synthesize
    memory samples only when data source is a non-zero value, the function
    arm_spe__is_memory_event() is useless and removed.
    
    Fixes: e55ed342 ("perf arm-spe: Synthesize memory event")
    Reviewed-by: default avatarAli Saidi <alisaidi@amazon.com>
    Reviewed-by: default avatarGerman Gomez <german.gomez@arm.com>
    Signed-off-by: default avatarLeo Yan <leo.yan@linaro.org>
    Tested-by: default avatarAli Saidi <alisaidi@amazon.com>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: alisaidi@amazon.com
    Cc: Andrew Kilroy <andrew.kilroy@arm.com>
    Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
    Cc: James Clark <james.clark@arm.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: John Garry <john.garry@huawei.com>
    Cc: Kajol Jain <kjain@linux.ibm.com>
    Cc: Leo Yan <leo.yan@linaro.org>
    Cc: Li Huafei <lihuafei1@huawei.com>
    Cc: linux-arm-kernel@lists.infradead.org
    Cc: Mark Rutland <mark.rutland@arm.com>
    Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Nick Forrington <nick.forrington@arm.com>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Will Deacon <will@kernel.org>
    Link: http://lore.kernel.org/lkml/20220517020326.18580-5-alisaidi@amazon.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    51ba539f
arm-spe.c 29.9 KB