Re: assign-dev: Purpose of interrupt_work

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 10/12/2009 11:25 AM, Jan Kiszka wrote:
Or what is the
alternative?

irqfd (which only supports edge-triggered interrupts now).  Note irqfd
needs the same love, it uses a workqueue as well.

The theory is:
  fd1 = eventfd()
  give fd1 to kvm as irqfd, vhost-net as trigger fd
  fd2 = eventfd()
  give fd2 to kvm as irqfd, uio as trigger fd
  fd3 = evenfd()
  give fd3 to kvm as irqfd, another kvm as ioeventfd

One interface, multiple users (in the kernel, userspace, or other
processes)
I see to overall gain, but likely only worsens my objective (low
latency), at least it doesn't improve it.

irqfd can work from interrupt context, so if we only use the workqueue for the many-vcpu cases, we should be fine.

I think we can do it cleanly, too: in ioapic code, if we're talking to one vcpu, wake it immediately; otherwise schedule work to continue in process context. This was the common code can always work in interrupt context and not worry about the work queue.

--
error compiling committee.c: too many arguments to function

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux