[Bug 42829] KVM Guest with virtio network driver loses network connectivity

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

 



https://bugzilla.kernel.org/show_bug.cgi?id=42829


Steve <stefan.bosak@xxxxxxxxx> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
     Kernel Version|v3.0-rc1                    |v3.0-rc1+
           Severity|high                        |blocking




--- Comment #11 from Steve <stefan.bosak@xxxxxxxxx>  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 <mst@xxxxxxxxxx>
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 <mst@xxxxxxxxxx>
    Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx>

:040000 040000 933903414419858cf7402aa3fb8c3f675d6ab7cc
0ed603da4671eef88e0702e6438e903b56688b62 M      drivers



I found bug in include/linux/virtio_ring.h:
===========================================

virtio: event index interface
author    Michael S. Tsirkin <mst@xxxxxxxxxx>    
Thu, 19 May 2011 23:10:17 +0000 (02:10 +0300)
committer    Rusty Russell <rusty@xxxxxxxxxxxxxxx>    
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 <mst@xxxxxxxxxx>
Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx>


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.
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux