[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [Xen-devel] [PATCH 2/2] netfront skb padding



 
> It appears that when alloc'ing a skb, it is bring padded by 
> an arbitrarily 
> (and excessive) long value.  The value for this padding 
> really only needs to 
> be 24.  24 = 14 for the ethernet header + 2 for the cache 
> alignment + 4 for 
> the CRC + 4 for the VLAN flags.

Given that we're allocating page sized buffers the current situation
doesn't cost us anything.

Infact, what happens if the packet gets encapsulated e.g. by etherip
etc? Is Linux smart enough to be able to put the extra headers on
in-place if there is enough head room?

If so, the current situation is positively better.

Ian

> Tested on Xen 2.0.3 and linux 2.6.10 kernel.
> 
> Signed-off-by: Jon Mason <jdmason@xxxxxxxxxx>
> ---
> 
> --- drivers/xen/netfront/netfront.c.new 2005-02-08 
> 19:09:31.368834000 -0600
> +++ drivers/xen/netfront/netfront.c 2005-02-08 
> 19:09:24.738834000 -0600
> @@ -50,6 +50,8 @@
>  #include <asm-xen/balloon.h>
>  #include <asm/page.h>
>  
> +#define NETFRONT_VERSION "1.1"
> +
>  #ifndef __GFP_NOWARN
>  #define __GFP_NOWARN 0
>  #endif
> @@ -62,8 +64,11 @@
>          skb_shinfo(_skb)->frag_list = NULL;           \
>      } while (0)
>  
> -/* Allow headroom on each rx pkt for Ethernet header, 
> alignment padding, ... */
> -#define RX_HEADROOM 200
> +/* 
> + * Allow headroom on each rx pkt for Ethernet header, 
> alignment padding, 
> + * CRC, and VLAN 
> + */
> +#define RX_HEADROOM ETH_HLEN + NET_IP_ALIGN + 8 
>  
>  /*
>   * If the backend driver is pipelining transmit requests 
> then we can be very
> @@ -1248,7 +1253,8 @@ static int __init netif_init(void)
>      if (xen_start_info.flags & SIF_INITDOMAIN)
>          return 0;
>  
> -    IPRINTK("Initialising virtual ethernet driver.\n");
> +    IPRINTK("Initialising virtual ethernet driver, version %s\n", 
> +      NETFRONT_VERSION);
>      INIT_LIST_HEAD(&dev_list);
>      (void)register_inetaddr_notifier(&notifier_inetdev);
>      netctrl_init();
> 
> 
> -------------------------------------------------------
> SF email is sponsored by - The IT Product Guide
> Read honest & candid reviews on hundreds of IT Products from 
> real users.
> Discover which products truly live up to the hype. Start reading now.
> http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@xxxxxxxxxxxxxxxxxxxxx
> https://lists.sourceforge.net/lists/listinfo/xen-devel
> 


-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_ide95&alloc_id396&op=click
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.sourceforge.net/lists/listinfo/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.