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

Re: [Xen-devel] Is: SKB_MAX_LEN bites again. Was: Re: bug disabling guest interface





On 2013-3-9 20:53, Sander Eikelenboom wrote:
Saturday, March 9, 2013, 3:57:16 AM, you wrote:

- change MAX_SKB_FRAGS to 19 to accommodate all guests
Changing MAX_SKB_FRAGS is *not* an option upstream. This might be a
useful local hack but we need to drop the idea as a long term fix.
Ugh. The negotiations between host and guest is probably the best
choice. The issues you are going to hit are that you might need
to redo the skbs to match what the frontend's max is.
IMHO the right fix is for netback to coalesce as it copies from the
frontend if it needs to do so, it is copying anyway so it should be
cheap enough. I thought we had discussed this and someone was working on
implementing it. If not Annie then perhaps it was Matt or Siva (both now
CC'd)
If necessary netback could even allocate a larger order head in order to
accommodate very large packets, but I don't expect that to be required
to fix the immediate issue we are seeing (but gives flexibility)
This should get us past the immediate issue of the upstream change from
18->>16  frags thing. Longer term the negotiation will allow us to avoid
future incompatible changes in guest and host network stacks, as well as
allowing frontends on other OSes (in particular Windows) to havea better
chance of to DTRT.

Annie, Wei, Ian - were there some RFC patches floating around
for this?
I think you refer to this thread ?

http://lists.xen.org/archives/html/xen-devel/2013-01/msg00198.html

And i see the annie's patch and my response haven't made the list because annie 
dropped xen-devel from the response.
I will forward them ..

Hi Sander,

This is a patch in which I tried to do some fix in netfront, the thread you mentioned is facing the same issue with this one.

Thanks
Annie

--
Sander





diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h
index 821c7f4..82de0f5 100644
--- a/include/linux/skbuff.h
+++ b/include/linux/skbuff.h
@@ -143,8 +143,8 @@ struct sk_buff;
   * Since GRO uses frags we allocate at least 16 regardless of page
   * size.
   */
-#if (65536/PAGE_SIZE + 1)<  16
-#define MAX_SKB_FRAGS 16UL
+#if (65536/PAGE_SIZE + 1)<  19
+#define MAX_SKB_FRAGS 19UL
  #else
  #define MAX_SKB_FRAGS (65536/PAGE_SIZE + 1)
  #endif


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel






_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

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