Nowadays, we run hpet on iothread. But there are so many undetermined jobs
on iothread. It will heavily affect the accuracy of hpet's timing.
When running on a dedicated thread, the accuracy of timing is only determined
by scheduler. which is more fixed.

This series depend on the thread-safe patches for timers. 
And it is just for discussion. And code is premature.


Liu Ping Fan (5):
  irq: introduce route method in IRQState to get gsi
  irq: implement route method of ioapic
  irqfd: equip irqfd with polarity
  hpet: deliver irq by irqfd when in dedicated thread mode
  hpet: run on dedicate thread

 hw/core/irq.c             | 39 ++++++++++++++++++++++
 hw/core/qdev.c            |  8 +++++
 hw/i386/kvm/i8259.c       |  8 ++++-
 hw/i386/kvm/ioapic.c      | 21 +++++++++++-
 hw/i386/pc_q35.c          |  4 +--
 hw/misc/vfio.c            |  4 +--
 hw/timer/hpet.c           | 85 ++++++++++++++++++++++++++++++++++++++++++++---
 hw/virtio/virtio-pci.c    |  2 +-
 include/hw/irq.h          |  5 +++
 include/hw/qdev-core.h    |  2 ++
 include/sysemu/kvm.h      |  4 ++-
 kvm-all.c                 | 14 ++++----
 linux-headers/linux/kvm.h |  3 ++
 13 files changed, 180 insertions(+), 19 deletions(-)

-- 
1.8.1.4


Reply via email to