Re: [PATCH 3.4 033/176] KVM: s390: flush CPU on load control

From: Christian Borntraeger
Date: Thu Apr 09 2015 - 06:17:59 EST


Am 09.04.2015 um 10:44 schrieb lizf@xxxxxxxxxx:
> From: Christian Borntraeger <borntraeger@xxxxxxxxxx>
>
> 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@xxxxxxxxxx>
> Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
> Reviewed-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx>
> [lizf: Backported to 3.4:
> - adjust filename
> - adjust context]
> Signed-off-by: Zefan Li <lizefan@xxxxxxxxxx>
> ---
> 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;
> }
>

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/