Re: [Qemu-devel] [RFC PATCH 0/2] virtio-mmio: add irqfd support for vhost-net based on virtio-mmio

From: Li Liu
Date: Thu Nov 06 2014 - 04:26:26 EST




On 2014/11/6 9:59, Shannon Zhao wrote:
>
>
> On 2014/11/5 16:43, Eric Auger wrote:
>> On 10/27/2014 12:23 PM, Li Liu wrote:
>>>
>>>
>>> On 2014/10/27 17:37, Peter Maydell wrote:
>>>> On 25 October 2014 09:24, john.liuli <john.liuli@xxxxxxxxxx> wrote:
>>>>> To get the interrupt reason to support such VIRTIO_NET_F_STATUS
>>>>> features I add a new register offset VIRTIO_MMIO_ISRMEM which
>>>>> will help to establish a shared memory region between qemu and
>>>>> virtio-mmio device. Then the interrupt reason can be accessed by
>>>>> guest driver through this region. At the same time, the virtio-mmio
>>>>> dirver check this region to see irqfd is supported or not during
>>>>> the irq handler registration, and different handler will be assigned.
>>>>
>>>> If you want to add a new register you should probably propose
>>>> an update to the virtio spec. However, it seems to me it would
>>>> be better to get generic PCI/PCIe working on the ARM virt
>>>> board instead; then we can let virtio-mmio quietly fade away.
>>>> This has been on the todo list for ages (and there have been
>>>> RFC patches posted for plain PCI), it's just nobody's had time
>>>> to work on it.
>>>>
>>>> thanks
>>>> -- PMM
>>>>
>>>
>>> So you mean virtio-mmio will be replaced by PCI/PCIe on ARM at last?
>>> If so, let this patch go with the wind:). Thx.
>>
>> Hi,
>>
>> As a fix of current situation where ISR is only partially updated when
>> vhost-irqfd handles standard IRQ and waiting for PCI emuluation,
>> wouldn't it make sense to store ISR content on vhost driver side and
>> introduce ioctls to read/write it. When using vhost BE, virtio QEMU
>> device would use those ioctl to read/update the ISR content. On top of
>> that we would update the ISR in vhost before triggering the irqfd. If I
>> do not miss anything this would at least make things functional with irqfd.
>>
>> As a second step, we could try to introduce in-kernel emulation of
>> ISR/ACK to fix the performance issue related to going to user-side each
>> time ISR/ACK accesses are done.
>>
>> Do you think it is worth investigating this direction?
>>
> Hi,
>
> About this problem I have a talk with Li Liu. As MST said, we could use
> multiple GSI to support vhost-net with irqfd. And we have figured out a way
> to solve this problem. The method is as same as virtio-pci which is to assign
> multiple irqs for virtio-mmio. Also it can support multiqueue virtio-net on arm.
>
> Would you have a look at this method? Thank you very much.
>
> - virtio-mmio: support for multiple irqs
> http://www.spinics.net/lists/kernel/msg1858860.html
>
> Thanks,
> Shannon
>

Yeah, I think multiple GSI is more compatible with MSI-X. And even virtio-mmio
will fade away at last. It still make senses for ARM32 which can't support PCI/PCIe.

BTW, this patch is handed over to Shannon and please refer to new patch at
http://www.spinics.net/lists/kernel/msg1858860.html.

Li.

>> Thank you in advance
>>
>> Best Regards
>>
>> Eric
>>
>>
>>>
>>> Li.
>>>> .
>>>>
>
>
> .
>

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/