[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 04/38] s390/sclp: cache the sclp device
From: |
Cornelia Huck |
Subject: |
[Qemu-devel] [PULL 04/38] s390/sclp: cache the sclp device |
Date: |
Tue, 6 Sep 2016 09:46:36 +0200 |
From: Christian Borntraeger <address@hidden>
With the current code a simple sclp command takes about 13000 ns
The biggest part seems to be the resolver of the object model. By
caching the sclp device the time for an sclp command goes down to
2500ns. Talking about real life scenarios, this change doubles
the speed of the sclp console when sending single bytes outputs
to /dev/console.
Signed-off-by: Christian Borntraeger <address@hidden>
Reviewed-by: Cornelia Huck <address@hidden>
Signed-off-by: Cornelia Huck <address@hidden>
---
hw/s390x/sclp.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/hw/s390x/sclp.c b/hw/s390x/sclp.c
index fca37f5..540226c 100644
--- a/hw/s390x/sclp.c
+++ b/hw/s390x/sclp.c
@@ -26,7 +26,12 @@
static inline SCLPDevice *get_sclp_device(void)
{
- return SCLP(object_resolve_path_type("", TYPE_SCLP, NULL));
+ static SCLPDevice *sclp;
+
+ if (!sclp) {
+ sclp = SCLP(object_resolve_path_type("", TYPE_SCLP, NULL));
+ }
+ return sclp;
}
/* Provide information about the configuration, CPUs and storage */
--
2.9.3
- [Qemu-devel] [PULL 19/38] s390x/cpumodel: expose features and feature groups as properties, (continued)
- [Qemu-devel] [PULL 19/38] s390x/cpumodel: expose features and feature groups as properties, Cornelia Huck, 2016/09/06
- [Qemu-devel] [PULL 08/38] linux-headers: update, Cornelia Huck, 2016/09/06
- [Qemu-devel] [PULL 12/38] s390x/cpumodel: expose CPU class properties, Cornelia Huck, 2016/09/06
- [Qemu-devel] [PULL 05/38] s390x: wrap flic savevm calls into vmstate, Cornelia Huck, 2016/09/06
- [Qemu-devel] [PULL 11/38] s390x/cpumodel: "host" and "qemu" as CPU subclasses, Cornelia Huck, 2016/09/06
- [Qemu-devel] [PULL 09/38] s390x/kvm: 2 byte software breakpoint support, Cornelia Huck, 2016/09/06
- [Qemu-devel] [PULL 06/38] s390x/ioinst: advertise fcs facility, Cornelia Huck, 2016/09/06
- [Qemu-devel] [PULL 14/38] s390x/cpumodel: generate CPU feature lists for CPU models, Cornelia Huck, 2016/09/06
- [Qemu-devel] [PULL 07/38] s390x/css: handle cssid 255 correctly, Cornelia Huck, 2016/09/06
- [Qemu-devel] [PULL 13/38] s390x/cpumodel: introduce CPU features, Cornelia Huck, 2016/09/06
- [Qemu-devel] [PULL 04/38] s390/sclp: cache the sclp device,
Cornelia Huck <=
- [Qemu-devel] [PULL 15/38] s390x/cpumodel: generate CPU feature group lists, Cornelia Huck, 2016/09/06
- [Qemu-devel] [PULL 10/38] qmp: details about CPU definitions in query-cpu-definitions, Cornelia Huck, 2016/09/06
- [Qemu-devel] [PULL 03/38] s390x/pci: assert zpci always existing, Cornelia Huck, 2016/09/06
- [Qemu-devel] [PULL 17/38] s390x/cpumodel: register defined CPU models as subclasses, Cornelia Huck, 2016/09/06
- [Qemu-devel] [PULL 27/38] s390x/sclp: propagate hmfai, Cornelia Huck, 2016/09/06
- [Qemu-devel] [PULL 21/38] s390x/cpumodel: check and apply the CPU model, Cornelia Huck, 2016/09/06
- [Qemu-devel] [PULL 29/38] s390x/kvm: implement CPU model support, Cornelia Huck, 2016/09/06
- [Qemu-devel] [PULL 28/38] s390x/kvm: allow runtime-instrumentation for "none" machine, Cornelia Huck, 2016/09/06
- [Qemu-devel] [PULL 32/38] s390x/kvm: don't enable key wrapping if msa3 is disabled, Cornelia Huck, 2016/09/06
- [Qemu-devel] [PULL 23/38] s390x/sclp: introduce sclp feature blocks, Cornelia Huck, 2016/09/06