netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Christoph Hellwig <hch@lst.de>
To: Jesse Brandeburg <jesse.brandeburg@gmail.com>
Cc: David Miller <davem@davemloft.net>,
	hch@lst.de, netdev@vger.kernel.org, "Brandeburg,
	Jesse" <jesse.brandeburg@intel.com>
Subject: Re: [PATCH] move skb->dev assignment into netdev_alloc_skb
Date: Sat, 12 Aug 2006 15:57:08 +0200	[thread overview]
Message-ID: <20060812135707.GA5950@lst.de> (raw)
In-Reply-To: <4807377b0608071729p3c744d1fn6859178874019418@mail.gmail.com>

On Mon, Aug 07, 2006 at 05:29:54PM -0700, Jesse Brandeburg wrote:
> On 8/7/06, David Miller <davem@davemloft.net> wrote:
> >From: Christoph Hellwig <hch@lst.de>
> >Date: Sat, 5 Aug 2006 15:01:09 +0200
> >
> >> All caller of netdev_alloc_skb need to assign skb->dev shortly
> >> afterwards.  Move it into common code.
> >>
> >> I also had to fixup a little bit of the surrounding control flow in
> >> e1000 - it was just too convoluted.
> >>
> >> Signed-off-by: Christoph Hellwig <hch@lst.de>
> >
> >Since the e1000 change is non-trivial I'm not going to bypass
> >the driver author on it, sorry.
> >
> >What I did do was put the netdev_alloc_skb() change into my
> >tree, and since I'm co-author of the tg3 driver I'll apply
> >that bit too.
> >
> >The e1000 bit will need to go through the e1000 maintainers.
> 
> Thank you, I'll take a look at this tomorrow, as I need to digest the
> patch in context.

Did you get a chance to look at it?  For your conveniance here's just
the e1000 bits, without the hunks Dave has commited already:


Index: linux-2.6/drivers/net/e1000/e1000_main.c
===================================================================
--- linux-2.6.orig/drivers/net/e1000/e1000_main.c	2006-08-04 19:06:09.000000000 +0200
+++ linux-2.6/drivers/net/e1000/e1000_main.c	2006-08-05 14:18:32.000000000 +0200
@@ -3711,7 +3711,6 @@
 			    netdev_alloc_skb(netdev, length + NET_IP_ALIGN);
 			if (new_skb) {
 				skb_reserve(new_skb, NET_IP_ALIGN);
-				new_skb->dev = netdev;
 				memcpy(new_skb->data - NET_IP_ALIGN,
 				       skb->data - NET_IP_ALIGN,
 				       length + NET_IP_ALIGN);
@@ -3978,13 +3977,13 @@
 	buffer_info = &rx_ring->buffer_info[i];
 
 	while (cleaned_count--) {
-		if (!(skb = buffer_info->skb))
-			skb = netdev_alloc_skb(netdev, bufsz);
-		else {
+		skb = buffer_info->skb;
+		if (skb) {
 			skb_trim(skb, 0);
 			goto map_skb;
 		}
 
+		skb = netdev_alloc_skb(netdev, bufsz);
 		if (unlikely(!skb)) {
 			/* Better luck next round */
 			adapter->alloc_rx_buff_failed++;
@@ -4009,10 +4008,10 @@
 				dev_kfree_skb(skb);
 				dev_kfree_skb(oldskb);
 				break; /* while !buffer_info->skb */
-			} else {
-				/* Use new allocation */
-				dev_kfree_skb(oldskb);
 			}
+
+			/* Use new allocation */
+			dev_kfree_skb(oldskb);
 		}
 		/* Make buffer alignment 2 beyond a 16 byte boundary
 		 * this will result in a 16 byte aligned IP header after
@@ -4020,8 +4019,6 @@
 		 */
 		skb_reserve(skb, NET_IP_ALIGN);
 
-		skb->dev = netdev;
-
 		buffer_info->skb = skb;
 		buffer_info->length = adapter->rx_buffer_len;
 map_skb:
@@ -4135,8 +4132,6 @@
 		 */
 		skb_reserve(skb, NET_IP_ALIGN);
 
-		skb->dev = netdev;
-
 		buffer_info->skb = skb;
 		buffer_info->length = adapter->rx_ps_bsize0;
 		buffer_info->dma = pci_map_single(pdev, skb->data,

  reply	other threads:[~2006-08-12 13:57 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-08-05 13:01 [PATCH] move skb->dev assignment into netdev_alloc_skb Christoph Hellwig
2006-08-07 23:10 ` David Miller
2006-08-08  0:29   ` Jesse Brandeburg
2006-08-12 13:57     ` Christoph Hellwig [this message]
2006-08-15  1:00       ` Brandeburg, Jesse
2006-08-15 14:37         ` Auke Kok

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=20060812135707.GA5950@lst.de \
    --to=hch@lst.de \
    --cc=davem@davemloft.net \
    --cc=jesse.brandeburg@gmail.com \
    --cc=jesse.brandeburg@intel.com \
    --cc=netdev@vger.kernel.org \
    /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).