[PATCH] powerpc/perf/hv-24x7: Update domain value check
Disha Goel
disgoel at linux.ibm.com
Fri Aug 25 21:35:49 AEST 2023
On 25/08/23 11:26 am, Kajol Jain wrote:
> Valid domain value is in range 1 to HV_PERF_DOMAIN_MAX.
> Current code has check for domain value greater than or
> equal to HV_PERF_DOMAIN_MAX. But the check for domain value 0
> is missing.
> Fix this issue by adding check for domain value 0.
>
> Fixes: ebd4a5a3ebd9 ("powerpc/perf/hv-24x7: Minor improvements")
> Reported-by: Krishan Gopal Sarawast<krishang at linux.vnet.ibm.com>
> Signed-off-by: Kajol Jain<kjain at linux.ibm.com>
Tested the patch on power, with domain=0 not getting hcall failure after patch changes.
Before patch changes:
# ./perf stat -v -e hv_24x7/CPM_ADJUNCT_INST,domain=0,core=1/ sleep 1
Using CPUID 00800200
Control descriptor is not initialized
Error:
The sys_perf_event_open() syscall returned with 5 (Input/output error) for
event (hv_24x7/CPM_ADJUNCT_INST,domain=0,core=1/).
/bin/dmesg | grep -i perf may provide additional information.
Result from dmesg:
[ 37.819387] hv-24x7: hcall failed: [0 0x60040000 0x100 0] => ret
0xfffffffffffffffc (-4) detail=0x2000000 failing ix=0
After patch changes:
# ./perf stat -v -e hv_24x7/CPM_ADJUNCT_INST,domain=0,core=1/ sleep 1
Using CPUID 00800200
Control descriptor is not initialized
Warning:
hv_24x7/CPM_ADJUNCT_INST,domain=0,core=1/ event is not supported by the kernel.
failed to read counter hv_24x7/CPM_ADJUNCT_INST,domain=0,core=1/
Performance counter stats for 'system wide':
<not supported> hv_24x7/CPM_ADJUNCT_INST,domain=0,core=1/
1.001352771 seconds time elapsed
Tested-by: Disha Goel<disgoel at linux.ibm.com>
> ---
> arch/powerpc/perf/hv-24x7.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/powerpc/perf/hv-24x7.c b/arch/powerpc/perf/hv-24x7.c
> index 317175791d23..644881cc1c00 100644
> --- a/arch/powerpc/perf/hv-24x7.c
> +++ b/arch/powerpc/perf/hv-24x7.c
> @@ -1418,7 +1418,7 @@ static int h_24x7_event_init(struct perf_event *event)
> }
>
> domain = event_get_domain(event);
> - if (domain >= HV_PERF_DOMAIN_MAX) {
> + if (domain == 0 || domain >= HV_PERF_DOMAIN_MAX) {
> pr_devel("invalid domain %d\n", domain);
> return -EINVAL;
> }
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ozlabs.org/pipermail/linuxppc-dev/attachments/20230825/41683a89/attachment.htm>
More information about the Linuxppc-dev
mailing list