Skip to content
  • Leo Yan's avatar
    4d0f4ca2
    perf arm-spe: Remove size condition checking for events · 4d0f4ca2
    Leo Yan authored
    
    
    In the Armv8 ARM (ARM DDI 0487F.c), chapter "D10.2.6 Events packet", it
    describes the event bit is valid with specific payload requirement.  For
    example, the Last Level cache access event, the bit is defined as:
    
      E[8], byte 1 bit [0], when SZ == 0b01 , when SZ == 0b10 ,
      		     or when SZ == 0b11
    
    It requires the payload size is at least 2 bytes, when byte 1 (start
    counting from 0) is valid, E[8] (bit 0 in byte 1) can be used for LLC
    access event type.  For safety, the code checks the condition for
    payload size firstly, if meet the requirement for payload size, then
    continue to parse event type.
    
    If review function arm_spe_get_payload(), it has used cast, so any bytes
    beyond the valid size have been set to zeros.
    
    For this reason, we don't need to check payload size anymore afterwards
    when parse events, thus this patch removes payload size conditions.
    
    Suggested-by: default avatarAndre Przywara <andre.przywara@arm.com>
    Signed-off-by: default avatarLeo Yan <leo.yan@linaro.org>
    Reviewed-by: default avatarAndre Przywara <andre.przywara@arm.com>
    Acked-by: default avatarWill Deacon <will@kernel.org>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Al Grant <Al.Grant@arm.com>
    Cc: Arnaldo Carvalho de Melo <acme@kernel.org>
    Cc: Dave Martin <Dave.Martin@arm.com>
    Cc: Ingo Molnar <mingo@redhat.com>
    Cc: James Clark <james.clark@arm.com>
    Cc: Jiri Olsa <jolsa@redhat.com>
    Cc: John Garry <john.garry@huawei.com>
    Cc: Mark Rutland <mark.rutland@arm.com>
    Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Wei Li <liwei391@huawei.com>
    Link: https://lore.kernel.org/r/20201119152441.6972-12-leo.yan@linaro.org
    
    
    Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    4d0f4ca2
    perf arm-spe: Remove size condition checking for events
    Leo Yan authored
    
    
    In the Armv8 ARM (ARM DDI 0487F.c), chapter "D10.2.6 Events packet", it
    describes the event bit is valid with specific payload requirement.  For
    example, the Last Level cache access event, the bit is defined as:
    
      E[8], byte 1 bit [0], when SZ == 0b01 , when SZ == 0b10 ,
      		     or when SZ == 0b11
    
    It requires the payload size is at least 2 bytes, when byte 1 (start
    counting from 0) is valid, E[8] (bit 0 in byte 1) can be used for LLC
    access event type.  For safety, the code checks the condition for
    payload size firstly, if meet the requirement for payload size, then
    continue to parse event type.
    
    If review function arm_spe_get_payload(), it has used cast, so any bytes
    beyond the valid size have been set to zeros.
    
    For this reason, we don't need to check payload size anymore afterwards
    when parse events, thus this patch removes payload size conditions.
    
    Suggested-by: default avatarAndre Przywara <andre.przywara@arm.com>
    Signed-off-by: default avatarLeo Yan <leo.yan@linaro.org>
    Reviewed-by: default avatarAndre Przywara <andre.przywara@arm.com>
    Acked-by: default avatarWill Deacon <will@kernel.org>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Al Grant <Al.Grant@arm.com>
    Cc: Arnaldo Carvalho de Melo <acme@kernel.org>
    Cc: Dave Martin <Dave.Martin@arm.com>
    Cc: Ingo Molnar <mingo@redhat.com>
    Cc: James Clark <james.clark@arm.com>
    Cc: Jiri Olsa <jolsa@redhat.com>
    Cc: John Garry <john.garry@huawei.com>
    Cc: Mark Rutland <mark.rutland@arm.com>
    Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Wei Li <liwei391@huawei.com>
    Link: https://lore.kernel.org/r/20201119152441.6972-12-leo.yan@linaro.org
    
    
    Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
Loading