Skip to content
  • Kajol Jain's avatar
    dea8cfcc
    perf script python: Fix buffer size to report iregs in perf script · dea8cfcc
    Kajol Jain authored
    
    
    Commit 48a1f565 ("perf script python: Add more PMU fields to
    event handler dict") added functionality to report fields like weight,
    iregs, uregs etc via perf report.  That commit predefined buffer size to
    512 bytes to print those fields.
    
    But in PowerPC, since we added extended regs support in:
    
      068aeea3 ("perf powerpc: Support exposing Performance Monitor Counter SPRs as part of extended regs")
      d735599a ("powerpc/perf: Add extended regs support for power10 platform")
    
    Now iregs can carry more bytes of data and this predefined buffer size
    can result to data loss in perf script output.
    
    This patch resolves this issue by making the buffer size dynamic, based
    on the number of registers needed to print. It also changes the
    regs_map() return type from int to void, as it is not being used by the
    set_regs_in_dict(), its only caller.
    
    Fixes: 068aeea3 ("perf powerpc: Support exposing Performance Monitor Counter SPRs as part of extended regs")
    Signed-off-by: default avatarKajol Jain <kjain@linux.ibm.com>
    Tested-by: default avatarNageswara R Sastry <rnsastry@linux.ibm.com>
    Cc: Athira Jajeev <atrajeev@linux.vnet.ibm.com>
    Cc: Jiri Olsa <jolsa@redhat.com>
    Cc: Madhavan Srinivasan <maddy@linux.vnet.ibm.com>
    Cc: Paul Clarke <pc@us.ibm.com>
    Cc: Ravi Bangoria <ravi.bangoria@linux.ibm.com>
    Cc: linuxppc-dev@lists.ozlabs.org
    Link: http://lore.kernel.org/lkml/20210628062341.155839-1-kjain@linux.ibm.com
    
    
    Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    dea8cfcc
    perf script python: Fix buffer size to report iregs in perf script
    Kajol Jain authored
    
    
    Commit 48a1f565 ("perf script python: Add more PMU fields to
    event handler dict") added functionality to report fields like weight,
    iregs, uregs etc via perf report.  That commit predefined buffer size to
    512 bytes to print those fields.
    
    But in PowerPC, since we added extended regs support in:
    
      068aeea3 ("perf powerpc: Support exposing Performance Monitor Counter SPRs as part of extended regs")
      d735599a ("powerpc/perf: Add extended regs support for power10 platform")
    
    Now iregs can carry more bytes of data and this predefined buffer size
    can result to data loss in perf script output.
    
    This patch resolves this issue by making the buffer size dynamic, based
    on the number of registers needed to print. It also changes the
    regs_map() return type from int to void, as it is not being used by the
    set_regs_in_dict(), its only caller.
    
    Fixes: 068aeea3 ("perf powerpc: Support exposing Performance Monitor Counter SPRs as part of extended regs")
    Signed-off-by: default avatarKajol Jain <kjain@linux.ibm.com>
    Tested-by: default avatarNageswara R Sastry <rnsastry@linux.ibm.com>
    Cc: Athira Jajeev <atrajeev@linux.vnet.ibm.com>
    Cc: Jiri Olsa <jolsa@redhat.com>
    Cc: Madhavan Srinivasan <maddy@linux.vnet.ibm.com>
    Cc: Paul Clarke <pc@us.ibm.com>
    Cc: Ravi Bangoria <ravi.bangoria@linux.ibm.com>
    Cc: linuxppc-dev@lists.ozlabs.org
    Link: http://lore.kernel.org/lkml/20210628062341.155839-1-kjain@linux.ibm.com
    
    
    Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
Loading