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]
Date:	Thu, 9 Sep 2010 20:10:46 +0200
From:	Jiri Olsa <jolsa@...hat.com>
To:	Johannes Weiner <hannes@...xchg.org>
Cc:	Steven Rostedt <rostedt@...dmis.org>, fweisbec@...il.com,
	linux-kernel@...r.kernel.org
Subject: Re: [PATCHv2] trace: funcgraph tracer - adding funcgraph-irq option

On Thu, Sep 09, 2010 at 04:44:30PM +0200, Johannes Weiner wrote:
> Hi Guys,
> 
> On Tue, Sep 07, 2010 at 12:28:40PM -0400, Steven Rostedt wrote:
> > On Fri, 2010-07-23 at 15:19 +0200, Jiri Olsa wrote:
> > > On Thu, Jul 22, 2010 at 04:00:21PM -0400, Steven Rostedt wrote:
> > > > On Mon, 2010-07-12 at 18:21 +0200, Jiri Olsa wrote:
> > > > 
> > > SNIP
> > > 
> > > > 
> > > > What happens if we lose the return event? That is, due to buffer
> > > > overruns, the return of the trace is lost. Then we lose out on all
> > > > events until another event of the same IRQ happens and its return is not
> > > > lost.
> > > > 
> > > > You should save the depth instead of the function. When you are in a
> > > > interrupt, record the depth. Then when the depth is less than or equal
> > > > to the recorded depth you can restart printing. This may still suffer
> > > > from missed returns, but it would not have as much of a consequence when
> > > > it happens.
> > > hi,
> > > you're right, changed patch is attached
> > > 
> > > thanks,
> > > jirka
> > > 
> > > ---
> > > Adding funcgraph-irq option for function graph tracer.
> > > 
> > > It's handy to be able to disable the irq related output
> > > and not to have to jump over each irq related code, when
> > > you have no interrest in it.
> 
> Although greatly reduced, I still see the following noise in the trace
> output with the IRQ filtering enabled:
> 
>  1)               |    wakeup_flusher_threads() {
>  1)   0.205 us    |      __rcu_read_lock();
>  1)   0.271 us    |      bdi_has_dirty_io();
>  1)   0.287 us    |      bdi_has_dirty_io();
>  1)   0.217 us    |      bdi_has_dirty_io();
>  1)               |      bdi_has_dirty_io() {
>  1)               |        smp_invalidate_interrupt() {
>  1)   0.220 us    |          native_apic_mem_write();
>  1)   0.794 us    |        } /* smp_invalidate_interrupt */
>  1)   1.413 us    |      } /* bdi_has_dirty_io */
>  1)   0.218 us    |      bdi_has_dirty_io();
>  1)   0.213 us    |      bdi_has_dirty_io();
>  1)   0.215 us    |      bdi_has_dirty_io();
>  1)               |      smp_invalidate_interrupt() {
>  1)   0.234 us    |        native_apic_mem_write();
>  1)   0.819 us    |      } /* smp_invalidate_interrupt */
>  1)   0.240 us    |      bdi_has_dirty_io();
>  1)   0.259 us    |      bdi_has_dirty_io();
>
hi,

both smp_invalidate_interrupt and native_apic_mem_write are not put
into __irqentry_text code location, so the logic misses them.

I'm not sure how such functions could be caught besides function
pointer check..

It looks like smp_invalidate_interrupt is used for TLB mainating,
which I know nothing about.. :) anyone knows wether it would make
sense to put those function to __irqentry_text area?

thanks,
jirka
--
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