kvm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Christian Borntraeger <borntraeger@de.ibm.com>
To: Paolo Bonzini <pbonzini@redhat.com>,
	Jing Zhang <jingzhangos@google.com>, KVM <kvm@vger.kernel.org>,
	KVMARM <kvmarm@lists.cs.columbia.edu>,
	LinuxMIPS <linux-mips@vger.kernel.org>,
	KVMPPC <kvm-ppc@vger.kernel.org>,
	LinuxS390 <linux-s390@vger.kernel.org>,
	Linuxkselftest <linux-kselftest@vger.kernel.org>,
	Marc Zyngier <maz@kernel.org>, James Morse <james.morse@arm.com>,
	Julien Thierry <julien.thierry.kdev@gmail.com>,
	Suzuki K Poulose <suzuki.poulose@arm.com>,
	Will Deacon <will@kernel.org>,
	Huacai Chen <chenhuacai@kernel.org>,
	Aleksandar Markovic <aleksandar.qemu.devel@gmail.com>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	Paul Mackerras <paulus@ozlabs.org>,
	Janosch Frank <frankja@linux.ibm.com>,
	David Hildenbrand <david@redhat.com>,
	Cornelia Huck <cohuck@redhat.com>,
	Claudio Imbrenda <imbrenda@linux.ibm.com>,
	Sean Christopherson <seanjc@google.com>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Jim Mattson <jmattson@google.com>,
	Peter Shier <pshier@google.com>, Oliver Upton <oupton@google.com>,
	David Rientjes <rientjes@google.com>,
	Emanuele Giuseppe Esposito <eesposit@redhat.com>,
	David Matlack <dmatlack@google.com>,
	Ricardo Koller <ricarkol@google.com>,
	Krish Sadhukhan <krish.sadhukhan@oracle.com>
Subject: Re: [PATCH v7 1/4] KVM: stats: Separate generic stats from architecture specific ones
Date: Fri, 11 Jun 2021 14:08:52 +0200	[thread overview]
Message-ID: <050e9d8e-278d-278c-13f7-ea0b39d13fbe@de.ibm.com> (raw)
In-Reply-To: <c5199e63-762d-a731-7ef2-c2af3a8cb0c3@redhat.com>



On 11.06.21 14:03, Paolo Bonzini wrote:
> On 11/06/21 14:00, Christian Borntraeger wrote:
>> What is the semantics of remote_tlb_flush?
> 
> I always interpreted it as "number of times the KVM page table management code needed other CPUs to learn about new page tables". Whether the broadcast is done in software or hardware shouldn't matter; either way I suppose there is still some traffic on the bus involved.


My point is that KVM page table management on s390x completely piggy-backs on the qemu address space page table management from common code for the last level.
And due to the way we handle page tables we also do not teach "other CPUs". We always teach the whole system with things like IPTE.

> 
> ARM is also not updating the stat, I'll send a patch for that.
> 
> Paolo
> 
>> For the host:
>> We usually do not do remote TLB flushes in the "IPI with a flush executed on the remote CPU" sense.
>> We do have instructions that invalidates table entries and it will take care of remote TLBs as well (IPTE and IDTE and CRDTE).
>> This is nice, but on the other side an operating system MUST use these instruction if the page table might be in use by any CPU. If not, you can get a delayed access exception machine check if the hardware detect a TLB/page table incosistency.
>> Only if you can guarantee that nobody has this page table attached you can also use a normal store + tlb flush instruction.
>>
>> For the guest (and I guess thats what we care about here?) TLB flushes are almost completely handled by hardware. There is only the set prefix instruction that is handled by KVM and this flushes the cpu local cache.
> 

  reply	other threads:[~2021-06-11 12:09 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-03 21:14 [PATCH v7 0/4] KVM statistics data fd-based binary interface Jing Zhang
2021-06-03 21:14 ` [PATCH v7 1/4] KVM: stats: Separate generic stats from architecture specific ones Jing Zhang
2021-06-07 19:22   ` Krish Sadhukhan
2021-06-11  6:57   ` Christian Borntraeger
2021-06-11 10:51     ` Paolo Bonzini
2021-06-11 12:00       ` Christian Borntraeger
2021-06-11 12:03         ` Paolo Bonzini
2021-06-11 12:08           ` Christian Borntraeger [this message]
2021-06-11 12:14             ` Paolo Bonzini
2021-06-03 21:14 ` [PATCH v7 2/4] KVM: stats: Add fd-based API to read binary stats data Jing Zhang
2021-06-07 19:22   ` Krish Sadhukhan
2021-06-07 22:10     ` Jing Zhang
2021-06-10 16:23   ` Paolo Bonzini
2021-06-10 17:26     ` Jing Zhang
2021-06-10 22:47     ` Jing Zhang
2021-06-11 10:32       ` Paolo Bonzini
2021-06-10 16:42   ` Paolo Bonzini
2021-06-10 17:27     ` Jing Zhang
2021-06-13 15:19   ` Fuad Tabba
2021-06-13 16:42     ` Jing Zhang
2021-06-03 21:14 ` [PATCH v7 3/4] KVM: stats: Add documentation for statistics data binary interface Jing Zhang
2021-06-07 19:22   ` Krish Sadhukhan
2021-06-07 22:09     ` Jing Zhang
2021-06-14  7:56   ` Fuad Tabba
2021-06-14 13:19     ` Jing Zhang
2021-06-03 21:14 ` [PATCH v7 4/4] KVM: selftests: Add selftest for KVM " Jing Zhang
2021-06-07 19:23   ` Krish Sadhukhan
2021-06-07 22:12     ` Jing Zhang
2021-06-10 16:46 ` [PATCH v7 0/4] KVM statistics data fd-based " Paolo Bonzini
2021-06-10 17:30   ` Jing Zhang
2021-06-11  6:57 ` Christian Borntraeger
2021-06-11 11:02   ` Paolo Bonzini

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=050e9d8e-278d-278c-13f7-ea0b39d13fbe@de.ibm.com \
    --to=borntraeger@de.ibm.com \
    --cc=aleksandar.qemu.devel@gmail.com \
    --cc=chenhuacai@kernel.org \
    --cc=cohuck@redhat.com \
    --cc=david@redhat.com \
    --cc=dmatlack@google.com \
    --cc=eesposit@redhat.com \
    --cc=frankja@linux.ibm.com \
    --cc=imbrenda@linux.ibm.com \
    --cc=james.morse@arm.com \
    --cc=jingzhangos@google.com \
    --cc=jmattson@google.com \
    --cc=julien.thierry.kdev@gmail.com \
    --cc=krish.sadhukhan@oracle.com \
    --cc=kvm-ppc@vger.kernel.org \
    --cc=kvm@vger.kernel.org \
    --cc=kvmarm@lists.cs.columbia.edu \
    --cc=linux-kselftest@vger.kernel.org \
    --cc=linux-mips@vger.kernel.org \
    --cc=linux-s390@vger.kernel.org \
    --cc=maz@kernel.org \
    --cc=oupton@google.com \
    --cc=paulus@ozlabs.org \
    --cc=pbonzini@redhat.com \
    --cc=pshier@google.com \
    --cc=ricarkol@google.com \
    --cc=rientjes@google.com \
    --cc=seanjc@google.com \
    --cc=suzuki.poulose@arm.com \
    --cc=tsbogend@alpha.franken.de \
    --cc=vkuznets@redhat.com \
    --cc=will@kernel.org \
    /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;
as well as URLs for NNTP newsgroup(s).