Message ID | 20161212143225.10580-5-rkagan@virtuozzo.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show
Return-Path: <kvm-owner@kernel.org> Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 1DFBC607D3 for <patchwork-kvm@patchwork.kernel.org>; Mon, 12 Dec 2016 23:04:01 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 0F71F284DB for <patchwork-kvm@patchwork.kernel.org>; Mon, 12 Dec 2016 23:04:01 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 00A532851D; Mon, 12 Dec 2016 23:04:00 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.8 required=2.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_HI,T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 7BEE6284DB for <patchwork-kvm@patchwork.kernel.org>; Mon, 12 Dec 2016 23:04:00 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752497AbcLLXD5 (ORCPT <rfc822;patchwork-kvm@patchwork.kernel.org>); Mon, 12 Dec 2016 18:03:57 -0500 Received: from mail-ve1eur01on0118.outbound.protection.outlook.com ([104.47.1.118]:36135 "EHLO EUR01-VE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751613AbcLLXD4 (ORCPT <rfc822;kvm@vger.kernel.org>); Mon, 12 Dec 2016 18:03:56 -0500 X-Greylist: delayed 21386 seconds by postgrey-1.27 at vger.kernel.org; Mon, 12 Dec 2016 18:03:55 EST DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=virtuozzo.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=nVYeug4eU20L0aQa7Brhn5yrI6IygisxfmXz3NcsILk=; b=GeGCxzioWj6+t8N4hVmfxnxn9pKYKWBMJYl88jvYpYm0+LcZzXTQcTAmqwf623cjXwbPSNd9kMRLGtAENrz9FqYEyogND7+z5iw81XROFLDoo5MWOPcq8qNfwv4bCYp+9IeFiRHeqhdYQbHCfvDFTBRpOkDJI2Iv+sccl3VZMHY= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=rkagan@virtuozzo.com; Received: from rkaganb.sw.ru (195.214.232.10) by AM5PR0802MB2465.eurprd08.prod.outlook.com (10.175.44.150) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.771.8; Mon, 12 Dec 2016 14:33:19 +0000 From: Roman Kagan <rkagan@virtuozzo.com> To: =?UTF-8?q?Radim=20Kr=C4=8Dm=C3=A1=C5=99?= <rkrcmar@redhat.com>, "Paolo Bonzini" <pbonzini@redhat.com>, <kvm@vger.kernel.org> CC: Denis Lunev <den@virtuozzo.com>, Roman Kagan <rkagan@virtuozzo.com> Subject: [PATCH v2 4/5] kvm/vmx: kick L2 guest to L1 by ready async_pf Date: Mon, 12 Dec 2016 17:32:24 +0300 Message-ID: <20161212143225.10580-5-rkagan@virtuozzo.com> X-Mailer: git-send-email 2.9.3 In-Reply-To: <20161212143225.10580-1-rkagan@virtuozzo.com> References: <20161212143225.10580-1-rkagan@virtuozzo.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [195.214.232.10] X-ClientProxiedBy: HE1PR03CA0023.eurprd03.prod.outlook.com (10.163.170.161) To AM5PR0802MB2465.eurprd08.prod.outlook.com (10.175.44.150) X-MS-Office365-Filtering-Correlation-Id: 88d2fbe7-a317-4efc-bb38-08d4229bd1d7 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001); SRVR:AM5PR0802MB2465; X-Microsoft-Exchange-Diagnostics: 1; AM5PR0802MB2465; 3:tcgEMt9jqAh5ldL8MDyTT6KfRtVzAk96Web6+ePXGo3kg3ROJN5TUx/Ov729ZqkZW6aRUjkgCUWVb8l7lmwu/S5OvS/6YGQlRr/wqDto2mfSE/VPa+ZXlnlEl31zaEKyNQKKkoh2SMPx9cG+v/UQUJw+VQE1ptcvZnPbiaT0nOE4d3Ek5fzfs8VWC0ylk4hIa/JELUW4ttVoH3z2KswW26NBOk/++7WReAnlNuvgf+Jpj2j5EohlnALg1VNBkah2x658PhaUj8ZcvhRCFVrdNA== X-Microsoft-Exchange-Diagnostics: 1; AM5PR0802MB2465; 25:HugvkCgQfmo+f9oEL6aNMK+SDLlQyCjSg2KUdRqWdQ5ATxkOXn4OFF4iy5PDgcEhEBaMOuPS2OP4Eklu6UcqikCLaHthUXrFao2D9xfrjV8VThGVlKHSYDCEJjuBIkIFtJ9aRXe6aYl0KDal5IY8FLF/Bz/0QTJObBNJcxwcVmVKfJAMdwZdDQWVLhok5j6TS0eGsFiPSaV6hKnVBx1Q5Kh66DS9OR9ol3x+WdGxgk4+4+ZjRq4U/fvJG2YQzRLrWAQSM9lgz060Eno6+x+zN2g2QeN02Evhd7fnCow8v0KU1ZLJvyMI2cCi2GVJrZoOcszZsKTxaD11YVVIxj2NbsCPItH7T2OI1JZpBPLqUcx8AVe/ndkcV2scvGlV0ntpSrNQ+Xl8zAGIuDztwh7Zln1uHFOt701YK22GQ/CWKZO033pMtT3nufPKAOEMh5/Kq/H0fhkXuVT2im7rrOyVuKXXPIMqrxUAZFj+QiUDzeL8rUzutNEpbm+EvDru+LPY/Mlp5tKhWWYg6u7ZkT4Xc30Fpe5CTgZJSb7bQ59ALonNId4dHXz2a4VrZIuh2HvREWOPLzQmDxFLL3ZmlN8HOLdpzyzT06xtsqwKa0wdeGTb8k9xBkSA5J0RsL12Wf/naBbpZ7yGxOGb7GWM/WPd503zK2B0/YrAP5UlgAQnFfJKgkrOKHL88ihscIrCIzXaBRSMiG1jdVtLwb70u07020XwVqxLSkJMrvQbHT53XPePunWyT2Gbo4960zmK2SFxjMSA94PxoLOl9R6ZinYRLg== X-Microsoft-Exchange-Diagnostics: 1; AM5PR0802MB2465; 31:bcgSDqmJGFhRRVjPPxzHUW8Mm1xUvJSzFm3T3qbQpDeCv7dfAjzUxx/O39ebvdjVq/FM6BA5/MGA4b3gKKJqckyDr7yNeoF4mwna5CPjsPhTB05JvoH62Ox3ALwUTz2LqK8VWqv8VXC5O6kg4kCjFBxI/91apk0wPfj+MkukHM+KOxUrpLZApZM0Zde0LVOdAuoTFaefwiGOZVZZwHCecoIBL4XCycfrKUNti/dMWMTXoUBwMe5WxZMzbTcwI13Z; 20:PYjfeiMHw6xomIl7Cc5tWUrJ4FWaE5Gn9VAfwf/NOLyplUnjoHjKzm5Iavg8t41ICq1SlPJ/pFOD0sjlN4nDEX9La+lFNqFEy63spLrbe8HJowRnnFYtz85Ldh29LkfI+GrtvUzp6iYnivHPpJ1s2HBVlCmH1XPb+c0WEa+tjAMpp5/9v7nnhRpupltq113jUUGWWmab3h6mSynaPQlJZx3QWs7ecBrkqBLIQg4ue7+z64YOGi9OkjZOSudxkJ0f X-Microsoft-Antispam-PRVS: <AM5PR0802MB2465F2F5466D97E4B000D0D8C9980@AM5PR0802MB2465.eurprd08.prod.outlook.com> X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040375)(601004)(2401047)(5005006)(8121501046)(10201501046)(3002001)(6041248)(20161123555025)(20161123560025)(20161123562025)(20161123564025)(6072148); SRVR:AM5PR0802MB2465; BCL:0; PCL:0; RULEID:; SRVR:AM5PR0802MB2465; X-Microsoft-Exchange-Diagnostics: 1; AM5PR0802MB2465; 4:mdcEcvUUciEcyz0mX45/3Wq5iat+CLKoRLtiPOtz/XIQrNCnF2pz71vTKnHXrFW/lqKsh4Ik3jeSu3F8C2PR/FaayBPpJitkCY0B5uHryajZbiUkPrpor7PfitrpFpnNLckxIsfpFaxndAuqjFYAI8WVYXQuZMqo8d0p57z3wprv/0++nfhvqfjSsTCcWsxy1MfH2F/GLzkKNgJmKr/84XN4R3lC6voWnesW+YsbFLkCEP+lsYwN4N5NAgxDn7gkLQ+Km8lJCO7QdyQKeFVO6MxNHCvBN3sSsXzgCpNghBnT+olIKBAaY9L1f9UkTrC2fNAUu86xGj5hZirtSAR24Z1M9tqhTuRU47HbBnY3vhSi2YECpKjSDV729XLvZ63/CYOfU+hxulbShKkDv4qcxRj0kf7kf+0W8cYQUis6AapylI4vIeVBJgY2Cnmsz6srtiEwyxAns7iFDkktBfwhshLQDPhUGMliw54J6yI3MPwgGm101hg/LTgOKUN/5a6IBrLeIkarW7up1o/ViwOd9Fxi9QQVLeS5AhG+EkYvt7f7HeAxeS19Dczm9yXfR5FKvBi1pFEjDOTffIFTEci/jg== X-Forefront-PRVS: 0154C61618 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(4630300001)(6009001)(7916002)(39450400003)(199003)(189002)(6666003)(5660300001)(86362001)(101416001)(3846002)(69596002)(107886002)(42186005)(50986999)(38730400001)(47776003)(5001770100001)(189998001)(76176999)(66066001)(6116002)(6486002)(68736007)(50226002)(6506006)(6512006)(1076002)(2906002)(48376002)(4001430100002)(2950100002)(97736004)(305945005)(7736002)(5003940100001)(92566002)(106356001)(50466002)(8676002)(105586002)(4326007)(36756003)(81156014)(81166006)(53416004)(33646002); DIR:OUT; SFP:1102; SCL:1; SRVR:AM5PR0802MB2465; H:rkaganb.sw.ru; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; Received-SPF: None (protection.outlook.com: virtuozzo.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; AM5PR0802MB2465; 23:en5L73T6nyHSL0MhUrnKdHMx551+tLPocOJhYn+?= =?us-ascii?Q?f+IE+ueK470YgZN/aDzIa0hHL4EAyQP5tljjqBjmaF6ziVZA/eWJauyVxouo?= =?us-ascii?Q?3yZUwE577jOjShWxCcQYogG4QuAWQonohOdjM07t2exrOg94YiVrinvzVJqv?= =?us-ascii?Q?fv4i8/QYTp46XoAnOS73ifFwiYor/M4EZrzLQiVW23ZvhkwO+hgWkGXSbCld?= =?us-ascii?Q?I2JPpPAnZ6NBgqMN+VGk8TgtoueYjNwHuSsn7JvraXWSihiPTCcAs3nZu1aQ?= =?us-ascii?Q?P6LQ9XFHZRHin65ws5wAhtHv7cm4voU2LGcQuMS80TvQ8jb4SloV8V3uS1W4?= =?us-ascii?Q?Z7pZaApt0NnO+MfRqofYnaEcyD2KtUPrzw6zVZKqOkhuMzw6DaHm/KiGXQxW?= =?us-ascii?Q?zZq6EeS5vwvtsj9vPR/gCYNx2sZs95mX4wnPbjpZ1OWylHSAwshZoFS1Yqjm?= =?us-ascii?Q?DwEeBnMDi7duNb3gHMcB3vI6koI0Ueiswq0oa/Mfkj7TPbpYXI5YqOWCvjj9?= =?us-ascii?Q?ohDYp6PoJVubKUV9IdqaiWg+Udc+yDtIlVnlpO4vjp71P+OaKO9zRwse7kWI?= =?us-ascii?Q?YRogWzX0XVEDyD4RFi/ni87GFyytWODC1KyLuUnA8h8ydzqr+6dPyHxvO/3A?= =?us-ascii?Q?Um9l2WPntchOyo6XvAQhDYpiLqyD4wRvFclSHbp1KSW87sZ0iRwnKj/r5HaP?= =?us-ascii?Q?56U1uj0z4H/VyO9S5tJ/bTh/uMbl1Dfz9nqVPvokZL2cG+Wyy2+Q/75TrO4Z?= =?us-ascii?Q?zshCL40ZG2LSc9uhPzPutKjMJxIQwilJ5XABtA3Ag4wrckNoMwm2qJWvzBfw?= =?us-ascii?Q?y+9iQalT+nfHpr7JF2C9K6z6vU/DUMhpDWT5LSMF8+B414/JWu5k5uCVJjrC?= =?us-ascii?Q?hzvgzp4dYs8YOYO5SzxxnsUrISeNr4mO4tEiMFbUetaku6w1H1hOmALuh4WG?= =?us-ascii?Q?FKX7h3573/0yBQz1TGRPqoWbGN/sUrTl02iaOPsDUlIGpgm4O1Rq2+ypdW0f?= =?us-ascii?Q?WjLdKHsWRhTPUqjJvqRVsuH0B1YohHIrSp/rHI5HJYrFK9f/dwhcAZ+1b0o4?= =?us-ascii?Q?MGsNhY0DMomLa0vD6KPZxBw5Q19BhcCj3zl9pJOZEh4II6AVdV8eZuaJlYyH?= =?us-ascii?Q?5NuHIAzZDGBWwcDu6tABgWTraodrr3Zrv9tlDelkChBmmhg9i86Ytig=3D?= =?us-ascii?Q?=3D?= X-Microsoft-Exchange-Diagnostics: 1; AM5PR0802MB2465; 6:ioVWEVWSMe7yrp/wI+HtJRo/uIkEjtYO1Tw6QEunVFcoeYvL3F/3B/oqSbMO8iXeESqbRHG/x75We9YnrhxNHNd5IyiBzUCs3j+s/YB2qDlBuOO/9pEtn8fyJ7nMPOnoT/sNgqoWFHKaZe5BgwmpAfHUPsEGnuo9Z54UjCGBnw0yG5tkJh44bClIkELIL5KlhujDTS41Zbs5Rm2Lf6aRIgObz09JQNnj1VKijj1euv3BFPYZpjpR2qrF/PFjUrsWg5rlOfVRV62eAQHjF1HkCsEUQLCoDAmcYd9DCcCwglNbreKiqyinZ8JlCXSInGMWAOUD20A40rI6nV5r8rJhCdk4ZS3gUSUZNuWpidxJjlYxD57nkzMpWPX5+7TT8HU2aFlOqdnNjaOaR0n2S9Q7DI/XSkfP/VTRn0fqw55GKsY=; 5:xwmb9iZ/XeHmdB0NwKXtwlI57lsmcsk45/pUoyFMQQlXJ7OSG8LOtt1DS0qs0RJVtnSzX7mVdAynliENqn/t3d61Lxc87vY4moUlORgokA2l2ZGTP/KImaaE+7BpOtr85U+RoACOmZgAcOp6auA82XBEUHTTahLtdNfVZHGVNDk=; 24:TSazum/OqCQaDsk3Aa5qKXQOLbeSDIyTqtXwzGqcOpHbW2ffuThcek+88sdCo2v6AUGlrdfhS4IVaXg8I5CoLZyoKEy6aWq8qQHtCeUXsfs= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; AM5PR0802MB2465; 7:nuA13j4OJYCRFfF+XNPzJYddSslmOIta+MpEpVyKHYUj4lfuRbleyV82P0MdPaIn5/i5Kl1rJB/z11jVNAiLegqQl5/J+/gan21AuWHhNuUIGFDhn0LrS2mGTihvxgf30q9l2YwNveify4yroTSNgtH5pCSjxahtQObjI53m9aO8aBJlV68z/861kDLMjKU8NLnTMzMhOkVKxwIC0siKtlgZMaf/f/YeYHmNU8yS9eOIhUrD6a4mExDdKGYLppLqkzy0+EaVeT6S0+p2y/IKdUxR3jLJVSK9lQpBZSkjrZf4y+RnJvstUZ+Rbyv78UH8y3KYIDBfqJ0obFD91/ZOkDDsgY3BWxlWXHouICQ63ZTLV9bfkniG94ZL09mHuwFJ6rMn26MTrpcSptyxTKbDi+Mn4mmZUb0RtjyIt+9YzkUEUz10NEQju8kIVGqhTpc5Ju8oMl8bXIgasecwJqmu+g==; 20:xDHj2oH2Rt2fyyHqWf1tYqrj/Q5vxAQJZKmi581rRLfKNAcAgASkZixBavZPRKnM+s9CrN67CpUMWe+kB26FbVV247ynTrEly8FNzo9dbsJJ8Imkz7exyjygmKU1GHX5bHHjbL3cHle3UNkGfgfv4MtyXP+XoRnaHbrgCknMOY4= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Dec 2016 14:33:19.4417 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0802MB2465 Sender: kvm-owner@vger.kernel.org Precedence: bulk List-ID: <kvm.vger.kernel.org> X-Mailing-List: kvm@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP |
diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c index 5382b82..fc97489 100644 --- a/arch/x86/kvm/vmx.c +++ b/arch/x86/kvm/vmx.c @@ -10420,7 +10420,8 @@ static int vmx_check_nested_events(struct kvm_vcpu *vcpu, bool external_intr) return 0; } - if ((kvm_cpu_has_interrupt(vcpu) || external_intr) && + if ((kvm_cpu_has_interrupt(vcpu) || external_intr || + kvm_async_pf_has_ready(vcpu)) && nested_exit_on_intr(vcpu)) { if (vmx->nested.nested_run_pending) return -EBUSY; @@ -10772,9 +10773,9 @@ static void nested_vmx_vmexit(struct kvm_vcpu *vcpu, u32 exit_reason, if ((exit_reason == EXIT_REASON_EXTERNAL_INTERRUPT) && nested_exit_intr_ack_set(vcpu)) { int irq = kvm_cpu_get_interrupt(vcpu); - WARN_ON(irq < 0); - vmcs12->vm_exit_intr_info = irq | - INTR_INFO_VALID_MASK | INTR_TYPE_EXT_INTR; + if (irq >= 0) + vmcs12->vm_exit_intr_info = irq | + INTR_INFO_VALID_MASK | INTR_TYPE_EXT_INTR; } trace_kvm_nested_vmexit_inject(vmcs12->vm_exit_reason,
When async pagefault is resolved vCPU may be executing L2 guest. In order to allow L1 take better scheduling decisions in such cases, make L2 exit to L1 on a fake external interupt, without actually injecting it (unless L2 has other reasons to vmexit). This patch does that for x86/Intel. Signed-off-by: Roman Kagan <rkagan@virtuozzo.com> --- arch/x86/kvm/vmx.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-)