All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
To: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Zhaolei <zhaolei@cn.fujitsu.com>,
	"nhorman@tuxdriver.com" <nhorman@tuxdriver.com>,
	LKML <linux-kernel@vger.kernel.org>,
	Steven Rostedt <rostedt@goodmis.org>, Ingo Molnar <mingo@elte.hu>,
	Thomas Gleixner <tglx@linutronix.de>
Subject: Re: [RFC patch 2/5] trace event skb fix unassigned field
Date: Tue, 4 Jan 2011 20:21:23 -0500	[thread overview]
Message-ID: <20110105012123.GA10416@Krystal> (raw)
In-Reply-To: <20110105004903.GF2911@nowhere>

* Frederic Weisbecker (fweisbec@gmail.com) wrote:
> On Tue, Jan 04, 2011 at 07:40:38PM -0500, Mathieu Desnoyers wrote:
> > * Frederic Weisbecker (fweisbec@gmail.com) wrote:
> > > On Tue, Jan 04, 2011 at 06:46:06PM -0500, nhorman@tuxdriver.com wrote:
> > > > Acked- by: Neil Horman <nhorman@tuxdriver.com>
> > > > 
> > > > 
> > > > Sent from my Verizon Wireless Phone
> > > > 
> > > > ----- Reply message -----
> > > > From: "Mathieu Desnoyers" <mathieu.desnoyers@efficios.com>
> > > > Date: Tue, Jan 4, 2011 6:16 pm
> > > > Subject: [RFC patch 2/5] trace event skb fix unassigned field
> > > > To: "LKML" <linux-kernel@vger.kernel.org>
> > > > Cc: "Mathieu Desnoyers" <mathieu.desnoyers@efficios.com>, "Steven Rostedt" <rostedt@goodmis.org>, "Frederic Weisbecker" <fweisbec@gmail.com>, "Ingo Molnar" <mingo@elte.hu>, "Neil Horman" <nhorman@tuxdriver.com>, "Thomas Gleixner" <tglx@linutronix.de>
> > > > 
> > > > 
> > > > The field "protocol" in event kfree_skb is left unassigned if skb is NULL,
> > > > leaving its trace output as garbage. Assign the value to 0 when skb is NULL
> > > > instead.
> > > 
> > > Hm, if the skb is already null, we probably shouldn't send any trace.
> > > 
> > > What about using TP_CONDITION() ?
> > 
> > Hrm, let's see. It's been introduced by commit
> > 5cb3d1d9d34ac04bcaa2034139345b2a5fea54c1
> > by Zhaolei.
> > 
> > Event at the time of that commit, the only caller looked like:
> > 
> > void kfree_skb(struct sk_buff *skb)
> > {
> >         if (unlikely(!skb))
> >                 return;
> >         if (likely(atomic_read(&skb->users) == 1))
> >                 smp_rmb();
> >         else if (likely(!atomic_dec_and_test(&skb->users)))
> >                 return;
> >         trace_kfree_skb(skb, __builtin_return_address(0));
> >         __kfree_skb(skb);
> > }
> > EXPORT_SYMBOL(kfree_skb);
> > 
> > So it already checks for a null pointer before calling the tracepoint. This
> > leads me to wonder why why this check was added in the first place ?
> 
> Likely for no strong reasons :)
> 
> So I guess we can remove the check from the tracepoint?

Yep, leading to this patch instead:

trace event skb remove duplicate null-pointer check

The check for NULL skb in the kfree_skb trace event is a duplicate from the
check already done in its only caller, kfree_skb(). Remove this duplicate check.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
CC: Steven Rostedt <rostedt@goodmis.org>
CC: Frederic Weisbecker <fweisbec@gmail.com>
CC: Ingo Molnar <mingo@elte.hu>
CC: Thomas Gleixner <tglx@linutronix.de>
CC: Neil Horman <nhorman@tuxdriver.com>
---
 include/trace/events/skb.h |    4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

Index: linux-2.6-lttng/include/trace/events/skb.h
===================================================================
--- linux-2.6-lttng.orig/include/trace/events/skb.h
+++ linux-2.6-lttng/include/trace/events/skb.h
@@ -25,9 +25,7 @@ TRACE_EVENT(kfree_skb,
 
 	TP_fast_assign(
 		__entry->skbaddr = skb;
-		if (skb) {
-			__entry->protocol = ntohs(skb->protocol);
-		}
+		__entry->protocol = ntohs(skb->protocol);
 		__entry->location = location;
 	),
 


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

  reply	other threads:[~2011-01-05  1:21 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <E1PaGZY-0001EI-BD@smtp.tuxdriver.com>
2011-01-04 23:54 ` [RFC patch 2/5] trace event skb fix unassigned field Frederic Weisbecker
2011-01-05  0:40   ` Mathieu Desnoyers
2011-01-05  0:49     ` Frederic Weisbecker
2011-01-05  1:21       ` Mathieu Desnoyers [this message]
2011-01-05 11:59         ` Neil Horman
2011-01-05 13:26           ` Mathieu Desnoyers
2011-01-06  0:01           ` Steven Rostedt
2011-01-04 23:16 [RFC patch 0/5] Trace event fixes and cleanups Mathieu Desnoyers
2011-01-04 23:16 ` [RFC patch 2/5] trace event skb fix unassigned field Mathieu Desnoyers

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=20110105012123.GA10416@Krystal \
    --to=mathieu.desnoyers@efficios.com \
    --cc=fweisbec@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=nhorman@tuxdriver.com \
    --cc=rostedt@goodmis.org \
    --cc=tglx@linutronix.de \
    --cc=zhaolei@cn.fujitsu.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 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.