All of lore.kernel.org
 help / color / mirror / Atom feed
* [RELEASE] LTTng 0.234 for kernel 2.6.36
@ 2010-10-26  2:05 Mathieu Desnoyers
  2010-10-27  1:00 ` [ltt-dev] " Benjamin Poirier
  0 siblings, 1 reply; 4+ messages in thread
From: Mathieu Desnoyers @ 2010-10-26  2:05 UTC (permalink / raw)
  To: ltt-dev, linux-kernel

LTTng, the Linux Trace Toolkit Next Generation, is a project that aims at
producing a highly efficient full system tracing solution.  It is composed of
several components to allow tracing of the kernel, of userspace, trace viewing
and analysis and trace streaming.  LTTng is open source software. It is being
actively developed with the community.

Changelog:

* Remove duplicated old-napi duplicated device instrumentation.

Project website: http://lttng.org
Download link: http://lttng.org/content/download
(please refer to the LTTng Manual for installation instructions)

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

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [ltt-dev] [RELEASE] LTTng 0.234 for kernel 2.6.36
  2010-10-26  2:05 [RELEASE] LTTng 0.234 for kernel 2.6.36 Mathieu Desnoyers
@ 2010-10-27  1:00 ` Benjamin Poirier
  2010-10-27  1:10   ` [RELEASE] LTTng 0.235 " Mathieu Desnoyers
  0 siblings, 1 reply; 4+ messages in thread
From: Benjamin Poirier @ 2010-10-27  1:00 UTC (permalink / raw)
  To: Mathieu Desnoyers; +Cc: ltt-dev, linux-kernel

On 25/10/10 10:05 PM, Mathieu Desnoyers wrote:
> LTTng, the Linux Trace Toolkit Next Generation, is a project that aims at
> producing a highly efficient full system tracing solution.  It is composed of
> several components to allow tracing of the kernel, of userspace, trace viewing
> and analysis and trace streaming.  LTTng is open source software. It is being
> actively developed with the community.
> 
> Changelog:
> 
> * Remove duplicated old-napi duplicated device instrumentation.

There's a tracepoint that went MIA compared to 0.232. Here's what
lttng-instrumentation-net-move-network-tracepoints should look like:

LTTng instrumentation net: move network tracepoints

One of the objectives when tracing the network subsystems is to trace packet
emission as late as possible and packet arrival as soon as possible in order
to have more accurate timing measurements.

This patch moves the xmit tracepoint to the dev_hard_start_xmit() function,
the last function called that is not network interface specific but is called
for every frame. The tracepoint is also duplicated to trace each segmented
packet when GSO is in effect.

The receive tracepoint is moved earlier in the netif_receive_skb() function.
The tracepoint is also duplicated in the netif_rx() function. This enables
more precise measurements for pre-NAPI drivers.

Signed-off-by: Benjamin Poirier <benjamin.poirier@polymtl.ca>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
---
 net/core/dev.c |    9 +++++++--
 1 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/net/core/dev.c b/net/core/dev.c
index d601639..ff30e1b 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -1985,6 +1985,8 @@ int dev_hard_start_xmit(struct sk_buff *skb, struct net_device *dev,
 			}
 		}
 
+		trace_net_dev_xmit(skb);
+
 		rc = ops->ndo_start_xmit(skb, dev);
 		if (rc == NETDEV_TX_OK)
 			txq_trans_update(txq);
@@ -2005,6 +2007,7 @@ gso:
 		if (dev->priv_flags & IFF_XMIT_DST_RELEASE)
 			skb_dst_drop(nskb);
 
+		trace_net_dev_xmit(nskb);
 		rc = ops->ndo_start_xmit(nskb, dev);
 		if (unlikely(rc != NETDEV_TX_OK)) {
 			if (rc & ~NETDEV_TX_MASK)
@@ -2183,7 +2186,6 @@ int dev_queue_xmit(struct sk_buff *skb)
 	struct Qdisc *q;
 	int rc = -ENOMEM;
 
-	trace_net_dev_xmit(skb);
 	/* Disable soft irqs for various locks below. Also
 	 * stops preemption for RCU.
 	 */
@@ -2518,6 +2520,8 @@ int netif_rx(struct sk_buff *skb)
 	if (netpoll_rx(skb))
 		return NET_RX_DROP;
 
+	trace_net_dev_receive(skb);
+
 	if (netdev_tstamp_prequeue)
 		net_timestamp_check(skb);
 
@@ -2869,7 +2873,6 @@ static int __netif_receive_skb(struct sk_buff *skb)
 	}
 
 	__this_cpu_inc(softnet_data.processed);
-	trace_net_dev_receive(skb);
 	skb_reset_network_header(skb);
 	skb_reset_transport_header(skb);
 	skb->mac_len = skb->network_header - skb->mac_header;
@@ -2975,6 +2978,8 @@ int netif_receive_skb(struct sk_buff *skb)
 	if (skb_defer_rx_timestamp(skb))
 		return NET_RX_SUCCESS;
 
+	trace_net_dev_receive(skb);
+
 #ifdef CONFIG_RPS
 	{
 		struct rps_dev_flow voidflow, *rflow = &voidflow;
-- 
1.7.1


> 
> Project website: http://lttng.org
> Download link: http://lttng.org/content/download
> (please refer to the LTTng Manual for installation instructions)
> 


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [RELEASE] LTTng 0.235 for kernel 2.6.36
  2010-10-27  1:00 ` [ltt-dev] " Benjamin Poirier
@ 2010-10-27  1:10   ` Mathieu Desnoyers
  2010-10-28  2:14     ` [RELEASE] LTTng 0.236 " Mathieu Desnoyers
  0 siblings, 1 reply; 4+ messages in thread
From: Mathieu Desnoyers @ 2010-10-27  1:10 UTC (permalink / raw)
  To: Benjamin Poirier; +Cc: ltt-dev, linux-kernel

* Benjamin Poirier (benjamin.poirier@polymtl.ca) wrote:
> On 25/10/10 10:05 PM, Mathieu Desnoyers wrote:
> > LTTng, the Linux Trace Toolkit Next Generation, is a project that aims at
> > producing a highly efficient full system tracing solution.  It is composed of
> > several components to allow tracing of the kernel, of userspace, trace viewing
> > and analysis and trace streaming.  LTTng is open source software. It is being
> > actively developed with the community.
> > 
> > Changelog:
> > 
> > * Remove duplicated old-napi duplicated device instrumentation.
> 
> There's a tracepoint that went MIA compared to 0.232.

Ah, yes, you are right. There has been quite a few changes in net/core/dev.c
between 2.6.35 and 2.6.36, and it has been especially messy for patch hunks.

LTTng 0.235 fixes this.

Thanks for spotting it!

Mathieu

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

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [RELEASE] LTTng 0.236 for kernel 2.6.36
  2010-10-27  1:10   ` [RELEASE] LTTng 0.235 " Mathieu Desnoyers
@ 2010-10-28  2:14     ` Mathieu Desnoyers
  0 siblings, 0 replies; 4+ messages in thread
From: Mathieu Desnoyers @ 2010-10-28  2:14 UTC (permalink / raw)
  To: ltt-dev, linux-kernel

LTTng, the Linux Trace Toolkit Next Generation, is a project that aims at
producing a highly efficient full system tracing solution.  It is composed of
several components to allow tracing of the kernel, of userspace, trace viewing
and analysis and trace streaming.  LTTng is open source software. It is being
actively developed with the community.

Changelog:

* Fix build failure caused by inappropriate power-events CREATE_TRACEPOINTS in
  mainline.

Project website: http://lttng.org
Download link: http://lttng.org/content/download
(please refer to the LTTng Manual for installation instructions)

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

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2010-10-28  2:14 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-10-26  2:05 [RELEASE] LTTng 0.234 for kernel 2.6.36 Mathieu Desnoyers
2010-10-27  1:00 ` [ltt-dev] " Benjamin Poirier
2010-10-27  1:10   ` [RELEASE] LTTng 0.235 " Mathieu Desnoyers
2010-10-28  2:14     ` [RELEASE] LTTng 0.236 " Mathieu Desnoyers

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.