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

Re: [Xen-devel] RFH: Kernel OOPS in xen_netbk_rx_action / xenvif_gop_skb



Hello Wei Liu,

On 27.06.2014 10:42, Philipp Hahn wrote:
> With the modified patch we now get the following hang:
...
>> [ 1115.250900] INFO: task xenwatch:14 blocked for more than 120 seconds.
>> [ 1115.250902] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables 
>> this message.
>> [ 1115.250904] xenwatch        D ffff8800952d9080     0    14      2 
>> 0x00000000
>> [ 1115.250907]  ffff8800952d9080 0000000000000246 ffff880094510880 
>> 0000000000013ec0
>> [ 1115.250909]  ffff88009530ffd8 0000000000013ec0 ffff88009530ffd8 
>> 0000000000013ec0
>> [ 1115.250911]  ffff8800952d9080 0000000000013ec0 0000000000013ec0 
>> ffff88009530e010
>> [ 1115.250913] Call Trace:
>> [ 1115.250921]  [<ffffffff813ca32d>] ? _raw_spin_lock_irqsave+0x11/0x2f
>> [ 1115.250925]  [<ffffffffa040a396>] ? xenvif_free+0x7a/0xb6 [xen_netback]
...
> Any idea?

I guess we found the problem ourselves: For thus removed skb's the
reference counter on the associated vif was not decremented, as it is
normally done in two locations at the end of the function
xen_netbk_rx_action():

> Subject: [PATCH] quick hack
...
> diff --git a/drivers/net/xen-netback/netback.c 
> b/drivers/net/xen-netback/netback.c
> index 36efb41..f4f3693 100644
> --- a/drivers/net/xen-netback/netback.c
> +++ b/drivers/net/xen-netback/netback.c
> @@ -720,6 +720,11 @@ static void xen_netbk_rx_action(struct xen_netbk *netbk)
>               vif = netdev_priv(skb->dev);
>               nr_frags = skb_shinfo(skb)->nr_frags;
>  
> +             if (!vif->mapped) {
> +                     dev_kfree_skb(skb);

                        xenvif_put(vif);

> +                     continue;
> +             }
> +
>               sco = (struct skb_cb_overlay *)skb->cb;
>               sco->meta_slots_used = netbk_gop_skb(skb, &npo);
>  

The test is currently running again for the weekend and on Monday we
will hopefully know more.

Thanks again.

Philipp

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