lkml.org 
[lkml]   [2015]   [Apr]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 3.4 033/176] KVM: s390: flush CPU on load control
Am 09.04.2015 um 10:44 schrieb lizf@kernel.org:
> From: Christian Borntraeger <borntraeger@de.ibm.com>
>
> 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 <borntraeger@de.ibm.com>
> Acked-by: Cornelia Huck <cornelia.huck@de.ibm.com>
> Reviewed-by: David Hildenbrand <dahi@linux.vnet.ibm.com>
> [lizf: Backported to 3.4:
> - adjust filename
> - adjust context]
> Signed-off-by: Zefan Li <lizefan@huawei.com>
> ---
> 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;
> }
>



\
 
 \ /
  Last update: 2015-04-09 12:41    [W:0.526 / U:2.204 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site