public inbox for netdev@vger.kernel.org 
 help / color / mirror / Atom feed
From: Stephen Hemminger <shemminger@vyatta•com>
To: Jeff Garzik <jgarzik@pobox•com>, Francois Romieu <romieu@fr•zoreil.com>
Cc: netdev@vger•kernel.org
Subject: [PATCH 04/13] via-velocity: use netdev_alloc_skb
Date: Wed, 16 Apr 2008 16:37:31 -0700	[thread overview]
Message-ID: <20080416233757.241708328@vyatta.com> (raw)
In-Reply-To: 20080416233727.732025083@vyatta.com

[-- Attachment #1: via-velocity --]
[-- Type: text/plain, Size: 2016 bytes --]

Use netdev_alloc_skb for rx buffer allocation. This sets skb->dev
and can be overriden for NUMA machines.

Change code to return new buffer rather than call by reference.

Compile tested only!

Signed-off-by: Stephen Hemminger <shemminger@vyatta•com>

--- a/drivers/net/via-velocity.c	2008-04-02 10:55:31.000000000 -0700
+++ b/drivers/net/via-velocity.c	2008-04-16 16:20:44.000000000 -0700
@@ -1490,24 +1490,18 @@ static inline void velocity_rx_csum(stru
  *	enough. This function returns a negative value if the received
  *	packet is too big or if memory is exhausted.
  */
-static inline int velocity_rx_copy(struct sk_buff **rx_skb, int pkt_size,
-				   struct velocity_info *vptr)
+static int velocity_rx_copy(struct sk_buff **rx_skb, int pkt_size,
+			    struct velocity_info *vptr)
 {
 	int ret = -1;
-
 	if (pkt_size < rx_copybreak) {
 		struct sk_buff *new_skb;
 
-		new_skb = dev_alloc_skb(pkt_size + 2);
+		new_skb = netdev_alloc_skb(vptr->dev, pkt_size + 2);
 		if (new_skb) {
-			new_skb->dev = vptr->dev;
 			new_skb->ip_summed = rx_skb[0]->ip_summed;
-
-			if (vptr->flags & VELOCITY_FLAGS_IP_ALIGN)
-				skb_reserve(new_skb, 2);
-
-			skb_copy_from_linear_data(rx_skb[0], new_skb->data,
-						  pkt_size);
+			skb_reserve(new_skb, 2);
+			skb_copy_from_linear_data(*rx_skb, new_skb->data, pkt_size);
 			*rx_skb = new_skb;
 			ret = 0;
 		}
@@ -1619,7 +1613,7 @@ static int velocity_alloc_rx_buf(struct 
 	struct rx_desc *rd = &(vptr->rd_ring[idx]);
 	struct velocity_rd_info *rd_info = &(vptr->rd_info[idx]);
 
-	rd_info->skb = dev_alloc_skb(vptr->rx_buf_sz + 64);
+	rd_info->skb = netdev_alloc_skb(vptr->dev, vptr->rx_buf_sz + 64);
 	if (rd_info->skb == NULL)
 		return -ENOMEM;
 
@@ -1628,7 +1622,6 @@ static int velocity_alloc_rx_buf(struct 
 	 *	64byte alignment.
 	 */
 	skb_reserve(rd_info->skb, (unsigned long) rd_info->skb->data & 63);
-	rd_info->skb->dev = vptr->dev;
 	rd_info->skb_dma = pci_map_single(vptr->pdev, rd_info->skb->data, vptr->rx_buf_sz, PCI_DMA_FROMDEVICE);
 
 	/*

-- 


  reply	other threads:[~2008-04-16 23:49 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-04-16 23:37 [PATCH 00/13] Network driver changes for 2.6.26 Stephen Hemminger
2008-04-16 23:37 ` Stephen Hemminger [this message]
2008-04-16 23:37 ` [PATCH 05/13] via-velocity: use memmove Stephen Hemminger
2008-04-16 23:37 ` [PATCH 06/13] sis190: use netdev_alloc_skb Stephen Hemminger
2008-04-17  1:04   ` Wang Chen
2008-04-17  2:16   ` Wang Chen
2008-04-17  2:59     ` Stephen Hemminger
2008-04-17  6:50   ` Francois Romieu
2008-04-16 23:37 ` [PATCH 07/13] sb1250: " Stephen Hemminger
2008-05-05 12:34   ` Maciej W. Rozycki
2008-04-16 23:37 ` [PATCH 08/13] ns8320: " Stephen Hemminger
2008-05-31  2:20   ` Jeff Garzik
2008-04-16 23:37 ` [PATCH 09/13] myri: " Stephen Hemminger
2008-04-16 23:37 ` [PATCH 10/13] ixp2000: " Stephen Hemminger
2008-04-17 13:53   ` Lennert Buytenhek
2008-04-16 23:37 ` [PATCH 11/13] hamachi: " Stephen Hemminger
2008-04-16 23:37 ` [PATCH 12/13] dl2k: " Stephen Hemminger
2008-04-16 23:37 ` [PATCH 13/13] acenic: " Stephen Hemminger
2008-05-31  2:21   ` Jeff Garzik
     [not found] ` <20080416233757.090004281@vyatta.com>
2008-04-17  2:33   ` [PATCH 02/13] atl1: " Jay Cliburn
     [not found] ` <20080416233757.015978466@vyatta.com>
2008-05-22 18:13   ` [PATCH 01/13] tg3: remove unneeded semicolons Jeff Garzik
     [not found] ` <20080416233757.166190217@vyatta.com>
2008-05-31  2:20   ` [PATCH 03/13] ts108: use netdev_alloc_skb Jeff Garzik

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=20080416233757.241708328@vyatta.com \
    --to=shemminger@vyatta$(echo .)com \
    --cc=jgarzik@pobox$(echo .)com \
    --cc=netdev@vger$(echo .)kernel.org \
    --cc=romieu@fr$(echo .)zoreil.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
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