All of lore.kernel.org
 help / color / mirror / Atom feed
From: Michael Tokarev <mjt@tls.msk.ru>
To: Anthony Liguori <anthony@codemonkey.ws>
Cc: Saul Tamari <stamari@gmail.com>, kvm <kvm@vger.kernel.org>
Subject: Re: block virtio excessive VIRTIO_PCI_ISR reads
Date: Wed, 28 Oct 2009 17:59:33 +0300	[thread overview]
Message-ID: <4AE85C55.7010806@msgid.tls.msk.ru> (raw)
In-Reply-To: <4AE859BD.106@codemonkey.ws>

Anthony Liguori wrote:
> Saul Tamari wrote:
>> 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)
> 
> That's because it's using a shared interrupt and each device needs to 
> check whether it's got pending work to do.
> 
> You can eliminate this by using MSI-x.

So the next question is how to use MSI-x.. ;)

Thanks!

/mjt

  reply	other threads:[~2009-10-28 14:59 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
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 [this message]
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

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=4AE85C55.7010806@msgid.tls.msk.ru \
    --to=mjt@tls.msk.ru \
    --cc=anthony@codemonkey.ws \
    --cc=kvm@vger.kernel.org \
    --cc=stamari@gmail.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.