Thread (11 messages) 11 messages, 3 authors, 2015-01-05

Re: [RFC PATCH 0/3] Sharing MSIX irq for tx/rx queue pairs

From: "Michael S. Tsirkin" <mst@redhat.com>
Date: 2015-01-04 11:36:20
Also in: lkml

On Sun, Jan 04, 2015 at 04:38:17PM +0800, Jason Wang wrote:
On 12/28/2014 03:52 PM, Michael S. Tsirkin wrote:
quoted
On Fri, Dec 26, 2014 at 10:53:42AM +0800, Jason Wang wrote:
quoted
Hi all:

This series try to share MSIX irq for each tx/rx queue pair. This is
done through:

- introducing virtio pci channel which are group of virtqueues that
  sharing a single MSIX irq (Patch 1)
- expose channel setting to virtio core api (Patch 2)
- try to use channel setting in virtio-net (Patch 3)

For the transport that does not support channel, channel paramters
were simply ignored. For devices that does not use channel, it can
simply pass NULL or zero to virito core.

With the patch, 1 MSIX irq were saved for each TX/RX queue pair.

Please review.
How does this sharing affect performance?
Patch 3 only checks more_used() for tx ring which in fact reduces the
effect of event index and may introduce more tx interrupts. After fixing
this issue, tested with 1 vcpu and 1 queue. No obvious changes in
performance were noticed.

Thanks
Is this with or without MQ?
With MQ, it seems easy to believe as interrupts are
distributed between CPUs.

Without MQ, it should be possible to create UDP workloads where
processing incoming and outgoing interrupts
on separate CPUs is a win.

-- 
MST
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help