From: Philipp Hahn <hahn@univention.de>
To: Wei Liu <wei.liu2@citrix.com>
Cc: xen-devel <xen-devel@lists.xenproject.org>,
Erik Damrose <Damrose@univention.de>,
Ian Campbell <ian.campbell@citrix.com>,
Zoltan Kiss <zoltan.kiss@citrix.com>
Subject: Re: RFH: Kernel OOPS in xen_netbk_rx_action / xenvif_gop_skb
Date: Fri, 27 Jun 2014 19:48:36 +0200 [thread overview]
Message-ID: <53ADAE74.9020905@univention.de> (raw)
In-Reply-To: <53AD2E70.5060002@univention.de>
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
next prev parent reply other threads:[~2014-06-27 17:48 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-06-06 10:26 RFH: Kernel OOPS in xen_netbk_rx_action / xenvif_gop_skb Philipp Hahn
2014-06-06 10:58 ` Wei Liu
2014-06-06 22:12 ` Philipp Hahn
2014-06-18 16:48 ` Philipp Hahn
2014-06-19 14:12 ` Wei Liu
2014-06-19 14:35 ` David Vrabel
2014-06-19 14:41 ` Wei Liu
2014-06-23 14:56 ` Philipp Hahn
2014-06-27 8:42 ` Philipp Hahn
2014-06-27 17:48 ` Philipp Hahn [this message]
2014-06-27 18:24 ` Philipp Hahn
2014-07-02 7:45 ` [PATCH] " Philipp Hahn
2014-07-10 12:41 ` Wei Liu
[not found] ` <20140710124122.GA2381@zion.uk.xensource.com>
2014-07-11 9:41 ` Philipp Hahn
[not found] ` <53BFB142.7050201@univention.de>
2014-07-11 9:53 ` Wei Liu
2014-07-11 10:32 ` Wei Liu
[not found] ` <20140711103236.GB12584@zion.uk.xensource.com>
2014-07-11 11:02 ` Philipp Hahn
[not found] ` <53BFC43A.4080709@univention.de>
2014-07-11 11:16 ` Wei Liu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=53ADAE74.9020905@univention.de \
--to=hahn@univention.de \
--cc=Damrose@univention.de \
--cc=ian.campbell@citrix.com \
--cc=wei.liu2@citrix.com \
--cc=xen-devel@lists.xenproject.org \
--cc=zoltan.kiss@citrix.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.