From mboxrd@z Thu Jan 1 00:00:00 1970 From: marc.zyngier@arm.com (Marc Zyngier) Date: Fri, 2 Jun 2017 10:11:56 +0100 Subject: [PATCH v2 00/25] arm64: KVM: Mediate access to GICv3 sysregs at EL2 In-Reply-To: <7dd609ce-6f7b-2a12-fa06-4ce1c6ba6ebe@caviumnetworks.com> References: <20170601102117.17750-1-marc.zyngier@arm.com> <7dd609ce-6f7b-2a12-fa06-4ce1c6ba6ebe@caviumnetworks.com> Message-ID: <941a29e4-9652-ee40-1d46-a5f06288cc7b@arm.com> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On 01/06/17 22:00, David Daney wrote: > On 06/01/2017 03:20 AM, Marc Zyngier wrote: >> Some systems have less than perfect GICv3 implementations, leading to >> all kind of ugly issues (guest hanging, host dying). In order to allow >> some level of diagnostic, and in some cases implement workarounds, >> this series enables the trapping of both Group-0, Group-1 and Common >> sysregs. Mediating the access at EL2 allows some form of sanity >> checking that the HW is sometimes sorely lacking. >> >> Instead of fully emulating a GICv3 CPU interface, we still use the >> existing HW (list registers, AP registers, VMCR...), which allows the >> code to be independent from the rest of the KVM code, and to cope with >> partial trapping. >> >> Of course, trapping has a cost, which is why this must be either >> enabled on the command line, or selected by another cpu capability >> (see Cavium erratum 30115). A quick test on an A57-based platform >> shows a 25% hit when repeatedly banging on the trapped registers, >> while normal workloads do not seem to suffer noticeably from such >> trapping (hackbench variance is in the usual noise, despite being very >> IPI happy). >> >> This has been tested on a dual socket Thundex-X and a Freescale LS-2085a. >> >> I've taken the liberty to rebase David Daney's initial Cavium erratum >> 30115 workaround on top of this series, and included it here as a >> typical use case. > > I pulled this from: > > > https://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms.git/log/?h=kvm-arm64/gicv3-cpuif-mediated-access > > this morning at commit 58c1763c5aa6223ab3d04e0c183a31eb0aef832e > > Entire series tested by and > > Acked-by: David Daney Thanks David. May I ask what particular system this was tested on (just so that I have a additional reference point)? Cheers, M. -- Jazz is not dead. It just smells funny...