From: "Michael S. Tsirkin" <mst@redhat.com>
To: "Theodore Ts'o" <tytso@mit.edu>
Cc: jasowang@redhat.com, netdev@vger.kernel.org,
nhorman@tuxdriver.com, davem@davemloft.net
Subject: Re: "virtio-net: enable multiqueue by default" in linux-next breaks networking on GCE
Date: Tue, 13 Dec 2016 05:30:27 +0200 [thread overview]
Message-ID: <20161213051621-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <20161213031243.avq5g5m5r5ylcnnk@thunk.org>
On Mon, Dec 12, 2016 at 10:12:43PM -0500, Theodore Ts'o wrote:
> On Tue, Dec 13, 2016 at 04:28:17AM +0200, Michael S. Tsirkin wrote:
> >
> > That's unfortunate, of course. It could be a hypervisor or
> > a guest kernel bug. ideas:
> > - does host have mq capability? how many queues?
> > - how about # of msix vectors?
> > - after you send something on tx queues,
> > are interrupts arriving on rx queues?
> > - is problem rx or tx?
> > set ip and arp manually and send a packet to known MAC,
> > does it get there?
>
> Sorry, I don't know how to debug virtio-net. Given that it's in a
> cloud environment, I also can't set ip addresses manually, since ip
> addresses are set manually.
OK, but you can send raw ethernet frames preseumably?
> If you can send me a patch, I'm happy to apply it and send you back
> results.
Let's start with collecting stats from sysfs for this device.
pls get features bitmap from there,
pls get /proc/interrupts mappings,
and pls use lspci to dump pci config.
> I can say that I've had _zero_ problems using pretty much any kernel
> from 3.10 to 4.9 using Google Compute Engine. The commit I referenced
> caused things to stop working. So in terms of regression, this is
> definitely a regression, and it's definitely caused by commit
> 449000102901. Even if it is a hypervisor "bug", I'm pretty sure I
> know what Linus will say if I ask him to revert it. Linux kernels are
> expected to work around hardware bugs, and breaking users just because
> hardware is "broken" by some definition is generally not considered
> friendly, especially when has been working for years and years before
> some commit "fixed" things.
I'm open to limiting new features to virtio 1 mode just to
avoid the hassle of dealing with legacy hypervisors.
But let's not argue about it until we know the root cause.
>
> I would very much like to work with you to fix it, but I will need
> your help, since virtio-net doesn't seem to print any informational
> during the boot sequence, and I don't know how the best way to debug
> it.
>
> Cheers,
>
> - Ted
Let's start with debugging it like any PCI NIC.
--
MST
next prev parent reply other threads:[~2016-12-13 3:30 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-12-12 23:33 "virtio-net: enable multiqueue by default" in linux-next breaks networking on GCE Theodore Ts'o
2016-12-13 2:28 ` Michael S. Tsirkin
2016-12-13 3:12 ` Theodore Ts'o
2016-12-13 3:30 ` Michael S. Tsirkin [this message]
2016-12-13 3:43 ` Jason Wang
2016-12-13 4:19 ` Theodore Ts'o
2016-12-13 17:46 ` Wei Xu
2016-12-13 19:44 ` Theodore Ts'o
2016-12-14 4:24 ` Wei Xu
2016-12-14 16:42 ` Theodore Ts'o
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=20161213051621-mutt-send-email-mst@kernel.org \
--to=mst@redhat.com \
--cc=davem@davemloft.net \
--cc=jasowang@redhat.com \
--cc=netdev@vger.kernel.org \
--cc=nhorman@tuxdriver.com \
--cc=tytso@mit.edu \
/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.