public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
* block virtio excessive VIRTIO_PCI_ISR reads
@ 2009-10-28 14:40 Saul Tamari
  2009-10-28 14:48 ` Anthony Liguori
  0 siblings, 1 reply; 9+ messages in thread
From: Saul Tamari @ 2009-10-28 14:40 UTC (permalink / raw)
  To: kvm

Hi,

There seems to be a bug in the VirtIO guest device driver (tested with
2.6.31.5 kernel).
The bug causes frequent & excessive VIRTIO_PCI_ISR reads (causing PIO
vm-exits) for a device that is not being used.

The setup I’m using includes two VirtIO block devices – vda & vdb.
While running heavy IO on vdb I notice a lot of VIRTIO_PCI_ISR port
reads for the PIO ports of vda too.
For each vdb IO operation passed to the hypervisor by the virtio driver I see:
1. One VIRTIO_PCI_QUEUE_NOTIFY write on vdb
2. One VIRTIO_PCI_ISR read on vdb
3. One VIRTIO_PCI_ISR read on vda (while not explicitly using vda)

I think that #3 shouldn't happen and I think it is a bug.


On my VM setup, vda’s IO ports start at 0xc400 and vdb's IO ports
start at 0xc800.
Below are the counts of PIO vm-exits distributed by port number:
port                count
0xc413            17923
0xc810            17922
0xc813            17923

Is this how this VirtIO block devices supposed to work? The extra ISR
reads on vda are ok?


Thanks,
Saul

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2009-11-01 11:16 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-10-28 14:40 block virtio excessive VIRTIO_PCI_ISR reads Saul Tamari
2009-10-28 14:48 ` Anthony Liguori
2009-10-28 14:59   ` Michael Tokarev
2009-10-28 15:04     ` Saul Tamari
2009-10-28 15:52       ` Saul Tamari
2009-10-29 10:10       ` Avi Kivity
2009-10-29 15:47         ` Saul Tamari
2009-11-01  9:23           ` Avi Kivity
2009-11-01 11:16             ` Saul Tamari

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox