All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Paolo Bonzini <pbonzini@redhat.com>
Cc: qemu-devel@nongnu.org, alex.williamson@redhat.com,
	borntraeger@de.ibm.com, felipe@nutanix.com
Subject: Re: [Qemu-devel] [PATCH 3/3] virtio: set ISR on dataplane notifications
Date: Tue, 15 Nov 2016 19:38:30 +0200	[thread overview]
Message-ID: <20161115184631-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <61184b66-b6dc-b766-a629-537537a92776@redhat.com>

On Tue, Nov 15, 2016 at 05:22:49PM +0100, Paolo Bonzini wrote:
> 
> 
> On 15/11/2016 16:44, Michael S. Tsirkin wrote:
> > True. We could drop it from non-data plane, it's just that we never had
> > a reason to. vhost in kernel does not set ISR in MSI mode, either.
> 
> Yeah, I suspected that.  But dropping it from non-dataplane would break
> Windows hibernation and crashdump, just like it did for Alex.

I guess it's just a question of updating the drivers,
isn't it? To me, hibernation/crashdump doesn't sound important
enough to warrant work-arounds, but if you feel otherwise,
I'm fine with doing this work-around for dataplane.


> > What we have in spec is:
> > 
> > The device MUST set the Device Configuration Interrupt bit in ISR status
> > before sending a device configu-
> > ration change notification to the driver.
> > If MSI-X capability is disabled, the device MUST set the Queue Interrupt
> > bit in ISR status before sending a
> > virtqueue notification to the driver.
> > If MSI-X capability is disabled, the device MUST set the Interrupt
> > Status bit in the PCI Status register in the
> > PCI Configuration Header of the device to the logical OR of all bits in
> > ISR status of the device. The device
> > then asserts/deasserts INT#x interrupts unless masked according to
> > standard PCI rules [PCI].
> > The device MUST reset ISR status to 0 on driver read.
> > 
> > 
> > 
> > 
> > If MSI-X capability is enabled, the driver SHOULD NOT access ISR status
> > upon detecting a Queue Interrupt.
> > 
> > 
> > 
> > It can be clearer, but IMHO it's reasonably clear that devices
> > do not have to set this bit in MSI mode.
> 
> Yes, it is.  We can just document it in the release notes, but then the
> fix is not particularly intrusive.
> 
> Paolo

It has a slight performance cost but it's not too bad.

I'd rather document it in a code comment though.
Explain the motivation and which driver versions are affected.

-- 
MST

  reply	other threads:[~2016-11-15 17:38 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-11-15 13:46 [Qemu-devel] [PATCH for-2.8 0/3] virtio fixes Paolo Bonzini
2016-11-15 13:46 ` [Qemu-devel] [PATCH 1/3] virtio: introduce grab/release_ioeventfd to fix vhost Paolo Bonzini
2016-11-15 15:32   ` Cornelia Huck
2016-11-15 16:21     ` Paolo Bonzini
2016-11-15 13:46 ` [Qemu-devel] [PATCH 2/3] virtio: access ISR atomically Paolo Bonzini
2016-11-15 15:03   ` Christian Borntraeger
2016-11-15 15:04     ` Paolo Bonzini
2016-11-15 13:46 ` [Qemu-devel] [PATCH 3/3] virtio: set ISR on dataplane notifications Paolo Bonzini
2016-11-15 15:26   ` Michael S. Tsirkin
2016-11-15 15:28     ` Paolo Bonzini
2016-11-15 15:44       ` Michael S. Tsirkin
2016-11-15 16:22         ` Paolo Bonzini
2016-11-15 17:38           ` Michael S. Tsirkin [this message]
2016-11-15 17:48             ` Alex Williamson
2016-11-15 17:58               ` Michael S. Tsirkin
2016-11-15 18:21                 ` Alex Williamson
2016-11-15 19:17                   ` Michael S. Tsirkin
2016-11-15 19:51                     ` Alex Williamson
2016-11-15 15:02 ` [Qemu-devel] [PATCH for-2.8 0/3] virtio fixes Stefan Hajnoczi
2016-11-16 19:50 ` Christian Borntraeger
2016-11-16 20:03   ` Farhan Ali
2016-11-16 20:16     ` Michael S. Tsirkin
2016-11-16 20:32       ` Farhan Ali
2016-11-16 21:45         ` Farhan Ali
  -- strict thread matches above, loose matches on Subject: below --
2016-11-16 18:05 [Qemu-devel] [PATCH v2 " Paolo Bonzini
2016-11-16 18:05 ` [Qemu-devel] [PATCH 3/3] virtio: set ISR on dataplane notifications Paolo Bonzini
2016-11-16 20:15   ` Michael S. Tsirkin
2016-11-16 20:38     ` Paolo Bonzini
2016-11-16 20:39       ` Michael S. Tsirkin
2016-11-16 21:05         ` Paolo Bonzini
2016-11-16 21:20           ` Michael S. Tsirkin
2016-11-17  9:04             ` Paolo Bonzini
2016-11-17 16:58               ` Michael S. Tsirkin
2016-11-17 10:44     ` Stefan Hajnoczi

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=20161115184631-mutt-send-email-mst@kernel.org \
    --to=mst@redhat.com \
    --cc=alex.williamson@redhat.com \
    --cc=borntraeger@de.ibm.com \
    --cc=felipe@nutanix.com \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /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.