Message ID | 20241126102515.3178914-1-hca@linux.ibm.com (mailing list archive) |
---|---|
Headers | show |
Series | KVM: s390: Couple of small cmpxchg() optimizations | expand |
On Tue, 26 Nov 2024 11:25:12 +0100 Heiko Carstens <hca@linux.ibm.com> wrote: looks good, and it's a follow-up of your cmpxchg series, so I think it should go through the s390 kernel tree (but please try to add the comment in patch 3) > 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(-) >
On 11/26/24 11:25 AM, Heiko Carstens wrote: > 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: > Looks good to me, Ack to the series.