|
|
|
|
|
|
|
|
|
|
xen-devel
[Xen-devel] [NET] front: Restore 16 bytes of reservation
Hi Keir:
I noticed that the recent change to netfront accidetanlly removed the
16-byte reservation. This patch puts it back.
[NET] front: Restore 16 bytes of reservation
By replacing dev_alloc_skb with alloc_skb we need to do the 16-byte
reservation ourselves. Also, it's unnecessary to align the size
when calling alloc_skb since the alignment is an implementation
detail of alloc_skb and it already takes care of it for us.
Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
Cheers,
--
Visit Openswan at http://www.openswan.org/
Email: Herbert Xu ~{PmV>HI~} <herbert@xxxxxxxxxxxxxxxxxxx>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
--
diff -r 1d817bfc5ed9 linux-2.6-xen-sparse/drivers/xen/netfront/netfront.c
--- a/linux-2.6-xen-sparse/drivers/xen/netfront/netfront.c Fri Aug 11
14:22:54 2006 +0100
+++ b/linux-2.6-xen-sparse/drivers/xen/netfront/netfront.c Sat Aug 12
12:26:06 2006 +1000
@@ -615,7 +615,7 @@ static void network_alloc_rx_buffers(str
* necessary here.
* 16 bytes added as necessary headroom for netif_receive_skb.
*/
- skb = alloc_skb(SKB_DATA_ALIGN(RX_COPY_THRESHOLD + 16),
+ skb = alloc_skb(RX_COPY_THRESHOLD + 16,
GFP_ATOMIC | __GFP_NOWARN);
if (unlikely(!skb))
goto no_skb;
@@ -633,6 +633,7 @@ no_skb:
break;
}
+ skb_reserve(skb, 16);
skb_shinfo(skb)->frags[0].page = page;
skb_shinfo(skb)->nr_frags = 1;
__skb_queue_tail(&np->rx_batch, skb);
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
<Prev in Thread] |
Current Thread |
[Next in Thread> |
- [Xen-devel] [NET] front: Restore 16 bytes of reservation,
Herbert Xu <=
|
|
|
|
|