Received: by 2002:a25:1506:0:0:0:0:0 with SMTP id 6csp3307650ybv; Mon, 24 Feb 2020 22:42:28 -0800 (PST) X-Google-Smtp-Source: APXvYqwphnBO+RaMyFgjQSJlJWDv1k9qOB/24ZQMAvlKOyyDpL4k3AvaH6gSmhdZOibcW2CobWE5 X-Received: by 2002:a05:6830:18ce:: with SMTP id v14mr42237067ote.36.1582612947906; Mon, 24 Feb 2020 22:42:27 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1582612947; cv=none; d=google.com; s=arc-20160816; b=vRHYMcClFy5RR6/U69PFRjxn0zLdhEzdE9TxQavoWXmVVpZ/pY+x+t+ZiPbk6uThRm tmykHYCCOxvZyZ1BKFLhupSnTNhwK0X5UZhMPWmDhNWNBFolt4vsBlFXPkXfAuFTv5QB qeElTBZy5nWnVI9FNBl43GQBPDRGQNo5zLQ2JWdJZC1rlgCQKKHwx/Qduj9mXWRAijEG v+GMkdLyJ5VwaqJsUbDxseGWaNRHfeMgyrYOipl/+svTmVDj+h0paGqqBroZ5CUCQsgw EoB1Pwi31JIcumK1xcDmjlK+M717C6k+JA4+LQKN8blR4HozoU3uZNc2GZ+IDgE5LrEv SYcg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:cc:to:subject :message-id:date:from:in-reply-to:references:mime-version :dkim-signature; bh=yTXnQnJXMwonwysk9ULJEMBbzepXTZX104rAvocoFpg=; b=QEy7OU93P+TV4/I0uWiacp6CVku9l3UhKsJrjvnvR+VY0Xar4/vxzoB6n60VLKso2G riqa3+rTHBdiho9dWddUyfoCAf+EGZCMFQpbb66ByCovN2rkiPpZAEN57t+9k0FzIaXF RY6qoQkx6k26PuRuOVcfed29/l8NksgKsjSikwwAUV6hzUJQVgVioMzkLEjDVqK65OWz fIAzenhb5Y479VDkZAIsAfM7o0FTOmdFlkXRdUU9b34yzuL/GUPpZCdv5L8KT9h5ute5 jYpj63Kp3yIjZafrLdSZGiKgKPY3HL38RMMpCqz0BN72OkXi6jfM59eaydLtCw0uWpZ/ TgFA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=JN2e49PA; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id l21si6353330oic.126.2020.02.24.22.42.11; Mon, 24 Feb 2020 22:42:27 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=JN2e49PA; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729088AbgBYGbc (ORCPT + 99 others); Tue, 25 Feb 2020 01:31:32 -0500 Received: from mail-oi1-f195.google.com ([209.85.167.195]:46776 "EHLO mail-oi1-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725783AbgBYGbc (ORCPT ); Tue, 25 Feb 2020 01:31:32 -0500 Received: by mail-oi1-f195.google.com with SMTP id a22so11496255oid.13; Mon, 24 Feb 2020 22:31:32 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=yTXnQnJXMwonwysk9ULJEMBbzepXTZX104rAvocoFpg=; b=JN2e49PA/MntSGElEaJR40KNMKu61EVbPCCfRPirey3u/q36XyBiIML4HcwELMFDDg VM4SoY9ii/Qk/A6yZFSfBfXBw585JQJs8GYg7vnso2Nc31+lSYGesDcTxJYx6mGkxbVp DxTaPaPfWs+cnkwY8RYLL7cdhIOUNKR63MJUAowwZcsaygWB0KlXI3U6hv7uhfxNNqsp xauMQ/EelcYxriDuFMWuyokrnNkpPjK0sI+IaxY/pDFhOyAabQ6lwylmElqhoe9LOpb5 vcnK8p3E25F2G36cqLfOlP97b5iBf7mNQYujk/1Ubb0yLX26LOiB8OoVw4Eai4Cx+SvA Uxdg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=yTXnQnJXMwonwysk9ULJEMBbzepXTZX104rAvocoFpg=; b=QazhJztm4AhIQYJ0q0WVH5PzIpKuXyFHH0eKutMRFSKD2TSfur1LICO23R3KwausRg bJCp9h0zyASFgPaLHx6SD8GljFn0YNMPDZmXqnBYJXmklXC39QjZmTYh6riayPppt9Nw etEaRp9xtI8uh5RD2GnJ0ozcYsg1f1fh29VVBtlb6FTvKV0ikbzhCqzi0YiE26CD69CK 9ne/b0bo5f2W/wZfnI73645HGx+X8wzU+Z1WiU9RMZwBmrSaB4de4R99N93SbuCZQG9F PsfvrpAaRauICUB2cvk7HgT9TmtgAQSvgFs5WXRaFBXN+mD4hB9vCl7VFcS1Nc6DRsmM zB9w== X-Gm-Message-State: APjAAAW8sCf35QyR6w5EBHqf6kV+9vBi68XC633HxDD2sS1yqIuToiak wnzXocXQWpOoLuC2+Wh5zeVyPqMRiQdZ+SQZv/M= X-Received: by 2002:aca:44d7:: with SMTP id r206mr2282068oia.33.1582612291759; Mon, 24 Feb 2020 22:31:31 -0800 (PST) MIME-Version: 1.0 References: <07348bb2-c8a5-41d0-afca-26c1056570a5.bangcai.hrg@alibaba-inc.com> In-Reply-To: <07348bb2-c8a5-41d0-afca-26c1056570a5.bangcai.hrg@alibaba-inc.com> From: Wanpeng Li Date: Tue, 25 Feb 2020 14:31:20 +0800 Message-ID: Subject: Re: [RFC] Question about async TLB flush and KVM pv tlb improvements To: =?UTF-8?B?5L2V5a655YWJKOmCpumHhyk=?= Cc: namit , peterz , pbonzini , "dave.hansen" , mingo , tglx , x86 , linux-kernel , "dave.hansen" , bp , luto , kvm , "yongting.lyt" , =?UTF-8?B?5ZC05ZCv57++KOWQr+e/vik=?= Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, 25 Feb 2020 at 12:12, =E4=BD=95=E5=AE=B9=E5=85=89(=E9=82=A6=E9=87= =87) wrote: > > Hi there, > > I saw this async TLB flush patch at https://lore.kernel.org/patchwork/pat= ch/1082481/ , and I am wondering after one year, do you think if this patch= is practical or there are functional flaws? > From my POV, Nadav's patch seems has no obvious flaw. But I am not famili= ar about the relationship between CPU's speculation exec and stale TLB, sin= ce it's usually transparent from programing. In which condition would machi= ne check occurs? Is there some reference I can learn? > BTW, I am trying to improve kvm pv tlb flush that if a vCPU is preempted,= as initiating CPU is not sending IPI to and waiting for the preempted vCPU= , when the preempted vCPU is resuming, I want the VMM to inject an interrup= t, perhaps NMI, to the vCPU and letting vCPU flush TLB instead of flush TLB= for the vCPU, in case the vCPU is not in kernel mode or disabled interrupt= , otherwise stick to VMM flush. Since VMM flush using INVVPID would flush a= ll TLB of all PCID thus has some negative performance impacting on the pree= mpted vCPU. So is there same problem as the async TLB flush patch? PV TLB Shootdown is disabled in dedicated scenario, I believe there are already heavy tlb misses in overcommit scenarios before this feature, so flush all TLB associated with one specific VPID will not worse that much. Wanpeng