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: <20151022162159.GH2455@kernel.org>
Date:	Thu, 22 Oct 2015 13:21:59 -0300
From:	Arnaldo Carvalho de Melo <acme@...nel.org>
To:	Namhyung Kim <namhyung@...nel.org>
Cc:	Ingo Molnar <mingo@...nel.org>,
	Peter Zijlstra <a.p.zijlstra@...llo.nl>,
	Jiri Olsa <jolsa@...hat.com>,
	LKML <linux-kernel@...r.kernel.org>,
	David Ahern <dsahern@...il.com>,
	Adrian Hunter <adrian.hunter@...el.com>,
	Borislav Petkov <bp@...e.de>,
	Brendan Gregg <brendan.d.gregg@...il.com>,
	Chandler Carruth <chandlerc@...il.com>,
	Frederic Weisbecker <fweisbec@...il.com>,
	Stephane Eranian <eranian@...gle.com>,
	Wang Nan <wangnan0@...wei.com>
Subject: Re: [RFC/PATCH 3/3] perf tools: Defaults to 'caller' callchain order
 only if --children is enabled

Em Fri, Oct 23, 2015 at 12:51:01AM +0900, Namhyung Kim escreveu:
> On Thu, Oct 22, 2015 at 11:37 PM, Arnaldo Carvalho de Melo <acme@...nel.org> wrote:
> > Will we also flip the default to --no-children? I would advocate that,
> > together with showing a info box telling the user about this change and
> > how to ask for it, including instructions on how to do that via
> > ~/.perfconfig.
 
> Not sure.  It seems too late to do it. ;-)

Heh, well, at least a info box, to show just once, telling where to read
about --children mode, and how to disable it, I'll probably cook this
up.
 
> >> But I should mention it'll use 'callee' ordering when --no-chlidren.
> >> I'm about to send doc fix patch Ingo requested, so please leave this
> >> patch as is.

> > Ok, its just that I thought you was already asleep and was wanting to
> > make progress on this 8-)
 
> Yeah, it's late.  I'll go to bed soon.. :)

:-)
 
> > Will wait for your patches and instead try to fix the annotation bug
> > that leads 'perf report --tui -S some_symbol_name' to exit without
> > printing anything, that Ingo reported, only happens in --tui, because
> > --stdio doesn't collects annotation info...
 
> I guess -S option works only for symbols that have self overhead..

Sure, say:

  # perf record -a sleep 1
  [ perf record: Woken up 1 times to write data ]
  [ perf record: Captured and wrote 0.171 MB perf.data (33 samples) ]
  # perf script | head -3
    perf 15174 [000] 52772.188928:  1 cycles:pp: ffffffff8105f4b8 native_write_msr_safe (/lib/modules/4.2.0/build/vmlinux)
    perf 15174 [000] 52772.188934:  1 cycles:pp: ffffffff8105f4b8 native_write_msr_safe (/lib/modules/4.2.0/build/vmlinux)
   swapper     0 [001] 52772.188971:  1 cycles:pp: ffffffff8105f4b8 native_write_msr_safe (/lib/modules/4.2.0/build/vmlinux)
  # perf report -S native_write_msr_safe
  # time perf report -S native_write_msr_safe

  real	0m0.023s
  user	0m0.019s
  sys	0m0.004s
  #

I.e. 'perf report -S symbol_that_has_self_overhead' doesn't work in --tui mode,
works in --stdio mode:

  # perf report --stdio -S native_write_msr_safe  | grep %
    59.61%  swapper  [kernel.vmlinux]
     0.17%  sleep    [kernel.vmlinux]
     0.00%  perf     [kernel.vmlinux]
  # 

Somehow we're calling symbol__inc_addr_samples() with a sample that is outside
that symbol, it returns ERANGE and we exit early, not emitting any message.

That happens only in --tui mode, --stdio doesn't call any annotation routine,
since it is not integrated with 'perf annotate' because it is not interactive.

- Arnaldo
--
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