From: Jan Kiszka <jan.kiszka@siemens.com>
To: "Michael S. Tsirkin" <mst@redhat.com>
Cc: Avi Kivity <avi@redhat.com>,
Marcelo Tosatti <mtosatti@redhat.com>,
"kvm@vger.kernel.org" <kvm@vger.kernel.org>,
Alex Williamson <alex.williamson@redhat.com>,
"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>
Subject: Re: [RFC][PATCH 28/45] qemu-kvm: msix: Drop tracking of used vectors
Date: Wed, 19 Oct 2011 13:17:03 +0200 [thread overview]
Message-ID: <4E9EB1AF.7090406@siemens.com> (raw)
In-Reply-To: <20111019090305.GA25794@redhat.com>
On 2011-10-19 11:03, Michael S. Tsirkin wrote:
>>> I thought we need to match APIC ID. That needs a table lookup, no?
>>
>> Yes. But that's completely independent of a concrete MSI message. In
>> fact, this is the same thing we need when interpreting an IOAPIC
>> redirection table entry. So let's create an APIC ID lookup table for the
>> destination ID field, maybe multiple of them to match different modes,
>> but not a MSI message table.
>>>
>>>> Or are you thinking about some cluster mode?
>>>
>>> That too.
>
> Hmm, might be a good idea. APIC IDs are 8 bit, right?
Yep (more generally: destination IDs). So even if we have to create
multiple lookup tables for the various modes, that won't consume
megabytes of RAM.
>
>
>>>>>
>>>>>
>>>>>>>
>>>>>>> An analogy would be if read/write operated on file paths.
>>>>>>> fd makes it easy to do permission checks and slow lookups
>>>>>>> in one place. GSI happens to work like this (maybe, by accident).
>>>>>>
>>>>>> Think of an opaque file handle as a MSIRoutingCache object. And it
>>>>>> encodes not only the routing handle but also other useful associated
>>>>>> information we need from time to time - internally, not in the device
>>>>>> models.
>>>>>
>>>>> Forget qemu abstractions, I am talking about data path
>>>>> optimizations in kernel in kvm. From that POV the point of an fd is not
>>>>> that it is opaque. It is that it's an index in an array that
>>>>> can be used for fast lookups.
>>>>>
>>>>>>>>>
>>>>>>>>> Another concern is mask bit emulation. We currently
>>>>>>>>> handle mask bit in userspace but patches
>>>>>>>>> to do them in kernel for assigned devices where seen
>>>>>>>>> and IMO we might want to do that for virtio as well.
>>>>>>>>>
>>>>>>>>> For that to work the mask bit needs to be tied to
>>>>>>>>> a specific gsi or specific device, which does not
>>>>>>>>> work if we just inject arbitrary writes.
>>>>>>>>
>>>>>>>> Yes, but I do not see those valuable plans being negatively affected.
>>>>>>>>
>>>>>>>> Jan
>>>>>>>>
>>>>>>>
>>>>>>> I do.
>>>>>>> How would we maintain a mask/pending bit in kernel if we are not
>>>>>>> supplied info on all available vectors even?
>>>>>>
>>>>>> It's tricky to discuss an undefined interface (there only exists an
>>>>>> outdated proposal for kvm device assignment). But I suppose that user
>>>>>> space will have to define the maximum number of vectors when creating an
>>>>>> in-kernel MSI-X MMIO area. The device already has to tell this to msix_init.
>>>>>>
>>>>>> The number of used vectors will correlate with the number of registered
>>>>>> irqfds (in the case of vhost or vfio, device assignment still has
>>>>>> SET_MSIX_NR). As kernel space would then be responsible for mask
>>>>>> processing, user space would keep vectors registered with irqfds, even
>>>>>> if they are masked. It could just continue to play the trick and drop
>>>>>> data=0 vectors.
>>>>>
>>>>> Which trick? We don't play any tricks except for device assignment.
>>>>>
>>>>>> The point here is: All those steps have _nothing_ to do with the generic
>>>>>> MSI-X core. They are KVM-specific "side channels" for which KVM provides
>>>>>> an API. In contrast, msix_vector_use/unuse were generic services that
>>>>>> were actually created to please KVM requirements. But if we split that
>>>>>> up, we can address the generic MSI-X requirements in a way that makes
>>>>>> more sense for emulated devices (and particularly msix_vector_use makes
>>>>>> no sense for emulation).
>>>>>>
>>>>>> Jan
>>>>>>
>>>>>
>>>>> We need at least msix_vector_unuse
>>>>
>>>> Not at all. We rather need some qemu_irq_set(level) for MSI.
>>>> The spec
>>>> requires that the device clears pending when the reason for that is
>>>> removed. And any removal that is device model-originated should simply
>>>> be signaled like an irq de-assert.
>>>
>>> OK, this is a good argument.
>>> In particular virtio ISR read could clear msix pending bit
>>> (note: it would also need to clear irqfd as that is where
>>> we get the pending bit).
>>>
>>> I would prefer not to use qemu_irq_set for this though.
>>> We can add a level flag to msix_notify.
>>
>> No concerns.
>>
>>>
>>>> Vector "unusage" is just one reason here.
>>>
>>> I don't see removing the use/unuse functions as a priority though,
>>> but if we add an API that also lets devices say
>>> 'reason for interrupt is removed', that would be nice.
>>>
>>> Removing extra code can then be done separately, and on qemu.git
>>> not on qemu-kvm.
>>
>> If we refrain from hacking KVM logic into the use/unuse services
>> upstream, we can do this later on. For me it is important that those
>> obsolete services do not block or complicate further cleanups of the MSI
>> layer nor bother device model creators with tasks they should not worry
>> about.
>
> My assumption is devices shall keep calling use/unuse until we drop it.
> Does not seem like a major bother. If you like, use all vectors
> or just those with message != 0.
What about letting only those devices call use/unuse that sometimes need
less than the maximum amount? All other would benefit for an use_all
executed on enable and a unuse_all on disable/reset/uninit.
>
>>>
>>>>> - IMO it makes more sense than "clear
>>>>> pending vector". msix_vector_use is good to keep around for symmetry:
>>>>> who knows whether we'll need to allocate resources per vector
>>>>> in the future.
>>>>
>>>> For MSI[-X], the spec is already there, and we know that there no need
>>>> for further resources when emulating it.
>>>> Only KVM has special needs.
>>>>
>>>> Jan
>>>>
>>>
>>> It's not hard to speculate. Imagine an out of process device that
>>> shares guest memory and sends interrupts to qemu using eventfd. Suddenly
>>> we need an fd per vector, and this without KVM.
>>
>> That's what irqfd was invented for. Already works for vhost, and there
>> is nothing that prevents communicating the irqfd fd between two
>> processes. But note: irqfd handle, not a KVM-internal GSI.
>>
>> Jan
>>
>
> Yes. But this still makes an API for acquiring per-vector resources a requirement.
Yes, but a different one than current use/unuse. And it will be an
optional one, only for those devices that need to establish irq/eventfd
channels.
Jan
--
Siemens AG, Corporate Technology, CT T DE IT 1
Corporate Competence Center Embedded Linux
WARNING: multiple messages have this Message-ID (diff)
From: Jan Kiszka <jan.kiszka@siemens.com>
To: "Michael S. Tsirkin" <mst@redhat.com>
Cc: Alex Williamson <alex.williamson@redhat.com>,
Marcelo Tosatti <mtosatti@redhat.com>,
Avi Kivity <avi@redhat.com>,
"kvm@vger.kernel.org" <kvm@vger.kernel.org>,
"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>
Subject: Re: [Qemu-devel] [RFC][PATCH 28/45] qemu-kvm: msix: Drop tracking of used vectors
Date: Wed, 19 Oct 2011 13:17:03 +0200 [thread overview]
Message-ID: <4E9EB1AF.7090406@siemens.com> (raw)
In-Reply-To: <20111019090305.GA25794@redhat.com>
On 2011-10-19 11:03, Michael S. Tsirkin wrote:
>>> I thought we need to match APIC ID. That needs a table lookup, no?
>>
>> Yes. But that's completely independent of a concrete MSI message. In
>> fact, this is the same thing we need when interpreting an IOAPIC
>> redirection table entry. So let's create an APIC ID lookup table for the
>> destination ID field, maybe multiple of them to match different modes,
>> but not a MSI message table.
>>>
>>>> Or are you thinking about some cluster mode?
>>>
>>> That too.
>
> Hmm, might be a good idea. APIC IDs are 8 bit, right?
Yep (more generally: destination IDs). So even if we have to create
multiple lookup tables for the various modes, that won't consume
megabytes of RAM.
>
>
>>>>>
>>>>>
>>>>>>>
>>>>>>> An analogy would be if read/write operated on file paths.
>>>>>>> fd makes it easy to do permission checks and slow lookups
>>>>>>> in one place. GSI happens to work like this (maybe, by accident).
>>>>>>
>>>>>> Think of an opaque file handle as a MSIRoutingCache object. And it
>>>>>> encodes not only the routing handle but also other useful associated
>>>>>> information we need from time to time - internally, not in the device
>>>>>> models.
>>>>>
>>>>> Forget qemu abstractions, I am talking about data path
>>>>> optimizations in kernel in kvm. From that POV the point of an fd is not
>>>>> that it is opaque. It is that it's an index in an array that
>>>>> can be used for fast lookups.
>>>>>
>>>>>>>>>
>>>>>>>>> Another concern is mask bit emulation. We currently
>>>>>>>>> handle mask bit in userspace but patches
>>>>>>>>> to do them in kernel for assigned devices where seen
>>>>>>>>> and IMO we might want to do that for virtio as well.
>>>>>>>>>
>>>>>>>>> For that to work the mask bit needs to be tied to
>>>>>>>>> a specific gsi or specific device, which does not
>>>>>>>>> work if we just inject arbitrary writes.
>>>>>>>>
>>>>>>>> Yes, but I do not see those valuable plans being negatively affected.
>>>>>>>>
>>>>>>>> Jan
>>>>>>>>
>>>>>>>
>>>>>>> I do.
>>>>>>> How would we maintain a mask/pending bit in kernel if we are not
>>>>>>> supplied info on all available vectors even?
>>>>>>
>>>>>> It's tricky to discuss an undefined interface (there only exists an
>>>>>> outdated proposal for kvm device assignment). But I suppose that user
>>>>>> space will have to define the maximum number of vectors when creating an
>>>>>> in-kernel MSI-X MMIO area. The device already has to tell this to msix_init.
>>>>>>
>>>>>> The number of used vectors will correlate with the number of registered
>>>>>> irqfds (in the case of vhost or vfio, device assignment still has
>>>>>> SET_MSIX_NR). As kernel space would then be responsible for mask
>>>>>> processing, user space would keep vectors registered with irqfds, even
>>>>>> if they are masked. It could just continue to play the trick and drop
>>>>>> data=0 vectors.
>>>>>
>>>>> Which trick? We don't play any tricks except for device assignment.
>>>>>
>>>>>> The point here is: All those steps have _nothing_ to do with the generic
>>>>>> MSI-X core. They are KVM-specific "side channels" for which KVM provides
>>>>>> an API. In contrast, msix_vector_use/unuse were generic services that
>>>>>> were actually created to please KVM requirements. But if we split that
>>>>>> up, we can address the generic MSI-X requirements in a way that makes
>>>>>> more sense for emulated devices (and particularly msix_vector_use makes
>>>>>> no sense for emulation).
>>>>>>
>>>>>> Jan
>>>>>>
>>>>>
>>>>> We need at least msix_vector_unuse
>>>>
>>>> Not at all. We rather need some qemu_irq_set(level) for MSI.
>>>> The spec
>>>> requires that the device clears pending when the reason for that is
>>>> removed. And any removal that is device model-originated should simply
>>>> be signaled like an irq de-assert.
>>>
>>> OK, this is a good argument.
>>> In particular virtio ISR read could clear msix pending bit
>>> (note: it would also need to clear irqfd as that is where
>>> we get the pending bit).
>>>
>>> I would prefer not to use qemu_irq_set for this though.
>>> We can add a level flag to msix_notify.
>>
>> No concerns.
>>
>>>
>>>> Vector "unusage" is just one reason here.
>>>
>>> I don't see removing the use/unuse functions as a priority though,
>>> but if we add an API that also lets devices say
>>> 'reason for interrupt is removed', that would be nice.
>>>
>>> Removing extra code can then be done separately, and on qemu.git
>>> not on qemu-kvm.
>>
>> If we refrain from hacking KVM logic into the use/unuse services
>> upstream, we can do this later on. For me it is important that those
>> obsolete services do not block or complicate further cleanups of the MSI
>> layer nor bother device model creators with tasks they should not worry
>> about.
>
> My assumption is devices shall keep calling use/unuse until we drop it.
> Does not seem like a major bother. If you like, use all vectors
> or just those with message != 0.
What about letting only those devices call use/unuse that sometimes need
less than the maximum amount? All other would benefit for an use_all
executed on enable and a unuse_all on disable/reset/uninit.
>
>>>
>>>>> - IMO it makes more sense than "clear
>>>>> pending vector". msix_vector_use is good to keep around for symmetry:
>>>>> who knows whether we'll need to allocate resources per vector
>>>>> in the future.
>>>>
>>>> For MSI[-X], the spec is already there, and we know that there no need
>>>> for further resources when emulating it.
>>>> Only KVM has special needs.
>>>>
>>>> Jan
>>>>
>>>
>>> It's not hard to speculate. Imagine an out of process device that
>>> shares guest memory and sends interrupts to qemu using eventfd. Suddenly
>>> we need an fd per vector, and this without KVM.
>>
>> That's what irqfd was invented for. Already works for vhost, and there
>> is nothing that prevents communicating the irqfd fd between two
>> processes. But note: irqfd handle, not a KVM-internal GSI.
>>
>> Jan
>>
>
> Yes. But this still makes an API for acquiring per-vector resources a requirement.
Yes, but a different one than current use/unuse. And it will be an
optional one, only for those devices that need to establish irq/eventfd
channels.
Jan
--
Siemens AG, Corporate Technology, CT T DE IT 1
Corporate Competence Center Embedded Linux
next prev parent reply other threads:[~2011-10-19 11:17 UTC|newest]
Thread overview: 288+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-10-17 9:27 [RFC][PATCH 00/45] qemu-kvm: MSI layer rework for in-kernel irqchip support Jan Kiszka
2011-10-17 9:27 ` [Qemu-devel] " Jan Kiszka
2011-10-17 9:27 ` [RFC][PATCH 01/45] msi: Guard msi/msix_write_config with msi_present Jan Kiszka
2011-10-17 9:27 ` [Qemu-devel] " Jan Kiszka
2011-10-17 9:27 ` [RFC][PATCH 02/45] msi: Guard msi_reset " Jan Kiszka
2011-10-17 9:27 ` [Qemu-devel] " Jan Kiszka
2011-10-17 9:27 ` [RFC][PATCH 03/45] msi: Use msi/msix_present more consistently Jan Kiszka
2011-10-17 9:27 ` [Qemu-devel] " Jan Kiszka
2011-10-17 9:27 ` [RFC][PATCH 04/45] msi: Invoke msi/msix_reset from PCI core Jan Kiszka
2011-10-17 9:27 ` [Qemu-devel] " Jan Kiszka
2011-10-17 9:27 ` [RFC][PATCH 05/45] msi: Invoke msi/msix_write_config " Jan Kiszka
2011-10-17 9:27 ` [Qemu-devel] " Jan Kiszka
2011-10-17 9:27 ` [RFC][PATCH 06/45] msix: Prevent bogus mask updates on MMIO accesses Jan Kiszka
2011-10-17 9:27 ` [Qemu-devel] " Jan Kiszka
2011-10-17 11:10 ` Michael S. Tsirkin
2011-10-17 11:10 ` [Qemu-devel] " Michael S. Tsirkin
2011-10-17 11:23 ` Jan Kiszka
2011-10-17 11:23 ` [Qemu-devel] " Jan Kiszka
2011-10-17 11:57 ` Michael S. Tsirkin
2011-10-17 11:57 ` [Qemu-devel] " Michael S. Tsirkin
2011-10-17 12:07 ` Jan Kiszka
2011-10-17 12:07 ` [Qemu-devel] " Jan Kiszka
2011-10-17 12:50 ` Michael S. Tsirkin
2011-10-17 12:50 ` [Qemu-devel] " Michael S. Tsirkin
2011-10-17 19:11 ` Jan Kiszka
2011-10-17 19:11 ` [Qemu-devel] " Jan Kiszka
2011-10-17 19:43 ` Michael S. Tsirkin
2011-10-17 19:43 ` [Qemu-devel] " Michael S. Tsirkin
2011-10-17 9:27 ` [RFC][PATCH 07/45] msi: Generalize msix_supported to msi_supported Jan Kiszka
2011-10-17 9:27 ` [Qemu-devel] " Jan Kiszka
2011-10-17 9:27 ` [RFC][PATCH 08/45] Introduce MSIMessage structure Jan Kiszka
2011-10-17 9:27 ` [Qemu-devel] " Jan Kiszka
2011-10-17 11:46 ` Michael S. Tsirkin
2011-10-17 11:46 ` [Qemu-devel] " Michael S. Tsirkin
2011-10-17 11:51 ` Jan Kiszka
2011-10-17 11:51 ` [Qemu-devel] " Jan Kiszka
2011-10-17 12:04 ` Michael S. Tsirkin
2011-10-17 12:04 ` [Qemu-devel] " Michael S. Tsirkin
2011-10-17 12:09 ` Jan Kiszka
2011-10-17 12:09 ` [Qemu-devel] " Jan Kiszka
2011-10-17 13:01 ` Michael S. Tsirkin
2011-10-17 13:01 ` [Qemu-devel] " Michael S. Tsirkin
2011-10-17 19:14 ` Jan Kiszka
2011-10-17 19:14 ` [Qemu-devel] " Jan Kiszka
2011-10-17 9:27 ` [RFC][PATCH 09/45] msi: Factor out msi_message_from_vector Jan Kiszka
2011-10-17 9:27 ` [Qemu-devel] " Jan Kiszka
2011-10-17 9:27 ` [RFC][PATCH 10/45] msix: Factor out msix_message_from_vector Jan Kiszka
2011-10-17 9:27 ` [Qemu-devel] " Jan Kiszka
2011-10-17 9:27 ` [RFC][PATCH 11/45] msi: Factor out delivery hook Jan Kiszka
2011-10-17 9:27 ` [Qemu-devel] " Jan Kiszka
2011-10-17 10:56 ` Avi Kivity
2011-10-17 10:56 ` [Qemu-devel] " Avi Kivity
2011-10-17 11:15 ` Jan Kiszka
2011-10-17 11:15 ` [Qemu-devel] " Jan Kiszka
2011-10-17 11:22 ` Avi Kivity
2011-10-17 11:22 ` [Qemu-devel] " Avi Kivity
2011-10-17 11:29 ` Jan Kiszka
2011-10-17 11:29 ` [Qemu-devel] " Jan Kiszka
2011-10-17 12:14 ` Avi Kivity
2011-10-17 12:14 ` [Qemu-devel] " Avi Kivity
2011-10-17 18:59 ` Jan Kiszka
2011-10-17 18:59 ` [Qemu-devel] " Jan Kiszka
2011-10-17 13:41 ` Michael S. Tsirkin
2011-10-17 13:41 ` [Qemu-devel] " Michael S. Tsirkin
2011-10-17 13:41 ` Avi Kivity
2011-10-17 13:41 ` [Qemu-devel] " Avi Kivity
2011-10-17 13:48 ` Michael S. Tsirkin
2011-10-17 13:48 ` [Qemu-devel] " Michael S. Tsirkin
2011-10-17 19:18 ` Jan Kiszka
2011-10-17 19:18 ` [Qemu-devel] " Jan Kiszka
2011-10-17 13:43 ` Michael S. Tsirkin
2011-10-17 13:43 ` [Qemu-devel] " Michael S. Tsirkin
2011-10-17 19:15 ` Jan Kiszka
2011-10-17 19:15 ` [Qemu-devel] " Jan Kiszka
2011-10-18 12:05 ` Michael S. Tsirkin
2011-10-18 12:05 ` [Qemu-devel] " Michael S. Tsirkin
2011-10-18 12:23 ` Jan Kiszka
2011-10-18 12:23 ` [Qemu-devel] " Jan Kiszka
2011-10-18 12:38 ` Michael S. Tsirkin
2011-10-18 12:38 ` [Qemu-devel] " Michael S. Tsirkin
2011-10-18 12:41 ` Jan Kiszka
2011-10-18 12:41 ` [Qemu-devel] " Jan Kiszka
2011-10-18 12:44 ` malc
2011-10-18 12:44 ` [Qemu-devel] " malc
2011-10-18 12:49 ` Michael S. Tsirkin
2011-10-18 12:49 ` [Qemu-devel] " Michael S. Tsirkin
2011-10-17 9:27 ` [RFC][PATCH 12/45] msi: Introduce MSIRoutingCache Jan Kiszka
2011-10-17 9:27 ` [Qemu-devel] " Jan Kiszka
2011-10-17 11:06 ` Avi Kivity
2011-10-17 11:06 ` [Qemu-devel] " Avi Kivity
2011-10-17 11:19 ` Jan Kiszka
2011-10-17 11:19 ` [Qemu-devel] " Jan Kiszka
2011-10-17 11:25 ` Avi Kivity
2011-10-17 11:25 ` [Qemu-devel] " Avi Kivity
2011-10-17 11:31 ` Jan Kiszka
2011-10-17 11:31 ` [Qemu-devel] " Jan Kiszka
2011-10-17 12:17 ` Avi Kivity
2011-10-17 12:17 ` [Qemu-devel] " Avi Kivity
2011-10-17 15:37 ` Michael S. Tsirkin
2011-10-17 15:37 ` [Qemu-devel] " Michael S. Tsirkin
2011-10-17 19:19 ` Jan Kiszka
2011-10-17 19:19 ` [Qemu-devel] " Jan Kiszka
2011-10-18 12:17 ` Michael S. Tsirkin
2011-10-18 12:17 ` [Qemu-devel] " Michael S. Tsirkin
2011-10-18 12:26 ` Jan Kiszka
2011-10-18 12:26 ` [Qemu-devel] " Jan Kiszka
2011-10-17 15:43 ` Michael S. Tsirkin
2011-10-17 15:43 ` [Qemu-devel] " Michael S. Tsirkin
2011-10-17 19:23 ` Jan Kiszka
2011-10-17 19:23 ` [Qemu-devel] " Jan Kiszka
2011-10-17 9:27 ` [RFC][PATCH 13/45] hpet: Use msi_deliver Jan Kiszka
2011-10-17 9:27 ` [Qemu-devel] " Jan Kiszka
2011-10-17 9:27 ` [RFC][PATCH 14/45] qemu-kvm: Drop useless kvm_clear_gsi_routes Jan Kiszka
2011-10-17 9:27 ` [Qemu-devel] " Jan Kiszka
2011-10-17 9:27 ` [RFC][PATCH 15/45] qemu-kvm: Drop unused kvm_del_irq_route Jan Kiszka
2011-10-17 9:27 ` [Qemu-devel] " Jan Kiszka
2011-10-17 9:27 ` [RFC][PATCH 16/45] qemu-kvm: Use MSIMessage and MSIRoutingCache Jan Kiszka
2011-10-17 9:27 ` [Qemu-devel] " Jan Kiszka
2011-10-17 9:27 ` [RFC][PATCH 17/45] qemu-kvm: Track MSIRoutingCache in KVM routing table Jan Kiszka
2011-10-17 9:27 ` [Qemu-devel] " Jan Kiszka
2011-10-17 11:13 ` Avi Kivity
2011-10-17 11:13 ` [Qemu-devel] " Avi Kivity
2011-10-17 11:25 ` Jan Kiszka
2011-10-17 11:25 ` [Qemu-devel] " Jan Kiszka
2011-10-17 12:15 ` Avi Kivity
2011-10-17 12:15 ` [Qemu-devel] " Avi Kivity
2011-10-17 9:27 ` [RFC][PATCH 18/45] qemu-kvm: Hook into MSI delivery at APIC level Jan Kiszka
2011-10-17 9:27 ` [Qemu-devel] " Jan Kiszka
2011-10-17 9:27 ` [RFC][PATCH 19/45] qemu-kvm: Factor out kvm_msi_irqfd_set Jan Kiszka
2011-10-17 9:27 ` [Qemu-devel] " Jan Kiszka
2011-10-17 9:27 ` [RFC][PATCH 20/45] qemu-kvm: msix: Only invoke msix_handle_mask_update on changes Jan Kiszka
2011-10-17 9:27 ` [Qemu-devel] " Jan Kiszka
2011-10-17 9:27 ` [RFC][PATCH 21/45] qemu-kvm: msix: Don't fire notifier spuriously on set/unset Jan Kiszka
2011-10-17 9:27 ` [Qemu-devel] " Jan Kiszka
2011-10-17 9:27 ` [RFC][PATCH 22/45] qemu-kvm: msix: Fire mask notifier on global mask changes Jan Kiszka
2011-10-17 9:27 ` [Qemu-devel] " Jan Kiszka
2011-10-17 12:16 ` Michael S. Tsirkin
2011-10-17 12:16 ` [Qemu-devel] " Michael S. Tsirkin
2011-10-17 19:00 ` Jan Kiszka
2011-10-17 19:00 ` [Qemu-devel] " Jan Kiszka
2011-10-18 12:40 ` Michael S. Tsirkin
2011-10-18 12:40 ` [Qemu-devel] " Michael S. Tsirkin
2011-10-18 12:45 ` Jan Kiszka
2011-10-18 12:45 ` [Qemu-devel] " Jan Kiszka
2011-10-18 12:57 ` Michael S. Tsirkin
2011-10-18 12:57 ` [Qemu-devel] " Michael S. Tsirkin
2011-10-17 9:27 ` [RFC][PATCH 23/45] qemu-kvm: Rework MSI-X mask notifier to generic MSI config notifiers Jan Kiszka
2011-10-17 9:27 ` [Qemu-devel] " Jan Kiszka
2011-10-17 11:40 ` Michael S. Tsirkin
2011-10-17 11:40 ` [Qemu-devel] " Michael S. Tsirkin
2011-10-17 11:45 ` Jan Kiszka
2011-10-17 11:45 ` [Qemu-devel] " Jan Kiszka
2011-10-17 12:39 ` Michael S. Tsirkin
2011-10-17 12:39 ` [Qemu-devel] " Michael S. Tsirkin
2011-10-17 19:08 ` Jan Kiszka
2011-10-17 19:08 ` [Qemu-devel] " Jan Kiszka
2011-10-18 13:46 ` Michael S. Tsirkin
2011-10-18 13:46 ` [Qemu-devel] " Michael S. Tsirkin
2011-10-18 13:49 ` Jan Kiszka
2011-10-18 13:49 ` [Qemu-devel] " Jan Kiszka
2011-10-17 9:27 ` [RFC][PATCH 24/45] qemu-kvm: msix: Don't handle mask updated while disabled Jan Kiszka
2011-10-17 9:27 ` [Qemu-devel] " Jan Kiszka
2011-10-17 9:27 ` [RFC][PATCH 25/45] qemu-kvm: Update MSI cache on kvm_msi_irqfd_set Jan Kiszka
2011-10-17 9:27 ` [Qemu-devel] " Jan Kiszka
2011-10-17 9:28 ` [RFC][PATCH 26/45] qemu-kvm: Use g_realloc for irq_routes extension Jan Kiszka
2011-10-17 9:28 ` [Qemu-devel] " Jan Kiszka
2011-10-17 9:28 ` [RFC][PATCH 27/45] qemu-kvm: Lazily update MSI caches Jan Kiszka
2011-10-17 9:28 ` [Qemu-devel] " Jan Kiszka
2011-10-17 9:28 ` [RFC][PATCH 28/45] qemu-kvm: msix: Drop tracking of used vectors Jan Kiszka
2011-10-17 9:28 ` [Qemu-devel] " Jan Kiszka
2011-10-17 15:48 ` Michael S. Tsirkin
2011-10-17 15:48 ` [Qemu-devel] " Michael S. Tsirkin
2011-10-17 19:28 ` Jan Kiszka
2011-10-17 19:28 ` [Qemu-devel] " Jan Kiszka
2011-10-18 11:58 ` Michael S. Tsirkin
2011-10-18 11:58 ` [Qemu-devel] " Michael S. Tsirkin
2011-10-18 12:08 ` Jan Kiszka
2011-10-18 12:08 ` [Qemu-devel] " Jan Kiszka
2011-10-18 12:33 ` Michael S. Tsirkin
2011-10-18 12:33 ` [Qemu-devel] " Michael S. Tsirkin
2011-10-18 12:38 ` Jan Kiszka
2011-10-18 12:38 ` [Qemu-devel] " Jan Kiszka
2011-10-18 12:48 ` Michael S. Tsirkin
2011-10-18 12:48 ` [Qemu-devel] " Michael S. Tsirkin
2011-10-18 13:00 ` Jan Kiszka
2011-10-18 13:00 ` [Qemu-devel] " Jan Kiszka
2011-10-18 13:37 ` Michael S. Tsirkin
2011-10-18 13:37 ` [Qemu-devel] " Michael S. Tsirkin
2011-10-18 13:46 ` Jan Kiszka
2011-10-18 13:46 ` [Qemu-devel] " Jan Kiszka
2011-10-18 14:01 ` Michael S. Tsirkin
2011-10-18 14:01 ` [Qemu-devel] " Michael S. Tsirkin
2011-10-18 14:08 ` Jan Kiszka
2011-10-18 14:08 ` [Qemu-devel] " Jan Kiszka
2011-10-18 15:08 ` Michael S. Tsirkin
2011-10-18 15:08 ` [Qemu-devel] " Michael S. Tsirkin
2011-10-18 15:22 ` Jan Kiszka
2011-10-18 15:22 ` [Qemu-devel] " Jan Kiszka
2011-10-18 15:55 ` Jan Kiszka
2011-10-18 15:55 ` [Qemu-devel] " Jan Kiszka
2011-10-18 17:06 ` Michael S. Tsirkin
2011-10-18 17:06 ` [Qemu-devel] " Michael S. Tsirkin
2011-10-18 18:24 ` Jan Kiszka
2011-10-18 18:24 ` [Qemu-devel] " Jan Kiszka
2011-10-18 18:40 ` Michael S. Tsirkin
2011-10-18 18:40 ` [Qemu-devel] " Michael S. Tsirkin
2011-10-18 19:37 ` Jan Kiszka
2011-10-18 19:37 ` [Qemu-devel] " Jan Kiszka
2011-10-18 21:40 ` Michael S. Tsirkin
2011-10-18 21:40 ` [Qemu-devel] " Michael S. Tsirkin
2011-10-18 22:13 ` Jan Kiszka
2011-10-18 22:13 ` [Qemu-devel] " Jan Kiszka
2011-10-19 0:56 ` Michael S. Tsirkin
2011-10-19 0:56 ` [Qemu-devel] " Michael S. Tsirkin
2011-10-19 6:41 ` Jan Kiszka
2011-10-19 6:41 ` [Qemu-devel] " Jan Kiszka
2011-10-19 9:03 ` Michael S. Tsirkin
2011-10-19 9:03 ` [Qemu-devel] " Michael S. Tsirkin
2011-10-19 11:17 ` Jan Kiszka [this message]
2011-10-19 11:17 ` Jan Kiszka
2011-10-20 22:02 ` Michael S. Tsirkin
2011-10-20 22:02 ` [Qemu-devel] " Michael S. Tsirkin
2011-10-21 7:09 ` Jan Kiszka
2011-10-21 7:09 ` [Qemu-devel] " Jan Kiszka
2011-10-21 7:54 ` Michael S. Tsirkin
2011-10-21 7:54 ` [Qemu-devel] " Michael S. Tsirkin
2011-10-21 9:27 ` Jan Kiszka
2011-10-21 9:27 ` [Qemu-devel] " Jan Kiszka
2011-10-21 10:57 ` Michael S. Tsirkin
2011-10-21 10:57 ` [Qemu-devel] " Michael S. Tsirkin
2011-10-18 18:26 ` Jan Kiszka
2011-10-18 18:26 ` [Qemu-devel] " Jan Kiszka
2011-10-18 15:56 ` Michael S. Tsirkin
2011-10-18 15:56 ` [Qemu-devel] " Michael S. Tsirkin
2011-10-18 15:58 ` Jan Kiszka
2011-10-18 15:58 ` [Qemu-devel] " Jan Kiszka
2011-10-17 9:28 ` [RFC][PATCH 29/45] pci-assign: Drop kvm_assigned_irq::host_irq initialization Jan Kiszka
2011-10-17 9:28 ` [Qemu-devel] " Jan Kiszka
2011-10-17 9:28 ` [RFC][PATCH 30/45] pci-assign: Rename assign_irq to assign_intx Jan Kiszka
2011-10-17 9:28 ` [Qemu-devel] " Jan Kiszka
2011-10-17 9:28 ` [RFC][PATCH 31/45] qemu-kvm: Refactor kvm_deassign_irq to kvm_device_irq_deassign Jan Kiszka
2011-10-17 9:28 ` [Qemu-devel] " Jan Kiszka
2011-10-17 9:28 ` [RFC][PATCH 32/45] pci-assign: Factor out deassign_irq Jan Kiszka
2011-10-17 9:28 ` [Qemu-devel] " Jan Kiszka
2011-10-17 9:28 ` [RFC][PATCH 33/45] qemu-kvm: Factor out kvm_device_intx_assign Jan Kiszka
2011-10-17 9:28 ` [Qemu-devel] " Jan Kiszka
2011-10-17 9:28 ` [RFC][PATCH 34/45] qemu-kvm: Factor out kvm_device_msi_assign Jan Kiszka
2011-10-17 9:28 ` [Qemu-devel] " Jan Kiszka
2011-10-17 9:28 ` [RFC][PATCH 35/45] pci-assign: Polish assigned_dev_update_msix_mmio Jan Kiszka
2011-10-17 9:28 ` [Qemu-devel] " Jan Kiszka
2011-10-17 9:28 ` [RFC][PATCH 36/45] qemu-kvm: Factor out kvm_device_msix_* services Jan Kiszka
2011-10-17 9:28 ` [Qemu-devel] " Jan Kiszka
2011-10-17 9:28 ` [RFC][PATCH 37/45] qemu-kvm: Clean up irqrouting API Jan Kiszka
2011-10-17 9:28 ` [Qemu-devel] " Jan Kiszka
2011-10-17 9:28 ` [RFC][PATCH 38/45] msi: Implement config notifiers for legacy MSI Jan Kiszka
2011-10-17 9:28 ` [Qemu-devel] " Jan Kiszka
2011-10-17 9:28 ` [RFC][PATCH 39/45] pci-assign: Use generic MSI support Jan Kiszka
2011-10-17 9:28 ` [Qemu-devel] " Jan Kiszka
2011-10-17 9:28 ` [RFC][PATCH 40/45] qemu-kvm: msix: Drop check for preexisting cap from msix_add_config Jan Kiszka
2011-10-17 9:28 ` [Qemu-devel] " Jan Kiszka
2011-10-17 9:28 ` [RFC][PATCH 41/45] msix: Drop unused msix_bar_size Jan Kiszka
2011-10-17 9:28 ` [Qemu-devel] " Jan Kiszka
2011-10-17 9:28 ` [RFC][PATCH 42/45] msix: Introduce msix_init_simple Jan Kiszka
2011-10-17 9:28 ` [Qemu-devel] " Jan Kiszka
2011-10-17 11:22 ` Michael S. Tsirkin
2011-10-17 11:22 ` [Qemu-devel] " Michael S. Tsirkin
2011-10-17 11:27 ` Jan Kiszka
2011-10-17 11:27 ` [Qemu-devel] " Jan Kiszka
2011-10-17 14:28 ` Michael S. Tsirkin
2011-10-17 14:28 ` [Qemu-devel] " Michael S. Tsirkin
2011-10-17 19:21 ` Jan Kiszka
2011-10-17 19:21 ` [Qemu-devel] " Jan Kiszka
2011-10-18 10:52 ` Michael S. Tsirkin
2011-10-18 10:52 ` [Qemu-devel] " Michael S. Tsirkin
2011-10-18 11:02 ` Jan Kiszka
2011-10-18 11:02 ` [Qemu-devel] " Jan Kiszka
2011-10-17 9:28 ` [RFC][PATCH 43/45] msix: Allow to customize capability on init Jan Kiszka
2011-10-17 9:28 ` [Qemu-devel] " Jan Kiszka
2011-10-17 9:28 ` [RFC][PATCH 44/45] pci-assign: Use generic MSI-X support Jan Kiszka
2011-10-17 9:28 ` [Qemu-devel] " Jan Kiszka
2011-10-17 9:28 ` [RFC][PATCH 45/45] pci-assign: Fix coding style issues Jan Kiszka
2011-10-17 9:28 ` [Qemu-devel] " Jan Kiszka
2011-10-17 12:18 ` [RFC][PATCH 00/45] qemu-kvm: MSI layer rework for in-kernel irqchip support Avi Kivity
2011-10-17 12:18 ` [Qemu-devel] " Avi Kivity
2011-10-17 15:57 ` Michael S. Tsirkin
2011-10-17 15:57 ` [Qemu-devel] " Michael S. Tsirkin
2011-10-17 19:35 ` Jan Kiszka
2011-10-17 19:35 ` [Qemu-devel] " 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=4E9EB1AF.7090406@siemens.com \
--to=jan.kiszka@siemens.com \
--cc=alex.williamson@redhat.com \
--cc=avi@redhat.com \
--cc=kvm@vger.kernel.org \
--cc=mst@redhat.com \
--cc=mtosatti@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.