From patchwork Tue Apr 10 12:48:37 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nicholas Piggin X-Patchwork-Id: 896643 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=kvm-ppc-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="P2FUWxUa"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 40L6Rp6M2Cz9s3q for ; Tue, 10 Apr 2018 22:48:54 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752847AbeDJMsx (ORCPT ); Tue, 10 Apr 2018 08:48:53 -0400 Received: from mail-pl0-f65.google.com ([209.85.160.65]:37117 "EHLO mail-pl0-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752759AbeDJMsx (ORCPT ); Tue, 10 Apr 2018 08:48:53 -0400 Received: by mail-pl0-f65.google.com with SMTP id v5-v6so7430935plo.4 for ; Tue, 10 Apr 2018 05:48:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=q3l67dZ4yD+lYYytM0cDJvGCi1KHMoVORbNoLkCBHMs=; b=P2FUWxUa384f0yNWh+EZUgEK3XnHV1ICRTbgeRBaxxsguIkZmSjTJj6NM1eZbV3BtB kwSqY9AhBi64oD5y4HLx0vlQIzmOyN3EMY/t/vur96SoS4N6VyWbsxYDpEmnrcYY9Txx yQQpyhNvKU5OFN3xWkB3RXVTX0BBphxDFgvroFvRMONtWPlPTb0q45zSZTg0WvBNh4ER 4xS+d6+yB8owZw48nczjnkcaPB4nL6ImSaq6WkIyWhbs/ic9vNaNDjzncHSleINn+mGh jBHlK9i4ZcyO2t9O20NsC3SduF8YRtsrVOAiD4UBkep8Vt87cSe+48hNfqDHTvI1YCXq XPKw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=q3l67dZ4yD+lYYytM0cDJvGCi1KHMoVORbNoLkCBHMs=; b=f9UVqz4qWIrQCmQmJqzxAjF1ZbP+J8Yw04xD4lxD6pT7qM6cN7OnI4TAVcKrIxzofu DBzrhmtdqDoxoGUEDcYaHPNvepOBsbMyhqBxbRL2SFfQN5A7C2kAp9M+EAveRrKJgk2V lgF0TRsPb5WeG0P2lyy+GS+erf8BgMUiz88wYGeogioPPbBpXx5ujkDnTZzv90376dNZ o5lA5Rwb9WRZq4sDKg0ClGcUqidkQ7IJmx+uvj7vswm0d39I1eG8VR9FxZU1OKWg+EAF 2EjwOfYCp9uJKks0N3xX6H9SiVbQDj+XY1uvGw+pQDwfRB5UdtzJZhR9Qa5ayWWBz5ne dQ8A== X-Gm-Message-State: ALQs6tAa2JV79RD1PRB2w8K/pZQkvaVqwUQ39yc9RhJcrTLLOeREg0P3 zw+2fX88jGjzpczpGGFWDJeQ8Q== X-Google-Smtp-Source: AIpwx4+wiAeCgI96BXpUmxkz/wn10ZfxPUaS9p5xbTKt9M5X8aG7vOn7EV+rdsiwcfwqryj1O3E9ZA== X-Received: by 2002:a17:902:7c86:: with SMTP id y6-v6mr303897pll.378.1523364532397; Tue, 10 Apr 2018 05:48:52 -0700 (PDT) Received: from roar.au.ibm.com (59-102-70-78.tpgi.com.au. [59.102.70.78]) by smtp.gmail.com with ESMTPSA id j20sm6037529pfa.149.2018.04.10.05.48.49 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 10 Apr 2018 05:48:51 -0700 (PDT) From: Nicholas Piggin To: kvm-ppc@vger.kernel.org Cc: Nicholas Piggin , linuxppc-dev@lists.ozlabs.org Subject: [RFC PATCH 0/5] KVM TLB flushing improvements Date: Tue, 10 Apr 2018 22:48:37 +1000 Message-Id: <20180410124842.30184-1-npiggin@gmail.com> X-Mailer: git-send-email 2.17.0 Sender: kvm-ppc-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: kvm-ppc@vger.kernel.org This series adds powerpc:tlbie tracepoints for radix partition scoped invalidations. After I started getting some traces on a 32 vCPU radix guest it showed a problem with partition scoped faults/invalidates, so I had a try at fixing it. This seems to stable be on radix so far (haven't tested hash yet). Thanks, Nick Nicholas Piggin (5): powerpc/64s/mm: Implement LPID based TLB flushes to be used by KVM KVM: PPC: Book3S HV: kvmppc_radix_tlbie_page use Linux flush function KVM: PPC: Book3S HV: kvmhv_p9_set_lpcr use Linux flush function KVM: PPC: Book3S HV: handle need_tlb_flush in C before low-level guest entry KVM: PPC: Book3S HV: Radix do not clear partition scoped page table when page fault races with other vCPUs. .../include/asm/book3s/64/tlbflush-hash.h | 2 + .../include/asm/book3s/64/tlbflush-radix.h | 5 ++ arch/powerpc/kvm/book3s_64_mmu_radix.c | 65 +++++++------- arch/powerpc/kvm/book3s_hv.c | 21 ++++- arch/powerpc/kvm/book3s_hv_builtin.c | 14 ++- arch/powerpc/kvm/book3s_hv_rmhandlers.S | 43 +-------- arch/powerpc/mm/hash_native_64.c | 8 ++ arch/powerpc/mm/tlb-radix.c | 87 +++++++++++++++++++ 8 files changed, 157 insertions(+), 88 deletions(-)