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

Re: [Xen-devel] Xen-unstable Linux 3.14-rc3 and 3.13 Network troubles "bisected"



Tuesday, March 11, 2014, 11:19:48 AM, you wrote:

> On Tue, Mar 11, 2014 at 12:00:26AM +0100, Sander Eikelenboom wrote:
> [...]
>> 
>> >> Wei.
>> 
>> Hi Paul,
>> 
>> It seems a commit by you: "ca2f09f2b2c6c25047cfc545d057c4edfcfe561c 
>> xen-netback: improve guest-receive-side flow control"
>> is the first that gives the Bad grant references.
>> It seems later patches partly prevent or mask the issue, so it is less easy 
>> to trigger it.
>> With only this commit applied i can trigger it quite fast.
>> 
>> This is the result of:
>> - First testing a baseline that worked o.k. for several days (3.13.6 for 
>> both dom0 and domU)
>> - Testing domU 3.14-rc5 and dom0 3.13.6, this worked ok.
>> - Testing dom0 3.14-rc5 and domU 3.13.6, this failed.
>> - After that took 3.13.6 as base and first applied all the general xen 
>> related patches for the dom0 kernel, that works ok.
>> - After that started to apply the netback changes for 3.14 and that failed 
>> after the commit stated above.
>> 
>> So i'm quite confident i'm reporting the right thing now :-)
>> If you would like me to run debug patches on top of this commit, don't 
>> hesitate to send them !
>> 

> Hmm.... I just looked at the commit, something that's obvious wrong is
> the use of gso_type to determine whether an extra slot is required,
> which is fixed by Annie yesterday. Annie fixed that for netback.c but
> missed interface.c.

Ah i saw and tried that patch as well .. but on it's own it didn't help.
Will try with both patches ..


> This can probably fix the problem you're seeing. I will submit a proper
> patch if you confirm that...

> From e560333a95f29886bc33352bdf6c0d09c227e833 Mon Sep 17 00:00:00 2001
> From: Wei Liu <wei.liu2@xxxxxxxxxx>
> Date: Tue, 11 Mar 2014 10:15:25 +0000
> Subject: [PATCH] xen-netback: fix calculation of extra slot

> In 5bd076708 ("Xen-netback: Fix issue caused by using gso_type wrongly")
> we use skb_is_gso to determine if we need an extra slot to accommodate
> the SKB. There's similar error in interface.c as well. Fix that using
> skb_is_gso.

> Signed-off-by: Wei Liu <wei.liu2@xxxxxxxxxx>
> ---
>  drivers/net/xen-netback/interface.c |    3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)

> diff --git a/drivers/net/xen-netback/interface.c 
> b/drivers/net/xen-netback/interface.c
> index 7669d49..301cc03 100644
> --- a/drivers/net/xen-netback/interface.c
> +++ b/drivers/net/xen-netback/interface.c
> @@ -132,8 +132,7 @@ static int xenvif_start_xmit(struct sk_buff *skb, struct 
> net_device *dev)
>         /* If the skb is GSO then we'll also need an extra slot for the
>          * metadata.
>          */
> -       if (skb_shinfo(skb)->gso_type & SKB_GSO_TCPV4 ||
> -           skb_shinfo(skb)->gso_type & SKB_GSO_TCPV6)
> +       if (skb_is_gso(skb))
>                 min_slots_needed++;
>  
>         /* If the skb can't possibly fit in the remaining slots


_______________________________________________
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®.