[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 08/23] s390x/kvm: make setting of in-kernel irq route
From: |
Cornelia Huck |
Subject: |
[Qemu-devel] [PULL 08/23] s390x/kvm: make setting of in-kernel irq routes more efficient |
Date: |
Mon, 7 Sep 2015 16:48:22 +0200 |
From: Jens Freimann <address@hidden>
When we add new adapter routes we call kvm_irqchip_add_route() for every
virtqueue and in the same step also do the KVM_SET_GSI_ROUTING ioctl.
This is unnecessary costly as the interface allows us to set multiple
routes in one go. Let's first add all routes to the table stored in the
global kvm_state and then do the ioctl to commit the routes to the
in-kernel irqchip.
This saves us several ioctls to the kernel where for each call a list
is reallocated and populated.
Signed-off-by: Jens Freimann <address@hidden>
Reviewed-by: David Hildenbrand <address@hidden>
Acked-by: Paolo Bonzini <address@hidden>
Signed-off-by: Cornelia Huck <address@hidden>
---
hw/intc/s390_flic_kvm.c | 2 ++
kvm-all.c | 1 -
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/hw/intc/s390_flic_kvm.c b/hw/intc/s390_flic_kvm.c
index b471e7a..48714f9 100644
--- a/hw/intc/s390_flic_kvm.c
+++ b/hw/intc/s390_flic_kvm.c
@@ -228,6 +228,8 @@ static int kvm_s390_add_adapter_routes(S390FLICState *fs,
routes->gsi[i] = ret;
routes->adapter.ind_offset++;
}
+ kvm_irqchip_commit_routes(kvm_state);
+
/* Restore passed-in structure to original state. */
routes->adapter.ind_offset = ind_offset;
return 0;
diff --git a/kvm-all.c b/kvm-all.c
index 06e06f2..c6f5128 100644
--- a/kvm-all.c
+++ b/kvm-all.c
@@ -1293,7 +1293,6 @@ int kvm_irqchip_add_adapter_route(KVMState *s,
AdapterInfo *adapter)
kroute.u.adapter.adapter_id = adapter->adapter_id;
kvm_add_routing_entry(s, &kroute);
- kvm_irqchip_commit_routes(s);
return virq;
}
--
2.5.1
- [Qemu-devel] [PULL 10/23] sclp/s390: rework sclp cpu hotplug device notification, (continued)
- [Qemu-devel] [PULL 10/23] sclp/s390: rework sclp cpu hotplug device notification, Cornelia Huck, 2015/09/07
- [Qemu-devel] [PULL 02/23] s390x/css: ccw-0 enforces count > 0, Cornelia Huck, 2015/09/07
- [Qemu-devel] [PULL 03/23] s390x/event-facility: fix receive mask check, Cornelia Huck, 2015/09/07
- [Qemu-devel] [PULL 05/23] s390x/event-facility: fix location of receive mask, Cornelia Huck, 2015/09/07
- [Qemu-devel] [PULL 06/23] pc-bios/s390-ccw: Device detection in higher subchannel sets, Cornelia Huck, 2015/09/07
- [Qemu-devel] [PULL 07/23] pc-bios/s390-ccw: rebuild image, Cornelia Huck, 2015/09/07
- [Qemu-devel] [PULL 11/23] s390/sclp: rework sclp event facility initialization + device realization, Cornelia Huck, 2015/09/07
- [Qemu-devel] [PULL 12/23] s390/sclp: replace sclp event types with proper defines, Cornelia Huck, 2015/09/07
- [Qemu-devel] [PULL 04/23] s390x/css: start with cleared cstat/dstat, Cornelia Huck, 2015/09/07
- [Qemu-devel] [PULL 18/23] s390: disallow memory hotplug for the s390-virtio machine, Cornelia Huck, 2015/09/07
- [Qemu-devel] [PULL 08/23] s390x/kvm: make setting of in-kernel irq routes more efficient,
Cornelia Huck <=
- [Qemu-devel] [PULL 16/23] s390/sclp: move sclp_service_interrupt into the sclp device, Cornelia Huck, 2015/09/07
- [Qemu-devel] [PULL 14/23] s390/sclp: introduce a root sclp device, Cornelia Huck, 2015/09/07
- [Qemu-devel] [PULL 21/23] s390: unify allocation of initial memory, Cornelia Huck, 2015/09/07
- [Qemu-devel] [PULL 19/23] s390/sclp: ignore memory hotplug operations if it is disabled, Cornelia Huck, 2015/09/07
- [Qemu-devel] [PULL 15/23] s390/sclp: move sclp_execute related functions into the SCLP class, Cornelia Huck, 2015/09/07
- [Qemu-devel] [PULL 20/23] s390: move memory calculation into the sclp device, Cornelia Huck, 2015/09/07
- [Qemu-devel] [PULL 09/23] s390x/gdb: support reading/writing of control registers, Cornelia Huck, 2015/09/07
- [Qemu-devel] [PULL 13/23] s390/sclp: temporarily fix unassignment/reassignment of memory subregions, Cornelia Huck, 2015/09/07
- [Qemu-devel] [PULL 22/23] s390/sclp: store the increment_size in the sclp device, Cornelia Huck, 2015/09/07
- [Qemu-devel] [PULL 17/23] s390: no need to manually parse for slots and maxmem, Cornelia Huck, 2015/09/07