Eric Auger
2014-Nov-05 08:43 UTC
[Qemu-devel] [RFC PATCH 0/2] virtio-mmio: add irqfd support for vhost-net based on virtio-mmio
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 at huawei.com> 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? Thank you in advance Best Regards Eric> > Li. >> . >> > >
Shannon Zhao
2014-Nov-06 01:59 UTC
[Qemu-devel] [RFC PATCH 0/2] virtio-mmio: add irqfd support for vhost-net based on virtio-mmio
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 at huawei.com> 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> Thank you in advance > > Best Regards > > Eric > > >> >> Li. >>> . >>>
Li Liu
2014-Nov-06 09:24 UTC
[Qemu-devel] [RFC PATCH 0/2] virtio-mmio: add irqfd support for vhost-net based on virtio-mmio
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 at huawei.com> 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. >>>> . >>>> > > > . >
Apparently Analagous Threads
- [Qemu-devel] [RFC PATCH 0/2] virtio-mmio: add irqfd support for vhost-net based on virtio-mmio
- [Qemu-devel] [RFC PATCH 0/2] virtio-mmio: add irqfd support for vhost-net based on virtio-mmio
- [Qemu-devel] [RFC PATCH 0/2] virtio-mmio: add irqfd support for vhost-net based on virtio-mmio
- [Qemu-devel] [RFC PATCH 0/2] virtio-mmio: add irqfd support for vhost-net based on virtio-mmio
- [RFC PATCH 0/2] virtio-mmio: add irqfd support for vhost-net based on virtio-mmio