Ian Rogers
ddbfb6f20c
perf build: Remove PERF_HAVE_DWARF_REGS
...
PERF_HAVE_DWARF_REGS was true when an architecture had a dwarf-regs.c
file. There are no more architecture dwarf-regs.c files, selection is
done using constants from the ELF file rather than conditional
compilation. When removing PERF_HAVE_DWARF_REGS was the only variable
in the Makefile, remove the Makefile.
Add missing SPDX for RISC-V Makefile.
Reviewed-by: Masami Hiramatsu (Google) <mhiramat@kernel.org >
Signed-off-by: Ian Rogers <irogers@google.com >
Cc: Anup Patel <anup@brainfault.org >
Cc: Yang Jihong <yangjihong@bytedance.com >
Cc: Palmer Dabbelt <palmer@dabbelt.com >
Cc: David S. Miller <davem@davemloft.net >
Cc: Albert Ou <aou@eecs.berkeley.edu >
Cc: Shenlin Liang <liangshenlin@eswincomputing.com >
Cc: Nick Terrell <terrelln@fb.com >
Cc: Guilherme Amadio <amadio@gentoo.org >
Cc: Steinar H. Gunderson <sesse@google.com >
Cc: Changbin Du <changbin.du@huawei.com >
Cc: Alexander Lobakin <aleksander.lobakin@intel.com >
Cc: Przemek Kitszel <przemyslaw.kitszel@intel.com >
Cc: Huacai Chen <chenhuacai@kernel.org >
Cc: Guo Ren <guoren@kernel.org >
Cc: Masahiro Yamada <masahiroy@kernel.org >
Cc: Will Deacon <will@kernel.org >
Cc: James Clark <james.clark@linaro.org >
Cc: Mike Leach <mike.leach@linaro.org >
Cc: Chen Pei <cp0613@linux.alibaba.com >
Cc: Leo Yan <leo.yan@linux.dev >
Cc: Oliver Upton <oliver.upton@linux.dev >
Cc: Aditya Gupta <adityag@linux.ibm.com >
Cc: Kajol Jain <kjain@linux.ibm.com >
Cc: Athira Rajeev <atrajeev@linux.vnet.ibm.com >
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-riscv@lists.infradead.org
Cc: Bibo Mao <maobibo@loongson.cn >
Cc: John Garry <john.g.garry@oracle.com >
Cc: Atish Patra <atishp@rivosinc.com >
Cc: Dima Kogan <dima@secretsauce.net >
Cc: Paul Walmsley <paul.walmsley@sifive.com >
Cc: Dr. David Alan Gilbert <linux@treblig.org >
Cc: linux-csky@vger.kernel.org
Link: https://lore.kernel.org/r/20241108234606.429459-21-irogers@google.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2024-11-09 08:39:14 -08:00
Ian Rogers
3ef6b89a12
perf dwarf-regs: Remove get_arch_regstr code
...
get_arch_regstr no longer exists so remove declaration. Associated ifs
and switches are made unconditional.
Reviewed-by: Masami Hiramatsu (Google) <mhiramat@kernel.org >
Signed-off-by: Ian Rogers <irogers@google.com >
Cc: Anup Patel <anup@brainfault.org >
Cc: Yang Jihong <yangjihong@bytedance.com >
Cc: Palmer Dabbelt <palmer@dabbelt.com >
Cc: David S. Miller <davem@davemloft.net >
Cc: Albert Ou <aou@eecs.berkeley.edu >
Cc: Shenlin Liang <liangshenlin@eswincomputing.com >
Cc: Nick Terrell <terrelln@fb.com >
Cc: Guilherme Amadio <amadio@gentoo.org >
Cc: Steinar H. Gunderson <sesse@google.com >
Cc: Changbin Du <changbin.du@huawei.com >
Cc: Alexander Lobakin <aleksander.lobakin@intel.com >
Cc: Przemek Kitszel <przemyslaw.kitszel@intel.com >
Cc: Huacai Chen <chenhuacai@kernel.org >
Cc: Guo Ren <guoren@kernel.org >
Cc: Masahiro Yamada <masahiroy@kernel.org >
Cc: Will Deacon <will@kernel.org >
Cc: James Clark <james.clark@linaro.org >
Cc: Mike Leach <mike.leach@linaro.org >
Cc: Chen Pei <cp0613@linux.alibaba.com >
Cc: Leo Yan <leo.yan@linux.dev >
Cc: Oliver Upton <oliver.upton@linux.dev >
Cc: Aditya Gupta <adityag@linux.ibm.com >
Cc: Kajol Jain <kjain@linux.ibm.com >
Cc: Athira Rajeev <atrajeev@linux.vnet.ibm.com >
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-riscv@lists.infradead.org
Cc: Bibo Mao <maobibo@loongson.cn >
Cc: John Garry <john.g.garry@oracle.com >
Cc: Atish Patra <atishp@rivosinc.com >
Cc: Dima Kogan <dima@secretsauce.net >
Cc: Paul Walmsley <paul.walmsley@sifive.com >
Cc: Dr. David Alan Gilbert <linux@treblig.org >
Cc: linux-csky@vger.kernel.org
Link: https://lore.kernel.org/r/20241108234606.429459-20-irogers@google.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2024-11-09 08:39:14 -08:00
Ian Rogers
a4747c0950
perf xtensa: Remove dwarf-regs.c
...
The file just provides the function get_arch_regstr, however, if in
the only caller get_dwarf_regstr EM_HOST is used for the EM_NONE case
the function can never be called. So remove as dead code. As this is
the only file in the arch/xtensa/util clean up Build files. Tidy up the
EM_NONE cases for xtensa in dwarf-regs.c.
Reviewed-by: Masami Hiramatsu (Google) <mhiramat@kernel.org >
Signed-off-by: Ian Rogers <irogers@google.com >
Cc: Anup Patel <anup@brainfault.org >
Cc: Yang Jihong <yangjihong@bytedance.com >
Cc: Palmer Dabbelt <palmer@dabbelt.com >
Cc: David S. Miller <davem@davemloft.net >
Cc: Albert Ou <aou@eecs.berkeley.edu >
Cc: Shenlin Liang <liangshenlin@eswincomputing.com >
Cc: Nick Terrell <terrelln@fb.com >
Cc: Guilherme Amadio <amadio@gentoo.org >
Cc: Steinar H. Gunderson <sesse@google.com >
Cc: Changbin Du <changbin.du@huawei.com >
Cc: Alexander Lobakin <aleksander.lobakin@intel.com >
Cc: Przemek Kitszel <przemyslaw.kitszel@intel.com >
Cc: Huacai Chen <chenhuacai@kernel.org >
Cc: Guo Ren <guoren@kernel.org >
Cc: Masahiro Yamada <masahiroy@kernel.org >
Cc: Will Deacon <will@kernel.org >
Cc: James Clark <james.clark@linaro.org >
Cc: Mike Leach <mike.leach@linaro.org >
Cc: Chen Pei <cp0613@linux.alibaba.com >
Cc: Leo Yan <leo.yan@linux.dev >
Cc: Oliver Upton <oliver.upton@linux.dev >
Cc: Aditya Gupta <adityag@linux.ibm.com >
Cc: Kajol Jain <kjain@linux.ibm.com >
Cc: Athira Rajeev <atrajeev@linux.vnet.ibm.com >
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-riscv@lists.infradead.org
Cc: Bibo Mao <maobibo@loongson.cn >
Cc: John Garry <john.g.garry@oracle.com >
Cc: Atish Patra <atishp@rivosinc.com >
Cc: Dima Kogan <dima@secretsauce.net >
Cc: Paul Walmsley <paul.walmsley@sifive.com >
Cc: Dr. David Alan Gilbert <linux@treblig.org >
Cc: linux-csky@vger.kernel.org
Link: https://lore.kernel.org/r/20241108234606.429459-19-irogers@google.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2024-11-09 08:39:14 -08:00
Ian Rogers
85567a2a8d
perf sparc: Remove dwarf-regs.c
...
The file just provides the function get_arch_regstr, however, if in
the only caller get_dwarf_regstr EM_HOST is used for the EM_NONE case
the function can never be called. So remove as dead code. As this is
the only file in the arch/sparc/util clean up Build files. Tidy up the
EM_NONE cases for sparc in dwarf-regs.c.
Reviewed-by: Masami Hiramatsu (Google) <mhiramat@kernel.org >
Signed-off-by: Ian Rogers <irogers@google.com >
Cc: Anup Patel <anup@brainfault.org >
Cc: Yang Jihong <yangjihong@bytedance.com >
Cc: Palmer Dabbelt <palmer@dabbelt.com >
Cc: David S. Miller <davem@davemloft.net >
Cc: Albert Ou <aou@eecs.berkeley.edu >
Cc: Shenlin Liang <liangshenlin@eswincomputing.com >
Cc: Nick Terrell <terrelln@fb.com >
Cc: Guilherme Amadio <amadio@gentoo.org >
Cc: Steinar H. Gunderson <sesse@google.com >
Cc: Changbin Du <changbin.du@huawei.com >
Cc: Alexander Lobakin <aleksander.lobakin@intel.com >
Cc: Przemek Kitszel <przemyslaw.kitszel@intel.com >
Cc: Huacai Chen <chenhuacai@kernel.org >
Cc: Guo Ren <guoren@kernel.org >
Cc: Masahiro Yamada <masahiroy@kernel.org >
Cc: Will Deacon <will@kernel.org >
Cc: James Clark <james.clark@linaro.org >
Cc: Mike Leach <mike.leach@linaro.org >
Cc: Chen Pei <cp0613@linux.alibaba.com >
Cc: Leo Yan <leo.yan@linux.dev >
Cc: Oliver Upton <oliver.upton@linux.dev >
Cc: Aditya Gupta <adityag@linux.ibm.com >
Cc: Kajol Jain <kjain@linux.ibm.com >
Cc: Athira Rajeev <atrajeev@linux.vnet.ibm.com >
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-riscv@lists.infradead.org
Cc: Bibo Mao <maobibo@loongson.cn >
Cc: John Garry <john.g.garry@oracle.com >
Cc: Atish Patra <atishp@rivosinc.com >
Cc: Dima Kogan <dima@secretsauce.net >
Cc: Paul Walmsley <paul.walmsley@sifive.com >
Cc: Dr. David Alan Gilbert <linux@treblig.org >
Cc: linux-csky@vger.kernel.org
Link: https://lore.kernel.org/r/20241108234606.429459-18-irogers@google.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2024-11-09 08:39:14 -08:00
Ian Rogers
04150f29e2
perf sh: Remove dwarf-regs.c
...
The file just provides the function get_arch_regstr, however, if in
the only caller get_dwarf_regstr EM_HOST is used for the EM_NONE case
the function can never be called. So remove as dead code. As this is
the only file in the arch/sh/util clean up Build files. Tidy up the
EM_NONE cases for sh in dwarf-regs.c.
Reviewed-by: Masami Hiramatsu (Google) <mhiramat@kernel.org >
Signed-off-by: Ian Rogers <irogers@google.com >
Cc: Anup Patel <anup@brainfault.org >
Cc: Yang Jihong <yangjihong@bytedance.com >
Cc: Palmer Dabbelt <palmer@dabbelt.com >
Cc: David S. Miller <davem@davemloft.net >
Cc: Albert Ou <aou@eecs.berkeley.edu >
Cc: Shenlin Liang <liangshenlin@eswincomputing.com >
Cc: Nick Terrell <terrelln@fb.com >
Cc: Guilherme Amadio <amadio@gentoo.org >
Cc: Steinar H. Gunderson <sesse@google.com >
Cc: Changbin Du <changbin.du@huawei.com >
Cc: Alexander Lobakin <aleksander.lobakin@intel.com >
Cc: Przemek Kitszel <przemyslaw.kitszel@intel.com >
Cc: Huacai Chen <chenhuacai@kernel.org >
Cc: Guo Ren <guoren@kernel.org >
Cc: Masahiro Yamada <masahiroy@kernel.org >
Cc: Will Deacon <will@kernel.org >
Cc: James Clark <james.clark@linaro.org >
Cc: Mike Leach <mike.leach@linaro.org >
Cc: Chen Pei <cp0613@linux.alibaba.com >
Cc: Leo Yan <leo.yan@linux.dev >
Cc: Oliver Upton <oliver.upton@linux.dev >
Cc: Aditya Gupta <adityag@linux.ibm.com >
Cc: Kajol Jain <kjain@linux.ibm.com >
Cc: Athira Rajeev <atrajeev@linux.vnet.ibm.com >
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-riscv@lists.infradead.org
Cc: Bibo Mao <maobibo@loongson.cn >
Cc: John Garry <john.g.garry@oracle.com >
Cc: Atish Patra <atishp@rivosinc.com >
Cc: Dima Kogan <dima@secretsauce.net >
Cc: Paul Walmsley <paul.walmsley@sifive.com >
Cc: Dr. David Alan Gilbert <linux@treblig.org >
Cc: linux-csky@vger.kernel.org
Link: https://lore.kernel.org/r/20241108234606.429459-17-irogers@google.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2024-11-09 08:39:14 -08:00
Ian Rogers
b232b704a7
perf s390: Remove dwarf-regs.c
...
The file just provides the function get_arch_regstr, however, if in
the only caller get_dwarf_regstr EM_HOST is used for the EM_NONE case
the function can never be called. So remove as dead code. Tidy up the
EM_NONE cases for s390 in dwarf-regs.c.
Reviewed-by: Masami Hiramatsu (Google) <mhiramat@kernel.org >
Signed-off-by: Ian Rogers <irogers@google.com >
Cc: Anup Patel <anup@brainfault.org >
Cc: Yang Jihong <yangjihong@bytedance.com >
Cc: Palmer Dabbelt <palmer@dabbelt.com >
Cc: David S. Miller <davem@davemloft.net >
Cc: Albert Ou <aou@eecs.berkeley.edu >
Cc: Shenlin Liang <liangshenlin@eswincomputing.com >
Cc: Nick Terrell <terrelln@fb.com >
Cc: Guilherme Amadio <amadio@gentoo.org >
Cc: Steinar H. Gunderson <sesse@google.com >
Cc: Changbin Du <changbin.du@huawei.com >
Cc: Alexander Lobakin <aleksander.lobakin@intel.com >
Cc: Przemek Kitszel <przemyslaw.kitszel@intel.com >
Cc: Huacai Chen <chenhuacai@kernel.org >
Cc: Guo Ren <guoren@kernel.org >
Cc: Masahiro Yamada <masahiroy@kernel.org >
Cc: Will Deacon <will@kernel.org >
Cc: James Clark <james.clark@linaro.org >
Cc: Mike Leach <mike.leach@linaro.org >
Cc: Chen Pei <cp0613@linux.alibaba.com >
Cc: Leo Yan <leo.yan@linux.dev >
Cc: Oliver Upton <oliver.upton@linux.dev >
Cc: Aditya Gupta <adityag@linux.ibm.com >
Cc: Kajol Jain <kjain@linux.ibm.com >
Cc: Athira Rajeev <atrajeev@linux.vnet.ibm.com >
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-riscv@lists.infradead.org
Cc: Bibo Mao <maobibo@loongson.cn >
Cc: John Garry <john.g.garry@oracle.com >
Cc: Atish Patra <atishp@rivosinc.com >
Cc: Dima Kogan <dima@secretsauce.net >
Cc: Paul Walmsley <paul.walmsley@sifive.com >
Cc: Dr. David Alan Gilbert <linux@treblig.org >
Cc: linux-csky@vger.kernel.org
Link: https://lore.kernel.org/r/20241108234606.429459-16-irogers@google.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2024-11-09 08:39:14 -08:00
Ian Rogers
a90c451918
perf riscv: Remove dwarf-regs.c and add dwarf-regs-table.h
...
The file just provides the function get_arch_regstr, however, if in
the only caller get_dwarf_regstr EM_HOST is used for the EM_NONE case,
and the register table is provided in a header file, the function can
never be called. So remove as dead code. Tidy up the EM_NONE cases for
riscv in dwarf-regs.c.
Reviewed-by: Masami Hiramatsu (Google) <mhiramat@kernel.org >
Signed-off-by: Ian Rogers <irogers@google.com >
Acked-by: Palmer Dabbelt <palmer@rivosinc.com >
Cc: Anup Patel <anup@brainfault.org >
Cc: Yang Jihong <yangjihong@bytedance.com >
Cc: Palmer Dabbelt <palmer@dabbelt.com >
Cc: David S. Miller <davem@davemloft.net >
Cc: Albert Ou <aou@eecs.berkeley.edu >
Cc: Shenlin Liang <liangshenlin@eswincomputing.com >
Cc: Nick Terrell <terrelln@fb.com >
Cc: Guilherme Amadio <amadio@gentoo.org >
Cc: Steinar H. Gunderson <sesse@google.com >
Cc: Changbin Du <changbin.du@huawei.com >
Cc: Alexander Lobakin <aleksander.lobakin@intel.com >
Cc: Przemek Kitszel <przemyslaw.kitszel@intel.com >
Cc: Huacai Chen <chenhuacai@kernel.org >
Cc: Guo Ren <guoren@kernel.org >
Cc: Masahiro Yamada <masahiroy@kernel.org >
Cc: Will Deacon <will@kernel.org >
Cc: James Clark <james.clark@linaro.org >
Cc: Mike Leach <mike.leach@linaro.org >
Cc: Chen Pei <cp0613@linux.alibaba.com >
Cc: Leo Yan <leo.yan@linux.dev >
Cc: Oliver Upton <oliver.upton@linux.dev >
Cc: Aditya Gupta <adityag@linux.ibm.com >
Cc: Kajol Jain <kjain@linux.ibm.com >
Cc: Athira Rajeev <atrajeev@linux.vnet.ibm.com >
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-riscv@lists.infradead.org
Cc: Bibo Mao <maobibo@loongson.cn >
Cc: John Garry <john.g.garry@oracle.com >
Cc: Atish Patra <atishp@rivosinc.com >
Cc: Dima Kogan <dima@secretsauce.net >
Cc: Paul Walmsley <paul.walmsley@sifive.com >
Cc: Dr. David Alan Gilbert <linux@treblig.org >
Cc: linux-csky@vger.kernel.org
Link: https://lore.kernel.org/r/20241108234606.429459-15-irogers@google.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2024-11-09 08:39:13 -08:00
Ian Rogers
285b523c2d
perf dwarf-regs: Move powerpc dwarf-regs out of arch
...
Move arch/powerpc/util/dwarf-regs.c to util/dwarf-regs-powerpc.c and
compile in unconditionally. get_arch_regstr is redundant when EM_NONE
is treated as EM_HOST so remove and update dwarf-regs.c conditions.
Make get_powerpc_regs unconditionally available whwn libdw is.
Reviewed-by: Masami Hiramatsu (Google) <mhiramat@kernel.org >
Signed-off-by: Ian Rogers <irogers@google.com >
Cc: Anup Patel <anup@brainfault.org >
Cc: Yang Jihong <yangjihong@bytedance.com >
Cc: Palmer Dabbelt <palmer@dabbelt.com >
Cc: David S. Miller <davem@davemloft.net >
Cc: Albert Ou <aou@eecs.berkeley.edu >
Cc: Shenlin Liang <liangshenlin@eswincomputing.com >
Cc: Nick Terrell <terrelln@fb.com >
Cc: Guilherme Amadio <amadio@gentoo.org >
Cc: Steinar H. Gunderson <sesse@google.com >
Cc: Changbin Du <changbin.du@huawei.com >
Cc: Alexander Lobakin <aleksander.lobakin@intel.com >
Cc: Przemek Kitszel <przemyslaw.kitszel@intel.com >
Cc: Huacai Chen <chenhuacai@kernel.org >
Cc: Guo Ren <guoren@kernel.org >
Cc: Masahiro Yamada <masahiroy@kernel.org >
Cc: Will Deacon <will@kernel.org >
Cc: James Clark <james.clark@linaro.org >
Cc: Mike Leach <mike.leach@linaro.org >
Cc: Chen Pei <cp0613@linux.alibaba.com >
Cc: Leo Yan <leo.yan@linux.dev >
Cc: Oliver Upton <oliver.upton@linux.dev >
Cc: Aditya Gupta <adityag@linux.ibm.com >
Cc: Kajol Jain <kjain@linux.ibm.com >
Cc: Athira Rajeev <atrajeev@linux.vnet.ibm.com >
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-riscv@lists.infradead.org
Cc: Bibo Mao <maobibo@loongson.cn >
Cc: John Garry <john.g.garry@oracle.com >
Cc: Atish Patra <atishp@rivosinc.com >
Cc: Dima Kogan <dima@secretsauce.net >
Cc: Paul Walmsley <paul.walmsley@sifive.com >
Cc: Dr. David Alan Gilbert <linux@treblig.org >
Cc: linux-csky@vger.kernel.org
Link: https://lore.kernel.org/r/20241108234606.429459-14-irogers@google.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2024-11-09 08:39:13 -08:00
Ian Rogers
8a768a2f65
perf mips: Remove dwarf-regs.c
...
The file just provides the function get_arch_regstr, however, if in
the only caller get_dwarf_regstr EM_HOST is used for the EM_NONE case
the function can never be called. So remove as dead code. Tidy up the
EM_NONE cases for mips in dwarf-regs.c.
Reviewed-by: Masami Hiramatsu (Google) <mhiramat@kernel.org >
Signed-off-by: Ian Rogers <irogers@google.com >
Cc: Anup Patel <anup@brainfault.org >
Cc: Yang Jihong <yangjihong@bytedance.com >
Cc: Palmer Dabbelt <palmer@dabbelt.com >
Cc: David S. Miller <davem@davemloft.net >
Cc: Albert Ou <aou@eecs.berkeley.edu >
Cc: Shenlin Liang <liangshenlin@eswincomputing.com >
Cc: Nick Terrell <terrelln@fb.com >
Cc: Guilherme Amadio <amadio@gentoo.org >
Cc: Steinar H. Gunderson <sesse@google.com >
Cc: Changbin Du <changbin.du@huawei.com >
Cc: Alexander Lobakin <aleksander.lobakin@intel.com >
Cc: Przemek Kitszel <przemyslaw.kitszel@intel.com >
Cc: Huacai Chen <chenhuacai@kernel.org >
Cc: Guo Ren <guoren@kernel.org >
Cc: Masahiro Yamada <masahiroy@kernel.org >
Cc: Will Deacon <will@kernel.org >
Cc: James Clark <james.clark@linaro.org >
Cc: Mike Leach <mike.leach@linaro.org >
Cc: Chen Pei <cp0613@linux.alibaba.com >
Cc: Leo Yan <leo.yan@linux.dev >
Cc: Oliver Upton <oliver.upton@linux.dev >
Cc: Aditya Gupta <adityag@linux.ibm.com >
Cc: Kajol Jain <kjain@linux.ibm.com >
Cc: Athira Rajeev <atrajeev@linux.vnet.ibm.com >
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-riscv@lists.infradead.org
Cc: Bibo Mao <maobibo@loongson.cn >
Cc: John Garry <john.g.garry@oracle.com >
Cc: Atish Patra <atishp@rivosinc.com >
Cc: Dima Kogan <dima@secretsauce.net >
Cc: Paul Walmsley <paul.walmsley@sifive.com >
Cc: Dr. David Alan Gilbert <linux@treblig.org >
Cc: linux-csky@vger.kernel.org
Link: https://lore.kernel.org/r/20241108234606.429459-13-irogers@google.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2024-11-09 08:39:13 -08:00
Ian Rogers
1d37bd8366
perf loongarch: Remove dwarf-regs.c
...
The file just provides the function get_arch_regstr, however, if in
the only caller get_dwarf_regstr EM_HOST is used for the EM_NONE case
the function can never be called. So remove as dead code. Tidy up the
EM_NONE cases for loongarch in dwarf-regs.c.
Reviewed-by: Masami Hiramatsu (Google) <mhiramat@kernel.org >
Signed-off-by: Ian Rogers <irogers@google.com >
Cc: Anup Patel <anup@brainfault.org >
Cc: Yang Jihong <yangjihong@bytedance.com >
Cc: Palmer Dabbelt <palmer@dabbelt.com >
Cc: David S. Miller <davem@davemloft.net >
Cc: Albert Ou <aou@eecs.berkeley.edu >
Cc: Shenlin Liang <liangshenlin@eswincomputing.com >
Cc: Nick Terrell <terrelln@fb.com >
Cc: Guilherme Amadio <amadio@gentoo.org >
Cc: Steinar H. Gunderson <sesse@google.com >
Cc: Changbin Du <changbin.du@huawei.com >
Cc: Alexander Lobakin <aleksander.lobakin@intel.com >
Cc: Przemek Kitszel <przemyslaw.kitszel@intel.com >
Cc: Huacai Chen <chenhuacai@kernel.org >
Cc: Guo Ren <guoren@kernel.org >
Cc: Masahiro Yamada <masahiroy@kernel.org >
Cc: Will Deacon <will@kernel.org >
Cc: James Clark <james.clark@linaro.org >
Cc: Mike Leach <mike.leach@linaro.org >
Cc: Chen Pei <cp0613@linux.alibaba.com >
Cc: Leo Yan <leo.yan@linux.dev >
Cc: Oliver Upton <oliver.upton@linux.dev >
Cc: Aditya Gupta <adityag@linux.ibm.com >
Cc: Kajol Jain <kjain@linux.ibm.com >
Cc: Athira Rajeev <atrajeev@linux.vnet.ibm.com >
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-riscv@lists.infradead.org
Cc: Bibo Mao <maobibo@loongson.cn >
Cc: John Garry <john.g.garry@oracle.com >
Cc: Atish Patra <atishp@rivosinc.com >
Cc: Dima Kogan <dima@secretsauce.net >
Cc: Paul Walmsley <paul.walmsley@sifive.com >
Cc: Dr. David Alan Gilbert <linux@treblig.org >
Cc: linux-csky@vger.kernel.org
Link: https://lore.kernel.org/r/20241108234606.429459-12-irogers@google.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2024-11-09 08:39:13 -08:00
Ian Rogers
d4a0c4f221
perf dwarf-regs: Move csky dwarf-regs out of arch
...
Move arch/csky/util/dwarf-regs.c to util/dwarf-regs-csky.c and compile
in unconditionally. To avoid get_arch_regstr being duplicated, rename
to get_csky_regstr and add to get_dwarf_regstr switch.
Update #ifdefs to allow ABI V1 and V2 tables at the same
time. Determine the table from the ELF flags.
Reviewed-by: Masami Hiramatsu (Google) <mhiramat@kernel.org >
Signed-off-by: Ian Rogers <irogers@google.com >
Cc: Anup Patel <anup@brainfault.org >
Cc: Yang Jihong <yangjihong@bytedance.com >
Cc: Palmer Dabbelt <palmer@dabbelt.com >
Cc: David S. Miller <davem@davemloft.net >
Cc: Albert Ou <aou@eecs.berkeley.edu >
Cc: Shenlin Liang <liangshenlin@eswincomputing.com >
Cc: Nick Terrell <terrelln@fb.com >
Cc: Guilherme Amadio <amadio@gentoo.org >
Cc: Steinar H. Gunderson <sesse@google.com >
Cc: Changbin Du <changbin.du@huawei.com >
Cc: Alexander Lobakin <aleksander.lobakin@intel.com >
Cc: Przemek Kitszel <przemyslaw.kitszel@intel.com >
Cc: Huacai Chen <chenhuacai@kernel.org >
Cc: Guo Ren <guoren@kernel.org >
Cc: Masahiro Yamada <masahiroy@kernel.org >
Cc: Will Deacon <will@kernel.org >
Cc: James Clark <james.clark@linaro.org >
Cc: Mike Leach <mike.leach@linaro.org >
Cc: Chen Pei <cp0613@linux.alibaba.com >
Cc: Leo Yan <leo.yan@linux.dev >
Cc: Oliver Upton <oliver.upton@linux.dev >
Cc: Aditya Gupta <adityag@linux.ibm.com >
Cc: Kajol Jain <kjain@linux.ibm.com >
Cc: Athira Rajeev <atrajeev@linux.vnet.ibm.com >
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-riscv@lists.infradead.org
Cc: Bibo Mao <maobibo@loongson.cn >
Cc: John Garry <john.g.garry@oracle.com >
Cc: Atish Patra <atishp@rivosinc.com >
Cc: Dima Kogan <dima@secretsauce.net >
Cc: Paul Walmsley <paul.walmsley@sifive.com >
Cc: Dr. David Alan Gilbert <linux@treblig.org >
Cc: linux-csky@vger.kernel.org
Link: https://lore.kernel.org/r/20241108234606.429459-11-irogers@google.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2024-11-09 08:39:13 -08:00
Ian Rogers
0c0a20ecdf
perf arm: Remove dwarf-regs.c
...
The file just provides the function get_arch_regstr, however, if in
the only caller get_dwarf_regstr EM_HOST is used for the EM_NONE case
the function can never be called. So remove as dead code. Tidy up the
EM_NONE cases for arm in dwarf-regs.c.
Reviewed-by: Masami Hiramatsu (Google) <mhiramat@kernel.org >
Signed-off-by: Ian Rogers <irogers@google.com >
Cc: Anup Patel <anup@brainfault.org >
Cc: Yang Jihong <yangjihong@bytedance.com >
Cc: Palmer Dabbelt <palmer@dabbelt.com >
Cc: David S. Miller <davem@davemloft.net >
Cc: Albert Ou <aou@eecs.berkeley.edu >
Cc: Shenlin Liang <liangshenlin@eswincomputing.com >
Cc: Nick Terrell <terrelln@fb.com >
Cc: Guilherme Amadio <amadio@gentoo.org >
Cc: Steinar H. Gunderson <sesse@google.com >
Cc: Changbin Du <changbin.du@huawei.com >
Cc: Alexander Lobakin <aleksander.lobakin@intel.com >
Cc: Przemek Kitszel <przemyslaw.kitszel@intel.com >
Cc: Huacai Chen <chenhuacai@kernel.org >
Cc: Guo Ren <guoren@kernel.org >
Cc: Masahiro Yamada <masahiroy@kernel.org >
Cc: Will Deacon <will@kernel.org >
Cc: James Clark <james.clark@linaro.org >
Cc: Mike Leach <mike.leach@linaro.org >
Cc: Chen Pei <cp0613@linux.alibaba.com >
Cc: Leo Yan <leo.yan@linux.dev >
Cc: Oliver Upton <oliver.upton@linux.dev >
Cc: Aditya Gupta <adityag@linux.ibm.com >
Cc: Kajol Jain <kjain@linux.ibm.com >
Cc: Athira Rajeev <atrajeev@linux.vnet.ibm.com >
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-riscv@lists.infradead.org
Cc: Bibo Mao <maobibo@loongson.cn >
Cc: John Garry <john.g.garry@oracle.com >
Cc: Atish Patra <atishp@rivosinc.com >
Cc: Dima Kogan <dima@secretsauce.net >
Cc: Paul Walmsley <paul.walmsley@sifive.com >
Cc: Dr. David Alan Gilbert <linux@treblig.org >
Cc: linux-csky@vger.kernel.org
Link: https://lore.kernel.org/r/20241108234606.429459-10-irogers@google.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2024-11-09 08:39:13 -08:00
Ian Rogers
6f8e8add5a
perf arm64: Remove dwarf-regs.c
...
The file just provides the function get_arch_regstr, however, if in
the only caller get_dwarf_regstr EM_HOST is used for the EM_NONE case
the function can never be called. So remove as dead code. Tidy up the
EM_NONE cases for arm64 in dwarf-regs.c.
Reviewed-by: Masami Hiramatsu (Google) <mhiramat@kernel.org >
Signed-off-by: Ian Rogers <irogers@google.com >
Acked-by: Masami Hiramatsu (Google) <mhiramat@kernel.org >
Cc: Anup Patel <anup@brainfault.org >
Cc: Yang Jihong <yangjihong@bytedance.com >
Cc: Palmer Dabbelt <palmer@dabbelt.com >
Cc: David S. Miller <davem@davemloft.net >
Cc: Albert Ou <aou@eecs.berkeley.edu >
Cc: Shenlin Liang <liangshenlin@eswincomputing.com >
Cc: Nick Terrell <terrelln@fb.com >
Cc: Guilherme Amadio <amadio@gentoo.org >
Cc: Steinar H. Gunderson <sesse@google.com >
Cc: Changbin Du <changbin.du@huawei.com >
Cc: Alexander Lobakin <aleksander.lobakin@intel.com >
Cc: Przemek Kitszel <przemyslaw.kitszel@intel.com >
Cc: Huacai Chen <chenhuacai@kernel.org >
Cc: Guo Ren <guoren@kernel.org >
Cc: Masahiro Yamada <masahiroy@kernel.org >
Cc: Will Deacon <will@kernel.org >
Cc: James Clark <james.clark@linaro.org >
Cc: Mike Leach <mike.leach@linaro.org >
Cc: Chen Pei <cp0613@linux.alibaba.com >
Cc: Leo Yan <leo.yan@linux.dev >
Cc: Oliver Upton <oliver.upton@linux.dev >
Cc: Aditya Gupta <adityag@linux.ibm.com >
Cc: Kajol Jain <kjain@linux.ibm.com >
Cc: Athira Rajeev <atrajeev@linux.vnet.ibm.com >
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-riscv@lists.infradead.org
Cc: Bibo Mao <maobibo@loongson.cn >
Cc: John Garry <john.g.garry@oracle.com >
Cc: Atish Patra <atishp@rivosinc.com >
Cc: Dima Kogan <dima@secretsauce.net >
Cc: Paul Walmsley <paul.walmsley@sifive.com >
Cc: Dr. David Alan Gilbert <linux@treblig.org >
Cc: linux-csky@vger.kernel.org
Link: https://lore.kernel.org/r/20241108234606.429459-9-irogers@google.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2024-11-09 08:39:13 -08:00
Ian Rogers
bf4e799a0a
perf dwarf-regs: Move x86 dwarf-regs out of arch
...
Move arch/x86/util/dwarf-regs.c to util/dwarf-regs-x86.c and compile
in unconditionally. To avoid get_arch_regnum being duplicated, rename
to get_x86_regnum and add to get_dwarf_regnum switch.
For get_arch_regstr, this was unused on x86 unless the machine type
was EM_NONE. Map that case to EM_HOST and remove get_arch_regstr from
dwarf-regs-x86.c.
Reviewed-by: Masami Hiramatsu (Google) <mhiramat@kernel.org >
Signed-off-by: Ian Rogers <irogers@google.com >
Cc: Anup Patel <anup@brainfault.org >
Cc: Yang Jihong <yangjihong@bytedance.com >
Cc: Palmer Dabbelt <palmer@dabbelt.com >
Cc: David S. Miller <davem@davemloft.net >
Cc: Albert Ou <aou@eecs.berkeley.edu >
Cc: Shenlin Liang <liangshenlin@eswincomputing.com >
Cc: Nick Terrell <terrelln@fb.com >
Cc: Guilherme Amadio <amadio@gentoo.org >
Cc: Steinar H. Gunderson <sesse@google.com >
Cc: Changbin Du <changbin.du@huawei.com >
Cc: Alexander Lobakin <aleksander.lobakin@intel.com >
Cc: Przemek Kitszel <przemyslaw.kitszel@intel.com >
Cc: Huacai Chen <chenhuacai@kernel.org >
Cc: Guo Ren <guoren@kernel.org >
Cc: Masahiro Yamada <masahiroy@kernel.org >
Cc: Will Deacon <will@kernel.org >
Cc: James Clark <james.clark@linaro.org >
Cc: Mike Leach <mike.leach@linaro.org >
Cc: Chen Pei <cp0613@linux.alibaba.com >
Cc: Leo Yan <leo.yan@linux.dev >
Cc: Oliver Upton <oliver.upton@linux.dev >
Cc: Aditya Gupta <adityag@linux.ibm.com >
Cc: Kajol Jain <kjain@linux.ibm.com >
Cc: Athira Rajeev <atrajeev@linux.vnet.ibm.com >
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-riscv@lists.infradead.org
Cc: Bibo Mao <maobibo@loongson.cn >
Cc: John Garry <john.g.garry@oracle.com >
Cc: Atish Patra <atishp@rivosinc.com >
Cc: Dima Kogan <dima@secretsauce.net >
Cc: Paul Walmsley <paul.walmsley@sifive.com >
Cc: Dr. David Alan Gilbert <linux@treblig.org >
Cc: linux-csky@vger.kernel.org
Link: https://lore.kernel.org/r/20241108234606.429459-8-irogers@google.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2024-11-09 08:39:13 -08:00
Ian Rogers
a784847c2d
perf dwarf-regs: Pass ELF flags to get_dwarf_regstr
...
Pass a flags value as architectures like csky need the flags to
determine the ABI variant.
Reviewed-by: Masami Hiramatsu (Google) <mhiramat@kernel.org >
Signed-off-by: Ian Rogers <irogers@google.com >
Cc: Anup Patel <anup@brainfault.org >
Cc: Yang Jihong <yangjihong@bytedance.com >
Cc: Palmer Dabbelt <palmer@dabbelt.com >
Cc: David S. Miller <davem@davemloft.net >
Cc: Albert Ou <aou@eecs.berkeley.edu >
Cc: Shenlin Liang <liangshenlin@eswincomputing.com >
Cc: Nick Terrell <terrelln@fb.com >
Cc: Guilherme Amadio <amadio@gentoo.org >
Cc: Steinar H. Gunderson <sesse@google.com >
Cc: Changbin Du <changbin.du@huawei.com >
Cc: Alexander Lobakin <aleksander.lobakin@intel.com >
Cc: Przemek Kitszel <przemyslaw.kitszel@intel.com >
Cc: Huacai Chen <chenhuacai@kernel.org >
Cc: Guo Ren <guoren@kernel.org >
Cc: Masahiro Yamada <masahiroy@kernel.org >
Cc: Will Deacon <will@kernel.org >
Cc: James Clark <james.clark@linaro.org >
Cc: Mike Leach <mike.leach@linaro.org >
Cc: Chen Pei <cp0613@linux.alibaba.com >
Cc: Leo Yan <leo.yan@linux.dev >
Cc: Oliver Upton <oliver.upton@linux.dev >
Cc: Aditya Gupta <adityag@linux.ibm.com >
Cc: Kajol Jain <kjain@linux.ibm.com >
Cc: Athira Rajeev <atrajeev@linux.vnet.ibm.com >
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-riscv@lists.infradead.org
Cc: Bibo Mao <maobibo@loongson.cn >
Cc: John Garry <john.g.garry@oracle.com >
Cc: Atish Patra <atishp@rivosinc.com >
Cc: Dima Kogan <dima@secretsauce.net >
Cc: Paul Walmsley <paul.walmsley@sifive.com >
Cc: Dr. David Alan Gilbert <linux@treblig.org >
Cc: linux-csky@vger.kernel.org
Link: https://lore.kernel.org/r/20241108234606.429459-7-irogers@google.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2024-11-09 08:39:13 -08:00
Ian Rogers
9fc4489a16
perf dwarf-regs: Pass accurate disassembly machine to get_dwarf_regnum
...
Rather than pass 0/EM_NONE, use the value computed in the disasm
struct arch. Switch the EM_NONE case to EM_HOST, rewriting EM_NONE if
it were passed to get_dwarf_regnum. Pass a flags value as
architectures like csky need the flags to determine the ABI variant.
Reviewed-by: Masami Hiramatsu (Google) <mhiramat@kernel.org >
Signed-off-by: Ian Rogers <irogers@google.com >
Cc: Anup Patel <anup@brainfault.org >
Cc: Yang Jihong <yangjihong@bytedance.com >
Cc: Palmer Dabbelt <palmer@dabbelt.com >
Cc: David S. Miller <davem@davemloft.net >
Cc: Albert Ou <aou@eecs.berkeley.edu >
Cc: Shenlin Liang <liangshenlin@eswincomputing.com >
Cc: Nick Terrell <terrelln@fb.com >
Cc: Guilherme Amadio <amadio@gentoo.org >
Cc: Steinar H. Gunderson <sesse@google.com >
Cc: Changbin Du <changbin.du@huawei.com >
Cc: Alexander Lobakin <aleksander.lobakin@intel.com >
Cc: Przemek Kitszel <przemyslaw.kitszel@intel.com >
Cc: Huacai Chen <chenhuacai@kernel.org >
Cc: Guo Ren <guoren@kernel.org >
Cc: Masahiro Yamada <masahiroy@kernel.org >
Cc: Will Deacon <will@kernel.org >
Cc: James Clark <james.clark@linaro.org >
Cc: Mike Leach <mike.leach@linaro.org >
Cc: Chen Pei <cp0613@linux.alibaba.com >
Cc: Leo Yan <leo.yan@linux.dev >
Cc: Oliver Upton <oliver.upton@linux.dev >
Cc: Aditya Gupta <adityag@linux.ibm.com >
Cc: Kajol Jain <kjain@linux.ibm.com >
Cc: Athira Rajeev <atrajeev@linux.vnet.ibm.com >
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-riscv@lists.infradead.org
Cc: Bibo Mao <maobibo@loongson.cn >
Cc: John Garry <john.g.garry@oracle.com >
Cc: Atish Patra <atishp@rivosinc.com >
Cc: Dima Kogan <dima@secretsauce.net >
Cc: Paul Walmsley <paul.walmsley@sifive.com >
Cc: Dr. David Alan Gilbert <linux@treblig.org >
Cc: linux-csky@vger.kernel.org
Link: https://lore.kernel.org/r/20241108234606.429459-6-irogers@google.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2024-11-09 08:39:13 -08:00
Ian Rogers
cd6c9dca9d
perf disasm: Add e_machine/e_flags to struct arch
...
Currently functions like get_dwarf_regnum only work with the host
architecture. Carry the elf machine and flags in struct arch so that
in disassembly these can be used to allow cross platform disassembly.
Reviewed-by: Masami Hiramatsu (Google) <mhiramat@kernel.org >
Signed-off-by: Ian Rogers <irogers@google.com >
Cc: Anup Patel <anup@brainfault.org >
Cc: Yang Jihong <yangjihong@bytedance.com >
Cc: Palmer Dabbelt <palmer@dabbelt.com >
Cc: David S. Miller <davem@davemloft.net >
Cc: Albert Ou <aou@eecs.berkeley.edu >
Cc: Shenlin Liang <liangshenlin@eswincomputing.com >
Cc: Nick Terrell <terrelln@fb.com >
Cc: Guilherme Amadio <amadio@gentoo.org >
Cc: Steinar H. Gunderson <sesse@google.com >
Cc: Changbin Du <changbin.du@huawei.com >
Cc: Alexander Lobakin <aleksander.lobakin@intel.com >
Cc: Przemek Kitszel <przemyslaw.kitszel@intel.com >
Cc: Huacai Chen <chenhuacai@kernel.org >
Cc: Guo Ren <guoren@kernel.org >
Cc: Masahiro Yamada <masahiroy@kernel.org >
Cc: Will Deacon <will@kernel.org >
Cc: James Clark <james.clark@linaro.org >
Cc: Mike Leach <mike.leach@linaro.org >
Cc: Chen Pei <cp0613@linux.alibaba.com >
Cc: Leo Yan <leo.yan@linux.dev >
Cc: Oliver Upton <oliver.upton@linux.dev >
Cc: Aditya Gupta <adityag@linux.ibm.com >
Cc: Kajol Jain <kjain@linux.ibm.com >
Cc: Athira Rajeev <atrajeev@linux.vnet.ibm.com >
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-riscv@lists.infradead.org
Cc: Bibo Mao <maobibo@loongson.cn >
Cc: John Garry <john.g.garry@oracle.com >
Cc: Atish Patra <atishp@rivosinc.com >
Cc: Dima Kogan <dima@secretsauce.net >
Cc: Paul Walmsley <paul.walmsley@sifive.com >
Cc: Dr. David Alan Gilbert <linux@treblig.org >
Cc: linux-csky@vger.kernel.org
Link: https://lore.kernel.org/r/20241108234606.429459-5-irogers@google.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2024-11-09 08:39:13 -08:00
Ian Rogers
ae894b7792
perf dwarf-regs: Add EM_HOST and EF_HOST defines
...
Computed from the build architecture defines, EM_HOST and EF_HOST give
values that can be used in dwarf register lookup. Place in
dwarf-regs.h so the value can be shared. Move some dwarf-regs.c
constants used for EM_HOST to dwarf-regs.h. Add CSky constants that
may be missing.
In disasm.c add an include of dwarf-regs.h as the included
arch/*/annotate/instructions.c files make use of the constants and we
want the elf.h/dwarf-regs.h dependency to be explicit.
Reviewed-by: Masami Hiramatsu (Google) <mhiramat@kernel.org >
Signed-off-by: Ian Rogers <irogers@google.com >
Cc: Anup Patel <anup@brainfault.org >
Cc: Yang Jihong <yangjihong@bytedance.com >
Cc: Palmer Dabbelt <palmer@dabbelt.com >
Cc: David S. Miller <davem@davemloft.net >
Cc: Albert Ou <aou@eecs.berkeley.edu >
Cc: Shenlin Liang <liangshenlin@eswincomputing.com >
Cc: Nick Terrell <terrelln@fb.com >
Cc: Guilherme Amadio <amadio@gentoo.org >
Cc: Steinar H. Gunderson <sesse@google.com >
Cc: Changbin Du <changbin.du@huawei.com >
Cc: Alexander Lobakin <aleksander.lobakin@intel.com >
Cc: Przemek Kitszel <przemyslaw.kitszel@intel.com >
Cc: Huacai Chen <chenhuacai@kernel.org >
Cc: Guo Ren <guoren@kernel.org >
Cc: Masahiro Yamada <masahiroy@kernel.org >
Cc: Will Deacon <will@kernel.org >
Cc: James Clark <james.clark@linaro.org >
Cc: Mike Leach <mike.leach@linaro.org >
Cc: Chen Pei <cp0613@linux.alibaba.com >
Cc: Leo Yan <leo.yan@linux.dev >
Cc: Oliver Upton <oliver.upton@linux.dev >
Cc: Aditya Gupta <adityag@linux.ibm.com >
Cc: Kajol Jain <kjain@linux.ibm.com >
Cc: Athira Rajeev <atrajeev@linux.vnet.ibm.com >
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-riscv@lists.infradead.org
Cc: Bibo Mao <maobibo@loongson.cn >
Cc: John Garry <john.g.garry@oracle.com >
Cc: Atish Patra <atishp@rivosinc.com >
Cc: Dima Kogan <dima@secretsauce.net >
Cc: Paul Walmsley <paul.walmsley@sifive.com >
Cc: Dr. David Alan Gilbert <linux@treblig.org >
Cc: linux-csky@vger.kernel.org
Link: https://lore.kernel.org/r/20241108234606.429459-4-irogers@google.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2024-11-09 08:39:13 -08:00
Ian Rogers
6ac75289b2
perf dwarf-regs: Remove PERF_HAVE_ARCH_REGS_QUERY_REGISTER_OFFSET
...
PERF_HAVE_ARCH_REGS_QUERY_REGISTER_OFFSET was used for BPF prologue
support which was removed in Commit 3d6dfae889 ("perf parse-events:
Remove BPF event support"). The code is no longer used so remove.
Remove the offset from various dwarf-regs.c tables and the dependence
on ptrace.h. Rename structs starting pt_ as the ptrace derived offset is
now removed.
Reviewed-by: Masami Hiramatsu (Google) <mhiramat@kernel.org >
Signed-off-by: Ian Rogers <irogers@google.com >
Cc: Anup Patel <anup@brainfault.org >
Cc: Yang Jihong <yangjihong@bytedance.com >
Cc: Palmer Dabbelt <palmer@dabbelt.com >
Cc: David S. Miller <davem@davemloft.net >
Cc: Albert Ou <aou@eecs.berkeley.edu >
Cc: Shenlin Liang <liangshenlin@eswincomputing.com >
Cc: Nick Terrell <terrelln@fb.com >
Cc: Guilherme Amadio <amadio@gentoo.org >
Cc: Steinar H. Gunderson <sesse@google.com >
Cc: Changbin Du <changbin.du@huawei.com >
Cc: Alexander Lobakin <aleksander.lobakin@intel.com >
Cc: Przemek Kitszel <przemyslaw.kitszel@intel.com >
Cc: Huacai Chen <chenhuacai@kernel.org >
Cc: Guo Ren <guoren@kernel.org >
Cc: Masahiro Yamada <masahiroy@kernel.org >
Cc: Will Deacon <will@kernel.org >
Cc: James Clark <james.clark@linaro.org >
Cc: Mike Leach <mike.leach@linaro.org >
Cc: Chen Pei <cp0613@linux.alibaba.com >
Cc: Leo Yan <leo.yan@linux.dev >
Cc: Oliver Upton <oliver.upton@linux.dev >
Cc: Aditya Gupta <adityag@linux.ibm.com >
Cc: Kajol Jain <kjain@linux.ibm.com >
Cc: Athira Rajeev <atrajeev@linux.vnet.ibm.com >
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-riscv@lists.infradead.org
Cc: Bibo Mao <maobibo@loongson.cn >
Cc: John Garry <john.g.garry@oracle.com >
Cc: Atish Patra <atishp@rivosinc.com >
Cc: Dima Kogan <dima@secretsauce.net >
Cc: Paul Walmsley <paul.walmsley@sifive.com >
Cc: Dr. David Alan Gilbert <linux@treblig.org >
Cc: linux-csky@vger.kernel.org
Link: https://lore.kernel.org/r/20241108234606.429459-3-irogers@google.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2024-11-09 08:39:12 -08:00
Ian Rogers
2bf7692ead
perf bpf-prologue: Remove unused file
...
Commit 4a73fca226 ("perf bpf-prologue: Remove unused file") missed
cleaning up the header file. The code was unnecessary as Commit
3d6dfae889 ("perf parse-events: Remove BPF event support") removed
building bpf-prologue.c.
Fixes: 4a73fca226 ("perf bpf-prologue: Remove unused file")
Reviewed-by: Masami Hiramatsu (Google) <mhiramat@kernel.org >
Signed-off-by: Ian Rogers <irogers@google.com >
Cc: Anup Patel <anup@brainfault.org >
Cc: Yang Jihong <yangjihong@bytedance.com >
Cc: Palmer Dabbelt <palmer@dabbelt.com >
Cc: David S. Miller <davem@davemloft.net >
Cc: Albert Ou <aou@eecs.berkeley.edu >
Cc: Shenlin Liang <liangshenlin@eswincomputing.com >
Cc: Nick Terrell <terrelln@fb.com >
Cc: Guilherme Amadio <amadio@gentoo.org >
Cc: Steinar H. Gunderson <sesse@google.com >
Cc: Changbin Du <changbin.du@huawei.com >
Cc: Alexander Lobakin <aleksander.lobakin@intel.com >
Cc: Przemek Kitszel <przemyslaw.kitszel@intel.com >
Cc: Huacai Chen <chenhuacai@kernel.org >
Cc: Guo Ren <guoren@kernel.org >
Cc: Masahiro Yamada <masahiroy@kernel.org >
Cc: Will Deacon <will@kernel.org >
Cc: James Clark <james.clark@linaro.org >
Cc: Mike Leach <mike.leach@linaro.org >
Cc: Chen Pei <cp0613@linux.alibaba.com >
Cc: Leo Yan <leo.yan@linux.dev >
Cc: Oliver Upton <oliver.upton@linux.dev >
Cc: Aditya Gupta <adityag@linux.ibm.com >
Cc: Kajol Jain <kjain@linux.ibm.com >
Cc: Athira Rajeev <atrajeev@linux.vnet.ibm.com >
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-riscv@lists.infradead.org
Cc: Bibo Mao <maobibo@loongson.cn >
Cc: John Garry <john.g.garry@oracle.com >
Cc: Atish Patra <atishp@rivosinc.com >
Cc: Dima Kogan <dima@secretsauce.net >
Cc: Paul Walmsley <paul.walmsley@sifive.com >
Cc: Dr. David Alan Gilbert <linux@treblig.org >
Cc: linux-csky@vger.kernel.org
Link: https://lore.kernel.org/r/20241108234606.429459-2-irogers@google.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2024-11-09 08:39:12 -08:00
Ian Rogers
6d5d90a6ab
perf docs: Document tool and hwmon events
...
Add a few paragraphs on tool and hwmon events.
Signed-off-by: Ian Rogers <irogers@google.com >
Acked-by: Namhyung Kim <namhyung@kernel.org >
Cc: Ravi Bangoria <ravi.bangoria@amd.com >
Cc: Yoshihiro Furudera <fj5100bi@fujitsu.com >
Cc: Howard Chu <howardchu95@gmail.com >
Cc: Ze Gao <zegao2021@gmail.com >
Cc: Changbin Du <changbin.du@huawei.com >
Cc: Junhao He <hejunhao3@huawei.com >
Cc: Weilin Wang <weilin.wang@intel.com >
Cc: James Clark <james.clark@linaro.org >
Cc: Oliver Upton <oliver.upton@linux.dev >
Cc: Athira Jajeev <atrajeev@linux.vnet.ibm.com >
Link: https://lore.kernel.org/r/20241109003759.473460-8-irogers@google.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2024-11-09 08:28:03 -08:00
Ian Rogers
531ee0fd48
perf test: Add hwmon "PMU" test
...
Based on a mix of the sysfs PMU test (for creating the reference
files) and the tool PMU test, test that parsing given hwmon events
with there aliases creates the expected config values.
Signed-off-by: Ian Rogers <irogers@google.com >
Cc: Ravi Bangoria <ravi.bangoria@amd.com >
Cc: Yoshihiro Furudera <fj5100bi@fujitsu.com >
Cc: Howard Chu <howardchu95@gmail.com >
Cc: Ze Gao <zegao2021@gmail.com >
Cc: Changbin Du <changbin.du@huawei.com >
Cc: Junhao He <hejunhao3@huawei.com >
Cc: Weilin Wang <weilin.wang@intel.com >
Cc: James Clark <james.clark@linaro.org >
Cc: Oliver Upton <oliver.upton@linux.dev >
Cc: Athira Jajeev <atrajeev@linux.vnet.ibm.com >
Link: https://lore.kernel.org/r/20241109003759.473460-7-irogers@google.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2024-11-09 08:28:03 -08:00
Ian Rogers
654986ed5d
perf pmu: Add calls enabling the hwmon_pmu
...
Add the base PMU calls necessary for hwmon_pmu(s) to be
created/deleted and events found, listed, opened and read.
Signed-off-by: Ian Rogers <irogers@google.com >
Cc: Ravi Bangoria <ravi.bangoria@amd.com >
Cc: Yoshihiro Furudera <fj5100bi@fujitsu.com >
Cc: Howard Chu <howardchu95@gmail.com >
Cc: Ze Gao <zegao2021@gmail.com >
Cc: Changbin Du <changbin.du@huawei.com >
Cc: Junhao He <hejunhao3@huawei.com >
Cc: Weilin Wang <weilin.wang@intel.com >
Cc: James Clark <james.clark@linaro.org >
Cc: Oliver Upton <oliver.upton@linux.dev >
Cc: Athira Jajeev <atrajeev@linux.vnet.ibm.com >
Link: https://lore.kernel.org/r/20241109003759.473460-6-irogers@google.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2024-11-09 08:28:03 -08:00
Ian Rogers
53cc0b351e
perf hwmon_pmu: Add a tool PMU exposing events from hwmon in sysfs
...
Add a tool PMU for hwmon events but don't enable.
The hwmon sysfs ABI is defined in
Documentation/hwmon/sysfs-interface.rst. Create a PMU that reads the
hwmon input and can be used in `perf stat` and metrics much as an
uncore PMU can.
For example, when enabled by a later patch, the following shows
reading the CPU temperature and 2 fan speeds alongside the uncore
frequency:
```
$ perf stat -e temp_cpu,fan1,hwmon_thinkpad/fan2/,tool/num_cpus_online/ -M UNCORE_FREQ -I 1000
1.001153138 52.00 'C temp_cpu
1.001153138 2,588 rpm fan1
1.001153138 2,482 rpm hwmon_thinkpad/fan2/
1.001153138 8 tool/num_cpus_online/
1.001153138 1,077,101,397 UNC_CLOCK.SOCKET # 1.08 UNCORE_FREQ
1.001153138 1,012,773,595 duration_time
...
```
The PMUs are named from /sys/class/hwmon/hwmon<num>/name and have an
alias of hwmon<num>.
Hwmon data is presented in multiple <type><number>_<item> files. The
<type><number> is used to identify the event as is the <type> followed
by the contents of the <type>_label file if it exists. The
<type><number>_input file gives the data read by perf.
When enabled by a later patch, in `perf list` the other hwmon <item>
files are used to give a richer description, for example:
```
hwmon:
temp1
[Temperature in unit acpitz named temp1. Unit: hwmon_acpitz]
in0
[Voltage in unit bat0 named in0. Unit: hwmon_bat0]
temp_core_0 OR temp2
[Temperature in unit coretemp named Core 0. crit=100'C,max=100'C crit_alarm=0'C. Unit:
hwmon_coretemp]
temp_core_1 OR temp3
[Temperature in unit coretemp named Core 1. crit=100'C,max=100'C crit_alarm=0'C. Unit:
hwmon_coretemp]
...
temp_package_id_0 OR temp1
[Temperature in unit coretemp named Package id 0. crit=100'C,max=100'C crit_alarm=0'C.
Unit: hwmon_coretemp]
temp1
[Temperature in unit iwlwifi_1 named temp1. Unit: hwmon_iwlwifi_1]
temp_composite OR temp1
[Temperature in unit nvme named Composite. alarm=0'C,crit=86.85'C,max=75.85'C,
min=-273.15'C. Unit: hwmon_nvme]
temp_sensor_1 OR temp2
[Temperature in unit nvme named Sensor 1. max=65261.8'C,min=-273.15'C. Unit: hwmon_nvme]
temp_sensor_2 OR temp3
[Temperature in unit nvme named Sensor 2. max=65261.8'C,min=-273.15'C. Unit: hwmon_nvme]
fan1
[Fan in unit thinkpad named fan1. Unit: hwmon_thinkpad]
fan2
[Fan in unit thinkpad named fan2. Unit: hwmon_thinkpad]
...
temp_cpu OR temp1
[Temperature in unit thinkpad named CPU. Unit: hwmon_thinkpad]
temp_gpu OR temp2
[Temperature in unit thinkpad named GPU. Unit: hwmon_thinkpad]
curr1
[Current in unit ucsi_source_psy_usbc000_0 named curr1. max=1.5A. Unit:
hwmon_ucsi_source_psy_usbc000_0]
in0
[Voltage in unit ucsi_source_psy_usbc000_0 named in0. max=5V,min=5V. Unit:
hwmon_ucsi_source_psy_usbc000_0]
```
As there may be multiple hwmon devices a range of PMU types are
reserved for their use and to identify the PMU as belonging to the
hwmon types.
Signed-off-by: Ian Rogers <irogers@google.com >
Cc: Ravi Bangoria <ravi.bangoria@amd.com >
Cc: Yoshihiro Furudera <fj5100bi@fujitsu.com >
Cc: Howard Chu <howardchu95@gmail.com >
Cc: Ze Gao <zegao2021@gmail.com >
Cc: Changbin Du <changbin.du@huawei.com >
Cc: Junhao He <hejunhao3@huawei.com >
Cc: Weilin Wang <weilin.wang@intel.com >
Cc: James Clark <james.clark@linaro.org >
Cc: Oliver Upton <oliver.upton@linux.dev >
Cc: Athira Jajeev <atrajeev@linux.vnet.ibm.com >
Link: https://lore.kernel.org/r/20241109003759.473460-5-irogers@google.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2024-11-09 08:28:03 -08:00
Ian Rogers
8c329057de
perf test: Add hwmon filename parser test
...
Filename parsing maps a hwmon filename to constituent parts enum/int
parts for the hwmon config value. Add a test case for the parsing.
Signed-off-by: Ian Rogers <irogers@google.com >
Cc: Ravi Bangoria <ravi.bangoria@amd.com >
Cc: Yoshihiro Furudera <fj5100bi@fujitsu.com >
Cc: Howard Chu <howardchu95@gmail.com >
Cc: Ze Gao <zegao2021@gmail.com >
Cc: Changbin Du <changbin.du@huawei.com >
Cc: Junhao He <hejunhao3@huawei.com >
Cc: Weilin Wang <weilin.wang@intel.com >
Cc: James Clark <james.clark@linaro.org >
Cc: Oliver Upton <oliver.upton@linux.dev >
Cc: Athira Jajeev <atrajeev@linux.vnet.ibm.com >
[namhyung: add #include <linux/string.h> for strlcpy()]
Link: https://lore.kernel.org/r/20241109003759.473460-4-irogers@google.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2024-11-09 08:27:44 -08:00
Ian Rogers
4810b761f8
perf hwmon_pmu: Add hwmon filename parser
...
hwmon filenames have a specific encoding that will be used to give a
config value. The encoding is described in:
Documentation/hwmon/sysfs-interface.rst
Add a function to parse the filename into consituent enums/ints that
will then be amenable to config encoding.
Note, things are done this way to allow mapping names to config and
back without the use of hash/dynamic lookup tables.
Signed-off-by: Ian Rogers <irogers@google.com >
Cc: Ravi Bangoria <ravi.bangoria@amd.com >
Cc: Yoshihiro Furudera <fj5100bi@fujitsu.com >
Cc: Howard Chu <howardchu95@gmail.com >
Cc: Ze Gao <zegao2021@gmail.com >
Cc: Changbin Du <changbin.du@huawei.com >
Cc: Junhao He <hejunhao3@huawei.com >
Cc: Weilin Wang <weilin.wang@intel.com >
Cc: James Clark <james.clark@linaro.org >
Cc: Oliver Upton <oliver.upton@linux.dev >
Cc: Athira Jajeev <atrajeev@linux.vnet.ibm.com >
[namhyung: add #include <linux/string.h> for strlcpy()]
Link: https://lore.kernel.org/r/20241109003759.473460-3-irogers@google.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2024-11-09 08:26:53 -08:00
Ian Rogers
f4db95b68a
tools api io: Ensure line_len_out is always initialized
...
Ensure initialization to avoid compiler warnings about potential use
of uninitialized variables.
Signed-off-by: Ian Rogers <irogers@google.com >
Cc: Ravi Bangoria <ravi.bangoria@amd.com >
Cc: Yoshihiro Furudera <fj5100bi@fujitsu.com >
Cc: Howard Chu <howardchu95@gmail.com >
Cc: Ze Gao <zegao2021@gmail.com >
Cc: Changbin Du <changbin.du@huawei.com >
Cc: Junhao He <hejunhao3@huawei.com >
Cc: Weilin Wang <weilin.wang@intel.com >
Cc: James Clark <james.clark@linaro.org >
Cc: Oliver Upton <oliver.upton@linux.dev >
Cc: Athira Jajeev <atrajeev@linux.vnet.ibm.com >
Link: https://lore.kernel.org/r/20241109003759.473460-2-irogers@google.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2024-11-08 22:46:44 -08:00
Yicong Yang
35de42cdfb
perf build: Include libtraceevent headers directly indicated by pkg-config
...
Currently the libtraceevent's found by pkg-config, which give the
include path as:
[root@localhost tmp]# pkg-config --cflags libtraceevent
-I/usr/local/include/traceevent
So we should include the libtraceevent headers directly without
"traceevent/" prefix. Update all the users.
Fixes: 0f0e1f4456 ("perf build: Use pkg-config for feature check for libtrace{event,fs}")
Suggested-by: Namhyung Kim <namhyung@kernel.org >
Link: https://lore.kernel.org/linux-perf-users/ZyF5_Hf1iL01kldE@google.com/
Signed-off-by: Yicong Yang <yangyicong@hisilicon.com >
Cc: leo.yan@arm.com
Cc: amadio@gentoo.org
Cc: linuxarm@huawei.com
Link: https://lore.kernel.org/r/20241105105649.45399-1-yangyicong@huawei.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2024-11-08 22:42:57 -08:00
Steve Clevenger
e8328bf3cd
perf script python: Adjust objdump start/end per map pgoff parameter
...
Extract map_pgoff parameter from the dictionary, and adjust start/end
range passed to objdump based on the value.
A zero start_addr is filtered to prevent output of dso address range
check failures. This script repeatedly sees a zero value passed
in for
start_addr = cpu_data[str(cpu) + 'addr']
These zero values are not a new problem. The start_addr/stop_addr warning
clutters the instruction trace output, hence this change.
Signed-off-by: Steve Clevenger <scclevenger@os.amperecomputing.com >
Reviewed-by: Leo Yan <leo.yan@arm.com >
Cc: suzuki.poulose@arm.com
Cc: james.clark@linaro.org
Cc: mike.leach@linaro.org
Cc: linux-arm-kernel@lists.infradead.org
Cc: coresight@lists.linaro.org
Cc: ilkka@os.amperecomputing.com
Link: https://lore.kernel.org/r/21ccdd22e664bdeccb878672d4b2c0518873c1e5.1731027120.git.scclevenger@os.amperecomputing.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2024-11-08 22:42:57 -08:00
Steve Clevenger
26ec3d7cc3
perf script cs_etm: Add map_pgoff to python dictionary
...
Extract map_pgoff parameter from the dictionary, and adjust start/end
range passed to objdump based on the value.
A zero start_addr is filtered to prevent output of dso address range
check failures. This script repeatedly sees a zero value passed
in for
start_addr = cpu_data[str(cpu) + 'addr']
These zero values are not a new problem. The start_addr/stop_addr warning
clutters the instruction trace output, hence this change.
Signed-off-by: Steve Clevenger <scclevenger@os.amperecomputing.com >
Reviewed-by: Leo Yan <leo.yan@arm.com >
Cc: suzuki.poulose@arm.com
Cc: james.clark@linaro.org
Cc: mike.leach@linaro.org
Cc: linux-arm-kernel@lists.infradead.org
Cc: coresight@lists.linaro.org
Cc: ilkka@os.amperecomputing.com
Link: https://lore.kernel.org/r/8d9a1142dc58ffa34a000cb7b7a26055df0a37ec.1731027120.git.scclevenger@os.amperecomputing.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2024-11-08 22:42:56 -08:00
Ian Rogers
62a6d092f1
perf stat: Expand metric+unit buffer size
...
Long metric names combined with units may exceed the metric_bf and
lead to truncation. Double metric_bf in size to avoid this.
Signed-off-by: Ian Rogers <irogers@google.com >
Acked-by: Kan Liang <kan.liang@linux.intel.com >
Link: https://lore.kernel.org/r/20241106004818.2174593-1-irogers@google.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2024-11-07 11:49:50 -08:00
Haiyue Wang
d8c0f8b4ee
perf tools: Add the empty-pmu-events build to .gitignore
...
The commit 0fe881f10c ("perf jevents: Autogenerate empty-pmu-events.c")
build will generate two files, add them to .gitignore:
tools/perf/pmu-events/empty-pmu-events.log
tools/perf/pmu-events/test-empty-pmu-events.c
Signed-off-by: Haiyue Wang <haiyuewa@163.com >
Reviewed-by: Ian Rogers <irogers@google.com >
Link: https://lore.kernel.org/r/20241106121254.2869-1-haiyuewa@163.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2024-11-07 10:51:56 -08:00
Dr. David Alan Gilbert
9ac98662db
perf: event: Remove deadcode
...
event_format__print() last use was removed by 2017's
commit 894f3f1732 ("perf script: Use event_format__fprintf()")
evlist__find_tracepoint_by_id() last use was removed by 2012's
commit e60fc847ce ("perf evlist: Remove some unused methods")
evlist__set_tp_filter_pid() last use was removed by 2017's
commit dd1a50377c ("perf trace: Introduce filter_loop_pids()")
Remove them.
Signed-off-by: Dr. David Alan Gilbert <linux@treblig.org >
Reviewed-by: Ian Rogers <irogers@google.com >
Link: https://lore.kernel.org/r/20241106144826.91728-1-linux@treblig.org
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2024-11-07 10:51:56 -08:00
Benjamin Peterson
5fb8e56542
perf trace: avoid garbage when not printing a trace event's arguments
...
trace__fprintf_tp_fields may not print any tracepoint arguments. E.g., if the
argument values are all zero. Previously, this would result in a totally
uninitialized buffer being passed to fprintf, which could lead to garbage on the
console. Fix the problem by passing the number of initialized bytes fprintf.
Fixes: f11b2803bb ("perf trace: Allow choosing how to augment the tracepoint arguments")
Signed-off-by: Benjamin Peterson <benjamin@engflow.com >
Tested-by: Howard Chu <howardchu95@gmail.com >
Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com >
Link: https://lore.kernel.org/r/20241103204816.7834-1-benjamin@engflow.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2024-11-05 23:27:17 -08:00
Namhyung Kim
29bf07bc9a
perf test: Fix ftrace test with regex patterns
...
During the parallel testing, I've noticed some ftrace test failures. It
seems the regex pattern checks 100 msec of nanosleep with the error
range of 10 msec. But sometimes it's affected by other processes and
resulted in more time in the syscall.
The following output shows that it took more than 120 msec and failed.
Let's update the regex pattern so that it can allow more drifts.
perf ftrace profile test
# Total (us) Avg (us) Max (us) Count Function
121279.500 121279.500 121279.500 1 __x64_sys_clock_nanosleep
121278.400 121278.400 121278.400 1 common_nsleep
121277.800 121277.800 121277.800 1 hrtimer_nanosleep
121277.100 121277.100 121277.100 1 do_nanosleep
341760.289 56960.048 121273.400 6 schedule
176.200 25.171 31.616 7 scheduler_tick
0.923 0.923 0.923 1 native_smp_send_reschedule
345522.360 69104.472 345320.600 5 __x64_sys_execve
345486.585 69097.317 345312.700 5 do_execveat_common.isra.0
340730.300 340730.300 340730.300 1 bprm_execve
1.758 0.879 0.883 2 sched_mm_cid_before_execve
1.112 1.112 1.112 1 sched_mm_cid_after_execve
---- end(-1) ----
81: perf ftrace tests : FAILED!
Reviewed-by: Ian Rogers <irogers@google.com >
Link: https://lore.kernel.org/r/20241102231702.2262258-1-namhyung@kernel.org
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2024-11-04 22:28:25 -08:00
Arnaldo Carvalho de Melo
a52143aa21
perf test: Remove dangling CFLAGS for removed attr.o object
...
Since the C test wrapper for attr.py was removed we don't have an attr.o
object for that CFLAGS_attr.o to apply for, remove it.
Fixes: 3a447031f5 ("perf test: Remove C test wrapper for attr.py")
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com >
Reviewed-by: Ian Rogers <irogers@google.com >
Cc: Athira Rajeev <atrajeev@linux.vnet.ibm.com >
Cc: Howard Chu <howardchu95@gmail.com >
Cc: James Clark <james.clark@linaro.org >
Cc: Leo Yan <leo.yan@linux.dev >
Cc: Stephen Rothwell <sfr@canb.auug.org.au >
Cc: Thomas Richter <tmricht@linux.ibm.com >
Cc: Veronika Molnarova <vmolnaro@redhat.com >
Cc: Weilin Wang <weilin.wang@intel.com >
Cc: Ze Gao <zegao2021@gmail.com >
Cc: zhaimingbing <zhaimingbing@cmss.chinamobile.com >
Link: https://lore.kernel.org/r/ZyjbksKYnV22zmz-@x1
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2024-11-04 22:23:26 -08:00
Charlie Jenkins
6e0e0a1863
perf tools: Add all shellcheck_log to gitignore
...
Instead of adding specific shellcheck_log files to the gitignore, add
all of them to prevent these files from cluttering the git status.
Signed-off-by: Charlie Jenkins <charlie@rivosinc.com >
Link: https://lore.kernel.org/r/20241104-shellcheck_gitignore-v1-1-ffc179f57dc9@rivosinc.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2024-11-04 22:23:20 -08:00
Yicong Yang
d5a0a4ab4a
perf build: Add missing cflags when building with custom libtraceevent
...
When building with custom libtraceevent, below errors occur:
$ make -C tools/perf NO_LIBPYTHON=1 PKG_CONFIG_PATH=<custom libtraceevent>
In file included from util/session.h:5,
from builtin-buildid-list.c:17:
util/trace-event.h:153:10: fatal error: traceevent/event-parse.h: No such file or directory
153 | #include <traceevent/event-parse.h>
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
<snip similar errors of missing headers>
This is because the include path is missed in the cflags. Add it.
Fixes: 0f0e1f4456 ("perf build: Use pkg-config for feature check for libtrace{event,fs}")
Signed-off-by: Yicong Yang <yangyicong@hisilicon.com >
Reviewed-by: Leo Yan <leo.yan@arm.com >
Reviewed-by: Guilherme Amadio <amadio@gentoo.org >
Cc: linuxarm@huawei.com
Link: https://lore.kernel.org/r/20241024133236.31016-1-yangyicong@huawei.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2024-11-04 22:11:32 -08:00
Michael Petlan
c741c7b5e9
perf test: Remove cpu-list BPF cgroup counter test
...
The cpu-list part of this testcase has proven itself to be unreliable.
Sometimes, we get "<not counted>" for system.slice when pinned to CPUs
0 and 1. In such case, the test fails.
Since we cannot simply guarantee that any system.slice load will run
on any arbitrary list of CPUs, except the whole set of all CPUs, let's
rather remove the cpu-list subtest.
Fixes: a84260e314 ("perf test stat_bpf_counters_cgrp: Enhance perf stat cgroup BPF counter test")
Signed-off-by: Michael Petlan <mpetlan@redhat.com >
Cc: vmolnaro@redhat.com
Cc: bpf@vger.kernel.org
Link: https://lore.kernel.org/r/20241101102812.576425-1-mpetlan@redhat.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2024-11-04 22:10:48 -08:00
Ian Rogers
13e17c9ff4
perf build: Make libunwind opt-in rather than opt-out
...
Having multiple unwinding libraries makes the perf code harder to
understand and we have unused/untested code paths.
Perf made BPF support an opt-out rather than opt-in feature. As libbpf
has a libelf dependency, elfutils that provides libelf will also
provide libdw. When libdw is present perf will use libdw unwinding
rather than libunwind unwinding even if libunwind support is compiled
in.
Rather than have libunwind built into perf and never used, explicitly
disable the support and make it opt-in.
Signed-off-by: Ian Rogers <irogers@google.com >
Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com >
Link: https://lore.kernel.org/r/20241028193619.247727-1-irogers@google.com
Closes: https://lore.kernel.org/linux-perf-users/CAP-5=fUXkp-d7gkzX4eF+nbjb2978dZsiHZ9abGHN=BN1qAcbg@mail.gmail.com/
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2024-11-04 11:32:35 -08:00
Namhyung Kim
aa5c90601b
Merge 'origin/master' into perf-tools-next
...
To get the fixes in the perf-tools branch. Resolved a conflict due to
RISC-V's syscall table change.
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
2024-11-03 23:18:20 -08:00
Linus Torvalds
59b723cd2a
Linux 6.12-rc6
v6.12-rc6
2024-11-03 14:05:52 -10:00
Linus Torvalds
a8cc743272
Merge tag 'mm-hotfixes-stable-2024-11-03-10-50' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm
...
Pull misc fixes from Andrew Morton:
"17 hotfixes. 9 are cc:stable. 13 are MM and 4 are non-MM.
The usual collection of singletons - please see the changelogs"
* tag 'mm-hotfixes-stable-2024-11-03-10-50' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm:
mm: multi-gen LRU: use {ptep,pmdp}_clear_young_notify()
mm: multi-gen LRU: remove MM_LEAF_OLD and MM_NONLEAF_TOTAL stats
mm, mmap: limit THP alignment of anonymous mappings to PMD-aligned sizes
mm: shrinker: avoid memleak in alloc_shrinker_info
.mailmap: update e-mail address for Eugen Hristev
vmscan,migrate: fix page count imbalance on node stats when demoting pages
mailmap: update Jarkko's email addresses
mm: allow set/clear page_type again
nilfs2: fix potential deadlock with newly created symlinks
Squashfs: fix variable overflow in squashfs_readpage_block
kasan: remove vmalloc_percpu test
tools/mm: -Werror fixes in page-types/slabinfo
mm, swap: avoid over reclaim of full clusters
mm: fix PSWPIN counter for large folios swap-in
mm: avoid VM_BUG_ON when try to map an anon large folio to zero page.
mm/codetag: fix null pointer check logic for ref and tag
mm/gup: stop leaking pinned pages in low memory conditions
2024-11-03 10:25:05 -10:00
Linus Torvalds
d5aaa0bc6d
Merge tag 'phy-fixes-6.12' of git://git.kernel.org/pub/scm/linux/kernel/git/phy/linux-phy
...
Pull phy fixes from Vinod Koul:
- Qualcomm QMP driver fixes for null deref on suspend, bogus supplies
fix and reset entries fix
- BCM usb driver init array fix
- cadence array offset fix
- starfive link configuration fix
- config dependency fix for rockchip driver
- freescale reset signal fix before pll lock
- tegra driver fix for error pointer check
* tag 'phy-fixes-6.12' of git://git.kernel.org/pub/scm/linux/kernel/git/phy/linux-phy:
phy: tegra: xusb: Add error pointer check in xusb.c
dt-bindings: phy: qcom,sc8280xp-qmp-pcie-phy: Fix X1E80100 resets entries
phy: freescale: imx8m-pcie: Do CMN_RST just before PHY PLL lock check
phy: phy-rockchip-samsung-hdptx: Depend on CONFIG_COMMON_CLK
phy: ti: phy-j721e-wiz: fix usxgmii configuration
phy: starfive: jh7110-usb: Fix link configuration to controller
phy: qcom: qmp-pcie: drop bogus x1e80100 qref supplies
phy: qcom: qmp-combo: move driver data initialisation earlier
phy: qcom: qmp-usbc: fix NULL-deref on runtime suspend
phy: qcom: qmp-usb-legacy: fix NULL-deref on runtime suspend
phy: qcom: qmp-usb: fix NULL-deref on runtime suspend
dt-bindings: phy: qcom,sc8280xp-qmp-pcie-phy: add missing x1e80100 pipediv2 clocks
phy: usb: disable COMMONONN for dual mode
phy: cadence: Sierra: Fix offset of DEQ open eye algorithm control register
phy: usb: Fix missing elements in BCM4908 USB init array
2024-11-03 10:19:34 -10:00
Linus Torvalds
e8529dcb12
Merge tag 'dmaengine-fix-6.12' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/dmaengine
...
Pull dmaengine fixes from Vinod Koul:
- TI driver fix to set EOP for cyclic BCDMA transfers
- sh rz-dmac driver fix for handling config with zero address
* tag 'dmaengine-fix-6.12' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/dmaengine:
dmaengine: ti: k3-udma: Set EOP for all TRs in cyclic BCDMA transfer
dmaengine: sh: rz-dmac: handle configs where one address is zero
2024-11-03 10:15:50 -10:00
Linus Torvalds
886b7e80ab
Merge tag 'driver-core-6.12-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core
...
Pull driver core revert from Greg KH:
"Here is a single driver core revert for 6.12-rc6. It reverts a change
that came in -rc1 that was supposed to resolve a reported problem, but
caused another one, so revert it for now so that we can get this all
worked out properly in 6.13.
The revert has been in linux-next all week with no reported issues"
* tag 'driver-core-6.12-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core:
Revert "driver core: Fix uevent_show() vs driver detach race"
2024-11-03 08:51:53 -10:00
Linus Torvalds
be5bfa1378
Merge tag 'usb-6.12-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb
...
Pull USB / Thunderbolt fixes from Greg KH:
"Here are some small USB and Thunderbolt driver fixes for 6.12-rc6 that
have been sitting in my tree this week. Included in here are the
following:
- thunderbolt driver fixes for reported issues
- USB typec driver fixes
- xhci driver fixes for reported problems
- dwc2 driver revert for a broken change
- usb phy driver fix
- usbip tool fix
All of these have been in linux-next this week with no reported
issues"
* tag 'usb-6.12-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb:
usb: typec: tcpm: restrict SNK_WAIT_CAPABILITIES_TIMEOUT transitions to non self-powered devices
usb: phy: Fix API devm_usb_put_phy() can not release the phy
usb: typec: use cleanup facility for 'altmodes_node'
usb: typec: fix unreleased fwnode_handle in typec_port_register_altmodes()
usb: typec: qcom-pmic-typec: fix missing fwnode removal in error path
usb: typec: qcom-pmic-typec: use fwnode_handle_put() to release fwnodes
usb: acpi: fix boot hang due to early incorrect 'tunneled' USB3 device links
Revert "usb: dwc2: Skip clock gating on Broadcom SoCs"
xhci: Fix Link TRB DMA in command ring stopped completion event
xhci: Use pm_runtime_get to prevent RPM on unsupported systems
usbip: tools: Fix detach_port() invalid port error path
thunderbolt: Honor TMU requirements in the domain when setting TMU mode
thunderbolt: Fix KASAN reported stack out-of-bounds read in tb_retimer_scan()
2024-11-03 08:48:11 -10:00
Yu Zhao
1d4832becd
mm: multi-gen LRU: use {ptep,pmdp}_clear_young_notify()
...
When the MM_WALK capability is enabled, memory that is mostly accessed by
a VM appears younger than it really is, therefore this memory will be less
likely to be evicted. Therefore, the presence of a running VM can
significantly increase swap-outs for non-VM memory, regressing the
performance for the rest of the system.
Fix this regression by always calling {ptep,pmdp}_clear_young_notify()
whenever we clear the young bits on PMDs/PTEs.
[jthoughton@google.com: fix link-time error]
Link: https://lkml.kernel.org/r/20241019012940.3656292-3-jthoughton@google.com
Fixes: bd74fdaea1 ("mm: multi-gen LRU: support page table walks")
Signed-off-by: Yu Zhao <yuzhao@google.com >
Signed-off-by: James Houghton <jthoughton@google.com >
Reported-by: David Stevens <stevensd@google.com >
Cc: Axel Rasmussen <axelrasmussen@google.com >
Cc: David Matlack <dmatlack@google.com >
Cc: David Rientjes <rientjes@google.com >
Cc: Oliver Upton <oliver.upton@linux.dev >
Cc: Paolo Bonzini <pbonzini@redhat.com >
Cc: Sean Christopherson <seanjc@google.com >
Cc: Wei Xu <weixugc@google.com >
Cc: <stable@vger.kernel.org >
Cc: kernel test robot <lkp@intel.com >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
2024-11-03 10:47:03 -08:00
Yu Zhao
ddd6d8e975
mm: multi-gen LRU: remove MM_LEAF_OLD and MM_NONLEAF_TOTAL stats
...
Patch series "mm: multi-gen LRU: Have secondary MMUs participate in
MM_WALK".
Today, the MM_WALK capability causes MGLRU to clear the young bit from
PMDs and PTEs during the page table walk before eviction, but MGLRU does
not call the clear_young() MMU notifier in this case. By not calling this
notifier, the MM walk takes less time/CPU, but it causes pages that are
accessed mostly through KVM / secondary MMUs to appear younger than they
should be.
We do call the clear_young() notifier today, but only when attempting to
evict the page, so we end up clearing young/accessed information less
frequently for secondary MMUs than for mm PTEs, and therefore they appear
younger and are less likely to be evicted. Therefore, memory that is
*not* being accessed mostly by KVM will be evicted *more* frequently,
worsening performance.
ChromeOS observed a tab-open latency regression when enabling MGLRU with a
setup that involved running a VM:
Tab-open latency histogram (ms)
Version p50 mean p95 p99 max
base 1315 1198 2347 3454 10319
mglru 2559 1311 7399 12060 43758
fix 1119 926 2470 4211 6947
This series replaces the final non-selftest patchs from this series[1],
which introduced a similar change (and a new MMU notifier) with KVM
optimizations. I'll send a separate series (to Sean and Paolo) for the
KVM optimizations.
This series also makes proactive reclaim with MGLRU possible for KVM
memory. I have verified that this functions correctly with the selftest
from [1], but given that that test is a KVM selftest, I'll send it with
the rest of the KVM optimizations later. Andrew, let me know if you'd
like to take the test now anyway.
[1]: https://lore.kernel.org/linux-mm/20240926013506.860253-18-jthoughton@google.com/
This patch (of 2):
The removed stats, MM_LEAF_OLD and MM_NONLEAF_TOTAL, are not very helpful
and become more complicated to properly compute when adding
test/clear_young() notifiers in MGLRU's mm walk.
Link: https://lkml.kernel.org/r/20241019012940.3656292-1-jthoughton@google.com
Link: https://lkml.kernel.org/r/20241019012940.3656292-2-jthoughton@google.com
Fixes: bd74fdaea1 ("mm: multi-gen LRU: support page table walks")
Signed-off-by: Yu Zhao <yuzhao@google.com >
Signed-off-by: James Houghton <jthoughton@google.com >
Cc: Axel Rasmussen <axelrasmussen@google.com >
Cc: David Matlack <dmatlack@google.com >
Cc: David Rientjes <rientjes@google.com >
Cc: David Stevens <stevensd@google.com >
Cc: Oliver Upton <oliver.upton@linux.dev >
Cc: Paolo Bonzini <pbonzini@redhat.com >
Cc: Sean Christopherson <seanjc@google.com >
Cc: Wei Xu <weixugc@google.com >
Cc: <stable@vger.kernel.org >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
2024-11-03 10:47:02 -08:00
Linus Torvalds
32cfb3c48e
Merge tag 'char-misc-6.12-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc
...
Pull misc driver fixes from Greg KH:
"Here are some small char/misc/iio fixes for 6.12-rc6 that resolve
some reported issues. Included in here are the following:
- small IIO driver fixes for many reported issues
- mei driver fix for a suddenly much reported issue for an "old"
issue.
- MAINTAINERS update for a developer who has moved companies and
forgot to update their old entry.
All of these have been in linux-next this week with no reported
issues"
* tag 'char-misc-6.12-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc:
mei: use kvmalloc for read buffer
MAINTAINERS: add netup_unidvb maintainer
iio: dac: Kconfig: Fix build error for ltc2664
iio: adc: ad7124: fix division by zero in ad7124_set_channel_odr()
staging: iio: frequency: ad9832: fix division by zero in ad9832_calc_freqreg()
docs: iio: ad7380: fix supply for ad7380-4
iio: adc: ad7380: fix supplies for ad7380-4
iio: adc: ad7380: add missing supplies
iio: adc: ad7380: use devm_regulator_get_enable_read_voltage()
dt-bindings: iio: adc: ad7380: fix ad7380-4 reference supply
iio: light: veml6030: fix microlux value calculation
iio: gts-helper: Fix memory leaks for the error path of iio_gts_build_avail_scale_table()
iio: gts-helper: Fix memory leaks in iio_gts_build_avail_scale_table()
2024-11-03 08:45:03 -10:00