From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:52392) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VJzP7-0008AW-Qt for qemu-devel@nongnu.org; Thu, 12 Sep 2013 01:25:30 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VJzOz-0007fq-DD for qemu-devel@nongnu.org; Thu, 12 Sep 2013 01:25:21 -0400 Received: from mail-pa0-x231.google.com ([2607:f8b0:400e:c03::231]:61835) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VJzOz-0007fm-4Z for qemu-devel@nongnu.org; Thu, 12 Sep 2013 01:25:13 -0400 Received: by mail-pa0-f49.google.com with SMTP id ld10so608060pab.8 for ; Wed, 11 Sep 2013 22:25:12 -0700 (PDT) From: Liu Ping Fan Date: Thu, 12 Sep 2013 13:24:48 +0800 Message-Id: <1378963493-559-1-git-send-email-pingfank@linux.vnet.ibm.com> Subject: [Qemu-devel] [RFC 0/5] run hpet on a dedicated thread List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Paolo Bonzini , Stefan Hajnoczi , Anthony Liguori , Jan Kiszka 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