[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20241126102515.3178914-1-hca@linux.ibm.com>
Date: Tue, 26 Nov 2024 11:25:12 +0100
From: Heiko Carstens <hca@...ux.ibm.com>
To: Christian Borntraeger <borntraeger@...ux.ibm.com>,
Janosch Frank <frankja@...ux.ibm.com>,
Claudio Imbrenda <imbrenda@...ux.ibm.com>,
David Hildenbrand <david@...hat.com>
Cc: kvm@...r.kernel.org, linux-s390@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: [PATCH v2 0/3] KVM: s390: Couple of small cmpxchg() optimizations
v2:
- Replace broken WRITE_ONCE(..., 9) with intended WRITE_ONCE(..., 0).
v1:
Use try_cmpxchg() instead of cmpxchg() so compilers with flag output
operand support (gcc 14 and newer) can generate slightly better code.
Also get rid of two cmpxchg() usages on one/two byte memory areas
which generates inefficient code.
bloat-o-meter statistics of the kvm module:
add/remove: 0/0 grow/shrink: 0/11 up/down: 0/-318 (-318)
Function old new delta
kvm_s390_handle_wait 886 880 -6
kvm_s390_gisa_destroy 226 220 -6
kvm_s390_gisa_clear 96 90 -6
ipte_unlock 380 372 -8
kvm_s390_gisc_unregister 270 260 -10
kvm_s390_gisc_register 290 280 -10
gisa_vcpu_kicker 200 190 -10
account_mem 250 232 -18
ipte_lock 416 368 -48
kvm_s390_update_topology_change_report 174 122 -52
kvm_s390_clear_local_irqs 420 276 -144
Total: Before=316521, After=316203, chg -0.10%
Heiko Carstens (3):
KVM: s390: Use try_cmpxchg() instead of cmpxchg() loops
KVM: s390: Remove one byte cmpxchg() usage
KVM: s390: Increase size of union sca_utility to four bytes
arch/s390/include/asm/kvm_host.h | 10 +++++-----
arch/s390/kvm/gaccess.c | 16 ++++++++--------
arch/s390/kvm/interrupt.c | 25 ++++++++-----------------
arch/s390/kvm/kvm-s390.c | 4 ++--
arch/s390/kvm/pci.c | 5 ++---
5 files changed, 25 insertions(+), 35 deletions(-)
--
2.45.2
Powered by blists - more mailing lists