From mboxrd@z Thu Jan 1 00:00:00 1970
From: bugzilla-daemon@bugzilla.kernel.org
Subject: [Bug 42829] KVM Guest with virtio network driver loses network
connectivity
Date: Tue, 6 Mar 2012 02:26:17 GMT
Message-ID: <201203060226.q262QHVj013538@bugzilla.kernel.org>
References:
Mime-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
To: kvm@vger.kernel.org
Return-path:
Received: from bugzilla.kernel.org ([198.145.19.204]:59377 "EHLO
bugzilla.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org
with ESMTP id S1758099Ab2CFC0R (ORCPT );
Mon, 5 Mar 2012 21:26:17 -0500
Received: from bugzilla.kernel.org (localhost [127.0.0.1])
by bugzilla.kernel.org (8.14.5/8.14.5) with ESMTP id q262QHin013539
for ; Tue, 6 Mar 2012 02:26:17 GMT
In-Reply-To:
Sender: kvm-owner@vger.kernel.org
List-ID:
https://bugzilla.kernel.org/show_bug.cgi?id=42829
Steve changed:
What |Removed |Added
----------------------------------------------------------------------------
Kernel Version|v3.0-rc1 |v3.0-rc1+
Severity|high |blocking
--- Comment #11 from Steve 2012-03-06 02:26:16 ---
I found bad commit.
git bisect log:
---------------
git bisect start
# bad: [550cf00dbc8ee402bef71628cb71246493dd4500] Merge tag 'mmc-fixes-for-3.3'
of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc
git bisect bad 550cf00dbc8ee402bef71628cb71246493dd4500
# good: [61c4f2c81c61f73549928dfd9f3e8f26aa36a8cf] Linux 2.6.39
git bisect good 61c4f2c81c61f73549928dfd9f3e8f26aa36a8cf
# bad: [8a9ea3237e7eb5c25f09e429ad242ae5a3d5ea22] Merge
git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next
git bisect bad 8a9ea3237e7eb5c25f09e429ad242ae5a3d5ea22
# bad: [95a943c162d74b20d869917bdf5df11293c35b63] Merge branch 'master' of
git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into
for-davem
git bisect bad 95a943c162d74b20d869917bdf5df11293c35b63
# good: [98b98d316349e9a028e632629fe813d07fa5afdd] Merge branch 'drm-core-next'
of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6
git bisect good 98b98d316349e9a028e632629fe813d07fa5afdd
# bad: [1f6e44a6dc21a5d2abb068063acbbf64f8cee548] pxa168_eth: enable transmit
time stamping.
git bisect bad 1f6e44a6dc21a5d2abb068063acbbf64f8cee548
# good: [19de85ef574c3a2182e3ccad9581805052f14946] bitops: add #ifndef for each
of find bitops
git bisect good 19de85ef574c3a2182e3ccad9581805052f14946
# good: [c320afe965bf3f857249d223801d8f2fc95615c2] Blackfin: debug-mmrs:
include RSI_PID[4567] MMRs
git bisect good c320afe965bf3f857249d223801d8f2fc95615c2
# bad: [23c79d31a3dd2602ee1a5ff31303b2d7a2d3c159] Merge
git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6
git bisect bad 23c79d31a3dd2602ee1a5ff31303b2d7a2d3c159
# good: [cd1acdf1723d71b28175f95b04305f1cc74ce363] Merge branch 'pnfs-submit'
of git://git.open-osd.org/linux-open-osd
git bisect good cd1acdf1723d71b28175f95b04305f1cc74ce363
# bad: [cd4ecf877a4d629c38571405fd649077c12dec50] Merge branch
'rmobile-fixes-for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6
git bisect bad cd4ecf877a4d629c38571405fd649077c12dec50
# bad: [5c6cce92bc8aee751aafe82c5d9caf7553226a3d] Merge branch 'for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6
git bisect bad 5c6cce92bc8aee751aafe82c5d9caf7553226a3d
# bad: [8ea8cf89e19aeb596b818ee5f2bec8a8b0586b60] vhost: support event index
git bisect bad 8ea8cf89e19aeb596b818ee5f2bec8a8b0586b60
# good: [bc805a03c26e1e25171bc627c6264553d27f746c] lguest: fix up compilation
after move
git bisect good bc805a03c26e1e25171bc627c6264553d27f746c
# good: [bf50e69f63d21091e525185c3ae761412be0ba72] virtio balloon: kill
tell-host-first logic
git bisect good bf50e69f63d21091e525185c3ae761412be0ba72
# good: [770b31a85e000b0194974922f238a30ade4246b6] virtio: event index
interface
git bisect good 770b31a85e000b0194974922f238a30ade4246b6
# bad: [a5c262c5fd83ece01bd649fb08416c501d4c59d7] virtio_ring: support event
idx feature
git bisect bad a5c262c5fd83ece01bd649fb08416c501d4c59d7
# good: [bf7035bf20563a6cadcb9e870406e7b21daf5e30] virtio ring: inline function
to check for events
git bisect good bf7035bf20563a6cadcb9e870406e7b21daf5e30
git bisect message:
===================
a5c262c5fd83ece01bd649fb08416c501d4c59d7 is the first bad commit
commit a5c262c5fd83ece01bd649fb08416c501d4c59d7
Author: Michael S. Tsirkin
Date: Fri May 20 02:10:44 2011 +0300
virtio_ring: support event idx feature
Support for the new event idx feature:
1. When enabling interrupts, publish the current avail index
value to the host to get interrupts on the next update.
2. Use the new avail_event feature to reduce the number
of exits from the guest.
Simple test with the simulator:
[virtio]# time ./virtio_test
spurious wakeus: 0x7
real 0m0.169s
user 0m0.140s
sys 0m0.019s
[virtio]# time ./virtio_test --no-event-idx
spurious wakeus: 0x11
real 0m0.649s
user 0m0.295s
sys 0m0.335s
Signed-off-by: Michael S. Tsirkin
Signed-off-by: Rusty Russell
:040000 040000 933903414419858cf7402aa3fb8c3f675d6ab7cc
0ed603da4671eef88e0702e6438e903b56688b62 M drivers
I found bug in include/linux/virtio_ring.h:
===========================================
virtio: event index interface
author Michael S. Tsirkin
Thu, 19 May 2011 23:10:17 +0000 (02:10 +0300)
committer Rusty Russell
Mon, 30 May 2011 01:44:14 +0000 (10:44 +0930)
commit 770b31a85e000b0194974922f238a30ade4246b6
tree eed81e23f3116858b49af76bcc5831c38662de96 tree | snapshot
parent a1b383870a28cfbd1657d4922c0fafc634a62ebd commit | diff
virtio: event index interface
Define a new feature bit for the guest and host to utilize
an event index (like Xen) instead if a flag bit to enable/disable
interrupts and kicks.
Signed-off-by: Michael S. Tsirkin
Signed-off-by: Rusty Russell
Proposal for fix - wrong order of elements in structs:
------------------------------------------------------
struct vring_desc {
/* Address (guest-physical). */
@@ -106,6 +112,7 @@ struct vring {
* __u16 avail_flags;
* __u16 avail_idx;
+ * __u16 used_event_idx;
* __u16 available[num];
- * __u16 used_event_idx;
*
* // Padding to the next align boundary.
* char pad[];
@@ -114,8 +121,14 @@ struct vring {
* __u16 used_flags;
* __u16 used_idx;
+ * __u16 avail_event_idx;
* struct vring_used_elem used[num];
- * __u16 avail_event_idx;
* };
Also double check macros:
vring_used_event
vring_avail_event
Please fix this issue.
Thank you for your time.
--
Configure bugmail: https://bugzilla.kernel.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching the assignee of the bug.