public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
To: Thomas Gleixner <tglx@linutronix.de>
Cc: Steven Rostedt <rostedt@goodmis.org>,
	Koki Sanagi <sanagi.koki@jp.fujitsu.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Ingo Molnar <mingo@elte.hu>,
	Frederic Weisbecker <fweisbec@gmail.com>,
	nhorman@tuxdriver.com, scott.a.mcmillan@intel.com,
	laijs@cn.fujitsu.com, "H. Peter Anvin" <hpa@zytor.com>,
	LKML <linux-kernel@vger.kernel.org>,
	eric.dumazet@gmail.com, kaneshige.kenji@jp.fujitsu.com,
	David Miller <davem@davemloft.net>,
	izumi.taku@jp.fujitsu.com, kosaki.motohiro@jp.fujitsu.com,
	Heiko Carstens <heiko.carstens@de.ibm.com>,
	"Luck, Tony" <tony.luck@intel.com>
Subject: Re: [PATCH] tracing: Cleanup the convoluted softirq tracepoints
Date: Tue, 19 Oct 2010 10:28:20 -0400	[thread overview]
Message-ID: <20101019142820.GA14520@Krystal> (raw)
In-Reply-To: <alpine.LFD.2.00.1010191558250.6815@localhost6.localdomain6>

* Thomas Gleixner (tglx@linutronix.de) wrote:
> On Tue, 19 Oct 2010, Steven Rostedt wrote:
> 
> > On Tue, 2010-10-19 at 15:41 +0200, Thomas Gleixner wrote:
> > > On Tue, 19 Oct 2010, Mathieu Desnoyers wrote:
> > 
> > > Dudes, a vector computation is hardly a performance problem in that
> > > function and definitely not an excuse for designing such horrible
> > > interfaces.
> > 
> > Yes, now we can be a bit more liberal. But when these tracepoints were
> > going in, people were watching to make sure they have practically zero
> > impact when tracing was disabled.
> > 
> > Now that people are more use to tracepoints, they are more understanding
> > to have cleaner code over that extra few more lines of machine code in
> > the fast path.
> 
> The vector computation is compared to the extra tracing induced jumps
> probably not even measurable. Stop defending horrible coding with
> handwavy performance and impact arguments.

>From the moment markers and tracepoints infrastructures were merged, the
performance overhead target has been assuming we would eventually be merging
"asm goto jump labels", which replace the load+test+branch with a no-op.

So compared to a 5 bytes no-op added to the fast path, this vector computation
can be expected to have a higher performance impact, because skipping a no-op on
modern architectures (x86 at least) adds technically zero cycles. Agreed, there
is still the impact on I$, extra register pressure, some leaf functions becoming
non-leaf, and added function call (which imply external side-effect, thus acting
like a barrier()). But saying that all we do is to provide handwavy performance
and impact arguments is a bit much.

Until the asm goto are more widely deployed and until gcc 4.5 is more widely
used, there are some instrumentation sites I am relunctant to consider to
instrument with tracepoints (e.g. all system call entry/exit sites). However,
we should not use the cost of the current load+test+branch tracepoint behavior
as an excuse for adding extra performance impact to kernel code, because when it
will be replaced by asm gotos, all that will be left is the performance impact
inappropriately justified as insignificant compared to the impact of the old
tracepoint scheme.

Thanks,

Mathieu

> 
> Thanks,
> 
> 	tglx

-- 
Mathieu Desnoyers
Operating System Efficiency R&D Consultant
EfficiOS Inc.
http://www.efficios.com

  reply	other threads:[~2010-10-19 14:28 UTC|newest]

Thread overview: 93+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-08-23  9:41 [PATCH v4 0/5] netdev: show a process of packets Koki Sanagi
2010-08-23  9:42 ` [PATCH v4 1/5] irq: add tracepoint to softirq_raise Koki Sanagi
2010-09-03 15:29   ` Frederic Weisbecker
2010-09-03 15:39     ` Steven Rostedt
2010-09-03 15:42       ` Frederic Weisbecker
2010-09-03 15:43     ` Steven Rostedt
2010-09-03 15:50       ` Frederic Weisbecker
2010-09-06  1:46         ` Koki Sanagi
2010-09-08  8:33   ` [tip:perf/core] irq: Add " tip-bot for Lai Jiangshan
2010-09-08 11:25     ` [sparc build bug] " Ingo Molnar
2010-09-08 12:26       ` [PATCH] irq: Fix circular headers dependency Frederic Weisbecker
2010-09-09 19:54         ` [tip:perf/core] " tip-bot for Frederic Weisbecker
2010-10-18  9:44       ` [sparc build bug] Re: [tip:perf/core] irq: Add tracepoint to softirq_raise Peter Zijlstra
2010-10-18 10:11         ` Peter Zijlstra
2010-10-18 10:26           ` Heiko Carstens
2010-10-18 10:48         ` Peter Zijlstra
2010-10-19 10:58           ` Koki Sanagi
2010-10-19 11:25             ` Peter Zijlstra
2010-10-19 13:00             ` [PATCH] tracing: Cleanup the convoluted softirq tracepoints Thomas Gleixner
2010-10-19 13:08               ` Peter Zijlstra
2010-10-19 13:22               ` Mathieu Desnoyers
2010-10-19 13:41                 ` Thomas Gleixner
2010-10-19 13:54                   ` Steven Rostedt
2010-10-19 14:07                     ` Thomas Gleixner
2010-10-19 14:28                       ` Mathieu Desnoyers [this message]
2010-10-19 19:49                         ` Thomas Gleixner
2010-10-19 20:55                           ` Steven Rostedt
2010-10-19 21:07                             ` Thomas Gleixner
2010-10-19 21:23                               ` Steven Rostedt
2010-10-19 21:48                                 ` H. Peter Anvin
2010-10-19 22:23                                   ` Steven Rostedt
2010-10-19 22:26                                     ` H. Peter Anvin
2010-10-19 22:27                                     ` Peter Zijlstra
2010-10-19 23:39                                       ` H. Peter Anvin
2010-10-19 23:45                                         ` Steven Rostedt
2010-10-20  0:43                                         ` Jason Baron
2010-10-19 22:41                                   ` Mathieu Desnoyers
2010-10-19 22:49                                     ` H. Peter Anvin
2010-10-19 23:05                                       ` Steven Rostedt
2010-10-19 23:09                                         ` H. Peter Anvin
2010-10-20 15:27                                         ` Jason Baron
2010-10-20 15:41                                           ` Mathieu Desnoyers
2010-10-25 21:54                                           ` H. Peter Anvin
2010-10-25 22:01                                             ` Mathieu Desnoyers
2010-10-25 22:12                                               ` H. Peter Anvin
2010-10-25 22:19                                                 ` H. Peter Anvin
2010-10-25 22:55                                                 ` Mathieu Desnoyers
2010-10-26  0:39                                                   ` Steven Rostedt
2010-10-26  1:14                                                     ` Mathieu Desnoyers
2010-10-19 22:04                                 ` Thomas Gleixner
2010-10-19 22:33                                   ` Steven Rostedt
2010-10-21 16:18                                     ` Thomas Gleixner
2010-10-21 17:05                                       ` Steven Rostedt
2010-10-21 19:56                                         ` Thomas Gleixner
2010-10-25 22:31                                           ` H. Peter Anvin
2010-10-19 21:45                             ` Thomas Gleixner
2010-10-19 22:14                               ` Steven Rostedt
2010-10-19 21:16                           ` David Daney
2010-10-19 21:32                             ` Jason Baron
2010-10-19 21:38                               ` David Daney
2010-10-19 21:47                             ` Steven Rostedt
2010-10-19 21:28                           ` Jason Baron
2010-10-19 21:55                             ` Thomas Gleixner
2010-10-19 22:17                               ` Thomas Gleixner
2010-10-20  1:36                                 ` Steven Rostedt
2010-10-20  1:52                                   ` Jason Baron
2010-10-25 22:32                                     ` H. Peter Anvin
2010-10-19 22:38                               ` Jason Baron
2010-10-19 22:44                                 ` H. Peter Anvin
2010-10-19 22:56                                   ` Steven Rostedt
2010-10-19 22:57                                     ` H. Peter Anvin
2010-10-19 14:46                       ` Steven Rostedt
2010-10-19 14:00                   ` Mathieu Desnoyers
2010-10-21 14:52               ` [tip:perf/core] " tip-bot for Thomas Gleixner
2010-08-23  9:43 ` [PATCH v4 2/5] napi: convert trace_napi_poll to TRACE_EVENT Koki Sanagi
2010-08-24  3:52   ` David Miller
2010-09-08  8:34   ` [tip:perf/core] napi: Convert " tip-bot for Neil Horman
2010-08-23  9:45 ` [PATCH v4 3/5] netdev: add tracepoints to netdev layer Koki Sanagi
2010-08-24  3:53   ` David Miller
2010-09-08  8:34   ` [tip:perf/core] netdev: Add " tip-bot for Koki Sanagi
2010-08-23  9:46 ` [PATCH v4 4/5] skb: add tracepoints to freeing skb Koki Sanagi
2010-08-24  3:53   ` David Miller
2010-09-08  8:35   ` [tip:perf/core] skb: Add " tip-bot for Koki Sanagi
2010-08-23  9:47 ` [PATCH v4 5/5] perf:add a script shows a process of packet Koki Sanagi
2010-08-24  3:53   ` David Miller
2010-09-07 16:57   ` Frederic Weisbecker
2010-09-08  8:35   ` [tip:perf/core] perf: Add a script to show packets processing tip-bot for Koki Sanagi
2010-08-30 23:50 ` [PATCH v4 0/5] netdev: show a process of packets Steven Rostedt
2010-09-03  2:10   ` Koki Sanagi
2010-09-03  2:17     ` David Miller
2010-09-03  2:55       ` Koki Sanagi
2010-09-03  4:46         ` Frederic Weisbecker
2010-09-03  5:12           ` Koki Sanagi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20101019142820.GA14520@Krystal \
    --to=mathieu.desnoyers@efficios.com \
    --cc=davem@davemloft.net \
    --cc=eric.dumazet@gmail.com \
    --cc=fweisbec@gmail.com \
    --cc=heiko.carstens@de.ibm.com \
    --cc=hpa@zytor.com \
    --cc=izumi.taku@jp.fujitsu.com \
    --cc=kaneshige.kenji@jp.fujitsu.com \
    --cc=kosaki.motohiro@jp.fujitsu.com \
    --cc=laijs@cn.fujitsu.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=nhorman@tuxdriver.com \
    --cc=peterz@infradead.org \
    --cc=rostedt@goodmis.org \
    --cc=sanagi.koki@jp.fujitsu.com \
    --cc=scott.a.mcmillan@intel.com \
    --cc=tglx@linutronix.de \
    --cc=tony.luck@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox