• Leo Yan's avatar
    perf cs-etm: Change tuple from traceID-CPU# to traceID-metadata · 95c6fe97
    Leo Yan authored
    If packet processing wants to know the packet is bound with which ETM
    version, it needs to access metadata to decide that based on metadata
    magic number; but we cannot simply to use CPU logic ID number as index
    to access metadata sequential array, especially when system have
    hotplugged off CPUs, the metadata array are only allocated for online
    CPUs but not offline CPUs, so the CPU logic number doesn't match with
    its index in the array.
    
    This patch is to change tuple from traceID-CPU# to traceID-metadata,
    thus it can use the tuple to retrieve metadata pointer according to
    traceID.
    
    For safe accessing metadata fields, this patch provides helper function
    cs_etm__get_cpu() which is used to return CPU number according to
    traceID; cs_etm_decoder__buffer_packet() is the first consumer for this
    helper function.
    Signed-off-by: default avatarLeo Yan <leo.yan@linaro.org>
    Reviewed-by: default avatarMathieu Poirier <mathieu.poirier@linaro.org>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Jiri Olsa <jolsa@redhat.com>
    Cc: Mike Leach <mike.leach@linaro.org>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Robert Walker <robert.walker@arm.com>
    Cc: Suzuki K Poulouse <suzuki.poulose@arm.com>
    Cc: coresight ml <coresight@lists.linaro.org>
    Cc: linux-arm-kernel@lists.infradead.org
    Link: http://lkml.kernel.org/r/20190129122842.32041-6-leo.yan@linaro.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    95c6fe97
cs-etm.h 2.08 KB