lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20120508131207.GG2485@infradead.org>
Date:	Tue, 8 May 2012 10:12:07 -0300
From:	Arnaldo Carvalho de Melo <acme@...stprotocols.net>
To:	David Ahern <dsahern@...il.com>
Cc:	linux-kernel@...r.kernel.org, peterz@...radead.org
Subject: Re: [PATCH] perf record: fix fallback to cpu-clock on ppc

Em Mon, May 07, 2012 at 10:40:04PM -0600, David Ahern escreveu:
> perf-record on PPC is not falling back to cpu-clock:
> 
> Old kernel, cannot exclude guest or host samples.
> 
>   Error: sys_perf_event_open() syscall returned with 6 (No such device or address).  /bin/dmesg may provide additional information.
> 
>   Fatal: No CONFIG_PERF_EVENTS=y kernel support configured?
> 
> The problem is that until 2.6.37 (behavior changed with commit b0a873e)
> perf on PPC returns ENXIO when hw_perf_event_init() fails. With this
> patch we get the expected behavior:
> 
> Old kernel, cannot exclude guest or host samples.
> The cycles event is not supported, trying to fall back to cpu-clock-ticks
> [ perf record: Woken up 1 times to write data ]
> [ perf record: Captured and wrote 0.150 MB /tmp/perf.data (~6569 samples) ]

Would be good to have this documented on the spot, i.e. just before that
if.

Also, have you checked that 'perf stat' and 'perf top' works as well? We
really need to move all this logic to a central place, namely
perf_evlist__open().

For now checking if stat and top ara ok should be enough.

- Arnaldo
 
> Signed-off-by: David Ahern <dsahern@...il.com>
> ---
>  tools/perf/builtin-record.c |    3 ++-
>  1 files changed, 2 insertions(+), 1 deletions(-)
> 
> diff --git a/tools/perf/builtin-record.c b/tools/perf/builtin-record.c
> index 42e2414..080c708 100644
> --- a/tools/perf/builtin-record.c
> +++ b/tools/perf/builtin-record.c
> @@ -244,7 +244,8 @@ try_again:
>  			 * based cpu-clock-tick sw counter, which
>  			 * is always available even if no PMU support:
>  			 */
> -			if (err == ENOENT && attr->type == PERF_TYPE_HARDWARE
> +			if ((err == ENOENT || err == ENXIO)
> +					&& attr->type == PERF_TYPE_HARDWARE
>  					&& attr->config == PERF_COUNT_HW_CPU_CYCLES) {
>  
>  				if (verbose)
> -- 
> 1.7.5.4
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ