From: Jan Kiszka <jan.kiszka@web.de>
To: Thomas Gleixner <tglx@linutronix.de>
Cc: Alex Williamson <alex.williamson@redhat.com>,
Richard Weinberger <richard@nod.at>,
kvm@vger.kernel.org, avi@redhat.com,
Marcelo Tosatti <mtosatti@redhat.com>,
Bjorn Helgaas <bhelgaas@google.com>,
"Michael S. Tsirkin" <mst@redhat.com>
Subject: Re: [PATCH 2/2] Device assignment: Fix MSI IRQ affinity setting
Date: Thu, 24 May 2012 23:37:19 -0300 [thread overview]
Message-ID: <4FBEF05F.2030906@web.de> (raw)
In-Reply-To: <alpine.LFD.2.02.1205250149470.3231@ionos>
[-- Attachment #1: Type: text/plain, Size: 1475 bytes --]
On 2012-05-24 20:56, Thomas Gleixner wrote:
> On Thu, 24 May 2012, Alex Williamson wrote:
>
>> On Fri, 2012-05-25 at 01:01 +0200, Thomas Gleixner wrote:
>>> So the proper fix is that qemu tells the guest that mask bit is
>>> supported and catches the mask bit toggling before writing it out to
>>> the hardware for those devices which do not support it.
>>
>> We can't necessarily do that, we have to work with the config space
>> we're give. Using the smallest possible MSI capability always works.
>> Adding mask bits may not fit in with the existing capabilities of the
>> physical device. Thanks,
>
> I see what you mean. A random device driver of a random guest OS might
> rely on that information. Unlikely, but ....
>
> So we need some logic to circumvent the masked/unmasked logic in case
> that property is not set, right ?
For MSI emulation in QEMU (including device assignment) it is quite
simple: don't assume that the guest will always mask or even disable
before fiddling with some MSI vector configuration. That is not required
by the spec, so we can't rely on it. The patches I have in a
semi-finished state will do precisely this. But there is still some use
for a dev-assign fix based on the current code for qemu-kvm-1.1.
BTW, along with the switch of device assignment to generic MSI support,
we should also gain support for MSI vector masking - provided the
underlying device comes with that feature as well.
Jan
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 262 bytes --]
next prev parent reply other threads:[~2012-05-25 2:37 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-05-24 17:02 [PATCH 1/2] Remove kvm_commit_irq_routes from error messages Richard Weinberger
2012-05-24 17:02 ` [PATCH 2/2] Device assignment: Fix MSI IRQ affinity setting Richard Weinberger
2012-05-24 18:20 ` Alex Williamson
[not found] ` <CAEMbtc+ycsC6u=CZ_Yg6C=WV=VqjA2uEDM5KWPM_7n3sZh_9Pw@mail.gmail.com>
2012-05-24 19:27 ` Richard Weinberger
2012-05-24 21:39 ` Thomas Gleixner
2012-05-24 21:53 ` Jan Kiszka
2012-05-24 22:11 ` Alex Williamson
2012-05-24 23:01 ` Thomas Gleixner
2012-05-24 23:23 ` Alex Williamson
2012-05-24 23:56 ` Thomas Gleixner
2012-05-25 2:37 ` Jan Kiszka [this message]
2012-05-24 22:17 ` Michael S. Tsirkin
2012-05-24 23:06 ` Thomas Gleixner
2012-05-24 23:19 ` Thomas Gleixner
2012-05-24 22:05 ` Alex Williamson
2012-05-24 20:47 ` Jan Kiszka
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=4FBEF05F.2030906@web.de \
--to=jan.kiszka@web.de \
--cc=alex.williamson@redhat.com \
--cc=avi@redhat.com \
--cc=bhelgaas@google.com \
--cc=kvm@vger.kernel.org \
--cc=mst@redhat.com \
--cc=mtosatti@redhat.com \
--cc=richard@nod.at \
--cc=tglx@linutronix.de \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox