netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Changli Gao <xiaosuo@gmail.com>
To: "David S. Miller" <davem@davemloft.net>
Cc: Jarek Poplawski <jarkao2@gmail.com>,
	Eric Dumazet <eric.dumazet@gmail.com>,
	netdev@vger.kernel.org, Jamal Hadi Salim <hadi@cyberus.ca>,
	Pawel Staszewski <pstaszewski@itcare.pl>,
	Changli Gao <xiaosuo@gmail.com>
Subject: [PATCH net-2.6] net_sched: always clone skbs
Date: Mon, 20 Dec 2010 22:35:30 +0800	[thread overview]
Message-ID: <1292855730-19265-1-git-send-email-xiaosuo@gmail.com> (raw)

Pawel reported a panic related to handling shared skbs in ixgbe
incorrectly. So we need to revert my previous patch to work around
this bug. Instead of reverting the patch completely, I just revert
the essential lines, so we can add the previous optimization
back more easily in future.

    commit 3511c9132f8b1e1b5634e41a3331c44b0c13be70
    Author: Changli Gao <xiaosuo@gmail.com>
    Date:   Sat Oct 16 13:04:08 2010 +0000
    
        net_sched: remove the unused parameter of qdisc_create_dflt()

Reported-by: Pawel Staszewski <pstaszewski@itcare.pl>
Signed-off-by: Changli Gao <xiaosuo@gmail.com>
---
 include/net/sch_generic.h |    6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)
diff --git a/include/net/sch_generic.h b/include/net/sch_generic.h
index 786cc39..0af57eb 100644
--- a/include/net/sch_generic.h
+++ b/include/net/sch_generic.h
@@ -611,11 +611,7 @@ static inline struct sk_buff *skb_act_clone(struct sk_buff *skb, gfp_t gfp_mask,
 {
 	struct sk_buff *n;
 
-	if ((action == TC_ACT_STOLEN || action == TC_ACT_QUEUED) &&
-	    !skb_shared(skb))
-		n = skb_get(skb);
-	else
-		n = skb_clone(skb, gfp_mask);
+	n = skb_clone(skb, gfp_mask);
 
 	if (n) {
 		n->tc_verd = SET_TC_VERD(n->tc_verd, 0);

             reply	other threads:[~2010-12-20 14:36 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-12-20 14:35 Changli Gao [this message]
2010-12-20 14:37 ` [PATCH net-2.6] net_sched: always clone skbs Eric Dumazet
2010-12-20 18:27   ` David Miller
2010-12-20 23:20 ` Jarek Poplawski
2010-12-20 23:28   ` Eric Dumazet
2010-12-20 23:52     ` Jarek Poplawski
2010-12-21 13:52       ` jamal
2010-12-21 14:17         ` Changli Gao
2010-12-21 22:37           ` Jarek Poplawski
2010-12-23 13:35             ` jamal
2010-12-23 23:04               ` Jarek Poplawski
2011-01-02 21:27               ` [RFC] net_sched: mark packet staying on queue too long Eric Dumazet
2011-01-03 13:52                 ` jamal
2011-01-03 14:02                   ` Eric Dumazet
2011-01-03 15:02                     ` jamal
2011-01-03 18:11                     ` [PATCH] sch_red: report backlog information Eric Dumazet
2011-01-03 20:13                       ` David Miller
2011-01-03 17:58                 ` [RFC] net_sched: mark packet staying on queue too long Stephen Hemminger
2011-01-04 14:19                   ` Jesper Dangaard Brouer
2011-01-04 15:02                     ` Eric Dumazet
2011-01-04 16:05                       ` Stephen Hemminger
2011-01-04 18:20                       ` Eric Dumazet
2011-01-04 18:29                         ` Eric Dumazet
2011-01-13 11:50                     ` Patrick McHardy
2011-01-13 15:54                       ` Eric Dumazet
2011-01-13 16:04                       ` sch_sfb [was: net_sched: mark packet staying on queue too long] Juliusz Chroboczek
2011-01-13 18:59                         ` Patrick McHardy
2011-01-14  0:59                           ` sch_sfb Juliusz Chroboczek
2011-01-14  1:39                             ` sch_sfb Patrick McHardy
2011-01-14 13:34                               ` sch_sfb Juliusz Chroboczek
2011-01-14 13:37                                 ` sch_sfb Patrick McHardy
2011-01-14 15:09                                 ` sch_sfb Eric Dumazet
2011-01-14 21:06                                 ` sch_sfb Jarek Poplawski
2010-12-21  0:21     ` [PATCH net-2.6] net_sched: always clone skbs Changli Gao
2010-12-21  3:55       ` David Miller

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=1292855730-19265-1-git-send-email-xiaosuo@gmail.com \
    --to=xiaosuo@gmail.com \
    --cc=davem@davemloft.net \
    --cc=eric.dumazet@gmail.com \
    --cc=hadi@cyberus.ca \
    --cc=jarkao2@gmail.com \
    --cc=netdev@vger.kernel.org \
    --cc=pstaszewski@itcare.pl \
    /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;
as well as URLs for NNTP newsgroup(s).