From: Niklas Schnelle <schnelle@linux.ibm.com>
To: Nico Boehr <nrb@linux.ibm.com>,
borntraeger@linux.ibm.com, frankja@linux.ibm.com,
imbrenda@linux.ibm.com, david@redhat.com
Cc: kvm@vger.kernel.org, linux-s390@vger.kernel.org
Subject: Re: [PATCH v3 0/2] KVM: s390: add counters for vsie performance
Date: Tue, 05 Sep 2023 09:53:40 +0200 [thread overview]
Message-ID: <a41f6fc29032d345b3c2f24e19f32282dd627e5c.camel@linux.ibm.com> (raw)
In-Reply-To: <20230904130140.22006-1-nrb@linux.ibm.com>
On Mon, 2023-09-04 at 15:01 +0200, Nico Boehr wrote:
> v3:
> ---
> * rename te -> entry (David)
> * add counters for gmap reuse and gmap create (David)
>
> v2:
> ---
> * also count shadowing of pages (Janosch)
> * fix naming of counters (Janosch)
> * mention shadowing of multiple levels is counted in each level (Claudio)
> * fix inaccuate commit description regarding gmap notifier (Claudio)
>
> When running a guest-3 via VSIE, guest-1 needs to shadow the page table
> structures of guest-2.
>
> To reflect changes of the guest-2 in the _shadowed_ page table structures,
> the _shadowing_ sturctures sometimes need to be rebuilt. Since this is a
> costly operation, it should be avoided whenever possible.
>
> This series adds kvm stat counters to count the number of shadow gmaps
> created and a tracepoint whenever something is unshadowed. This is a first
> step to try and improve VSIE performance.
>
> Please note that "KVM: s390: add tracepoint in gmap notifier" has some
> checkpatch --strict findings. I did not fix these since the tracepoint
> definition would then look completely different from all the other
> tracepoints in arch/s390/kvm/trace-s390.h. If you want me to fix that,
> please let me know.
>
> While developing this, a question regarding the stat counters came up:
> there's usually no locking involved when the stat counters are incremented.
> On s390, GCC accidentally seems to do the right thing(TM) most of the time
> by generating a agsi instruction (which should be atomic given proper
> alignment). However, it's not guaranteed, so would we rather want to go
> with an atomic for the stat counters to avoid losing events? Or do we just
> accept the fact that we might loose events sometimes? Is there anything
> that speaks against having an atomic in kvm_stat?
>
FWIW the PCI counters (/sys/kernel/debug/pci/<dev>/statistics) use
atomic64_add(). Also, s390's memory model is strong enough that these
are actually just normal loads/stores/adds (see
arch/s390/include/asm/atomic_ops.h) with the generic atomic64_xx()
adding debug instrumentation.
next prev parent reply other threads:[~2023-09-05 16:26 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-09-04 13:01 [PATCH v3 0/2] KVM: s390: add counters for vsie performance Nico Boehr
2023-09-04 13:01 ` [PATCH v3 1/2] KVM: s390: add stat counter for shadow gmap events Nico Boehr
2023-09-06 7:35 ` David Hildenbrand
2023-09-04 13:01 ` [PATCH v3 2/2] KVM: s390: add tracepoint in gmap notifier Nico Boehr
2023-09-05 7:53 ` Niklas Schnelle [this message]
2023-09-05 8:33 ` [PATCH v3 0/2] KVM: s390: add counters for vsie performance Nico Boehr
2023-09-06 7:37 ` David Hildenbrand
2023-09-07 8:50 ` Nico Boehr
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=a41f6fc29032d345b3c2f24e19f32282dd627e5c.camel@linux.ibm.com \
--to=schnelle@linux.ibm.com \
--cc=borntraeger@linux.ibm.com \
--cc=david@redhat.com \
--cc=frankja@linux.ibm.com \
--cc=imbrenda@linux.ibm.com \
--cc=kvm@vger.kernel.org \
--cc=linux-s390@vger.kernel.org \
--cc=nrb@linux.ibm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox