From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Message-ID: <552651A0.1040302@de.ibm.com> Date: Thu, 09 Apr 2015 12:17:04 +0200 From: Christian Borntraeger MIME-Version: 1.0 To: lizf@kernel.org, stable@vger.kernel.org CC: linux-kernel@vger.kernel.org, Zefan Li Subject: Re: [PATCH 3.4 033/176] KVM: s390: flush CPU on load control References: <1428569028-23762-1-git-send-email-lizf@kernel.org> <1428569224-23820-33-git-send-email-lizf@kernel.org> In-Reply-To: <1428569224-23820-33-git-send-email-lizf@kernel.org> Content-Type: text/plain; charset=iso-8859-15 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: Am 09.04.2015 um 10:44 schrieb lizf@kernel.org: > From: Christian Borntraeger > > 3.4.107-rc1 review patch. If anyone has any objections, please let me know. > > ------------------ > > > commit 2dca485f8740208604543c3960be31a5dd3ea603 upstream. Hmmm, I just realized that this patch only makes a difference with commit d3d692c82e4ed79ae7c85f8825ccfdb7d11819da ("KVM: s390: implement KVM_REQ_TLB_FLUSH and make use of it") It should not hurt to have this patch as far as I can tell, but it makes no difference. This is also true for other stable versions < 3.18 - sorry for noticing it that late. commit d3d692c82e4ed79ae7c85f8825ccfdb7d11819da on the other hand is not that easy to backport into Linux versions < 3.16. So maybe just drop this patch? Christian > > some control register changes will flush some aspects of the CPU, e.g. > POP explicitely mentions that for CR9-CR11 "TLBs may be cleared". > Instead of trying to be clever and only flush on specific CRs, let > play safe and flush on all lctl(g) as future machines might define > new bits in CRs. Load control intercept should not happen that often. > > Signed-off-by: Christian Borntraeger > Acked-by: Cornelia Huck > Reviewed-by: David Hildenbrand > [lizf: Backported to 3.4: > - adjust filename > - adjust context] > Signed-off-by: Zefan Li > --- > arch/s390/kvm/intercept.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/arch/s390/kvm/intercept.c b/arch/s390/kvm/intercept.c > index 3614565..f10fef6 100644 > --- a/arch/s390/kvm/intercept.c > +++ b/arch/s390/kvm/intercept.c > @@ -58,6 +58,7 @@ static int handle_lctlg(struct kvm_vcpu *vcpu) > break; > reg = (reg + 1) % 16; > } while (1); > + kvm_make_request(KVM_REQ_TLB_FLUSH, vcpu); > return 0; > } > > @@ -97,6 +98,7 @@ static int handle_lctl(struct kvm_vcpu *vcpu) > break; > reg = (reg + 1) % 16; > } while (1); > + kvm_make_request(KVM_REQ_TLB_FLUSH, vcpu); > return 0; > } >