Received: by 2002:a05:6358:d09b:b0:dc:cd0c:909e with SMTP id jc27csp7878962rwb; Tue, 6 Dec 2022 11:00:11 -0800 (PST) X-Google-Smtp-Source: AA0mqf6BdpH2tv0dfYNRjxuw3ju0PoQCDlXQo/833/EZK2e3srW69kz52HoRFcbWLf+Y3fOQeMVC X-Received: by 2002:a17:907:7613:b0:7c1:5a7:b91c with SMTP id jx19-20020a170907761300b007c105a7b91cmr4940381ejc.749.1670353211275; Tue, 06 Dec 2022 11:00:11 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1670353211; cv=none; d=google.com; s=arc-20160816; b=Z0E18GjGzjd9eHZu/P4NI68O1CO02Ck8eVI81z3hJinViZlaanOWJ3dVBF0PIThuec XE+feiDhKTAh9SveKekDGDn1fpTofB7/LsrhS0gv9ilRjF0BTtx8nD/Zv7cdK3Mo8kJD YMtF0C54gCDRJkMp5+HKMjb5KzSp3jcuE9i9cbATD26EN7SSIpHosmc4w+AT3yr5jZiB 22gRUadPTzWErfycAMCPDH36NGXk/kh3s7B7NUCCB6k4GrO6pjmF8bbMuGyiJY93wBFq dvTeIh3TpKs8rntKkQAGATei+ZQyb1vRAFu7I4ra3seTEkN6n0drYCkxDRz/OL4J+VML SZjQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date:dkim-signature; bh=UK2Ov4vIIB569X5qj1bj7VKGvVg/xKlS5gW5F5KP4x0=; b=uRHnpUmCDcU15rjSN96o2eKCY+LUB8byOpE+ibi9JIU2kI0AyWfRTDAqJnkI2RHyJv PkDI7/BYR239HPAB6OqKEGqRGGyDnbGICiedYLnMKrmHsLmZnLRs7JrQRrGryQtHYVOj c6jkjNrzxAIgQrm8SGcf42KHO+dTxTx06w2sDGe0wg6E+s5KXcN2vtWVElmclOLVHaPf Q/92yGIjeNodz8cflvsIXh01CwhGYf4C1hdnnUBkavr0wocahqKm+2mJQRGCYWvDIrxe oj0haKR08GgzXSwhNlCVJxLPYuNfjW/NesSjE4gCvOKQgGqmm9bqPTwd4pj4IbqZJJjv mwkA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20210112 header.b=Q5jcQd4e; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id l2-20020aa7c3c2000000b0046b5d89b71dsi2305122edr.612.2022.12.06.10.59.53; Tue, 06 Dec 2022 11:00:11 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20210112 header.b=Q5jcQd4e; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230010AbiLFScV (ORCPT + 77 others); Tue, 6 Dec 2022 13:32:21 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51626 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230015AbiLFSbv (ORCPT ); Tue, 6 Dec 2022 13:31:51 -0500 Received: from mail-pf1-x430.google.com (mail-pf1-x430.google.com [IPv6:2607:f8b0:4864:20::430]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9399231F82 for ; Tue, 6 Dec 2022 10:27:08 -0800 (PST) Received: by mail-pf1-x430.google.com with SMTP id c13so8194028pfp.5 for ; Tue, 06 Dec 2022 10:27:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=UK2Ov4vIIB569X5qj1bj7VKGvVg/xKlS5gW5F5KP4x0=; b=Q5jcQd4e/dID63d6UhYOxzlnA0bJMNl8YNulMSkVJ40hmXRE12e8wTns3DltqElZEa SoXi43QTNRT31uSQHijjDjOYMg/+7/eQWTmrNRmq9RR6hT32UTVAsoLos0xg+zno8VQ5 5d9QORUhYO29AcJQcwbd60Y7l0pVvMF5RGeiMH2OOm34dlncciQApuLzgFA9k59CAIyo R/w8+11u8+dZimhHjyU1khsCX3pCGbXTECI22WVzfvqGZWJz0zFlZP8GLtm55bvOIwSL 7opHLjgIRQ/RafN1yCY9vcBwLSOcKsYnzekS/+Miy4Aq3iOjfkNWLCWmQ49+g2hvvxVk reHw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=UK2Ov4vIIB569X5qj1bj7VKGvVg/xKlS5gW5F5KP4x0=; b=CxuCfQZb8G9utLWW9v2xSd0VR7vHTw5rs65aq5wjQJidGeuovvecIFGv2JnT9QseUD r5Nx+oVuoGj3vlKMs62qTvl2l+9Yx7KkXbLgFCvSj8mjtoZeWNn0svoUvoUQ+p+5AmzE 5R3gIV81QKmEhRmwOIB6H/3iK46D5OM8uvXVpkNTzZoAboxqZgYtQKoX4tQ7EAxWls2c Bj0xwLQevMONJ9eZI5Uk1Ja4E3cgO6yHDkk9xNV7UD1H835/HEAFs65e48ymPdSAeB0S VZLOf8mlqy8AgaLsP5R5gD9tMBDigJEvUK462xzSCHV+HrDhXFi2d1EjNNT2MR4up1xC Zxxg== X-Gm-Message-State: ANoB5pmg/bmA/Tz6N93ZGdGZu8sChA5Nx+VQdVlUsQmr8vxkc2xpOY59 /eL7IBM31cUmFjn0M0PhM/1l3Q== X-Received: by 2002:a63:500b:0:b0:440:4ad7:cde9 with SMTP id e11-20020a63500b000000b004404ad7cde9mr60515229pgb.308.1670351227926; Tue, 06 Dec 2022 10:27:07 -0800 (PST) Received: from google.com (7.104.168.34.bc.googleusercontent.com. [34.168.104.7]) by smtp.gmail.com with ESMTPSA id o1-20020a170902bcc100b00187197c4999sm12961794pls.167.2022.12.06.10.27.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 06 Dec 2022 10:27:07 -0800 (PST) Date: Tue, 6 Dec 2022 18:27:04 +0000 From: Sean Christopherson To: Maxim Levitsky Cc: kvm@vger.kernel.org, Paolo Bonzini , Ingo Molnar , "H. Peter Anvin" , Dave Hansen , linux-kernel@vger.kernel.org, Peter Zijlstra , Thomas Gleixner , Sandipan Das , Daniel Sneddon , Jing Liu , Josh Poimboeuf , Wyes Karny , Borislav Petkov , Babu Moger , Pawan Gupta , Jim Mattson , x86@kernel.org, Santosh Shukla Subject: Re: [PATCH 07/13] KVM: SVM: Add VNMI support in get/set_nmi_mask Message-ID: References: <20221117143242.102721-1-mlevitsk@redhat.com> <20221117143242.102721-8-mlevitsk@redhat.com> <5bde88433d6962e38a4c2ddad778395cea98d13b.camel@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <5bde88433d6962e38a4c2ddad778395cea98d13b.camel@redhat.com> X-Spam-Status: No, score=-17.6 required=5.0 tests=BAYES_00,DKIMWL_WL_MED, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF, ENV_AND_HDR_SPF_MATCH,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS, USER_IN_DEF_DKIM_WL,USER_IN_DEF_SPF_WL autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sun, Dec 04, 2022, Maxim Levitsky wrote: > For vNMI case it turns out that we don't need to intercept IRET at all after all: > > Turns out that when vNMI is pending, you can still EVENTINJ another NMI, and > the pending vNMI will be kept pending, vNMI will became masked due to > EVENTINJ, and on IRET the pending vNMI will be serviced as well, so in total > both NMIs will be serviced. I believe past me was thinking that the "merging" of pending NMIs happened in the context of the sender, but it always happens in the context of the target vCPU. Senders always do KVM_REQ_NMI, i.e. always kick if the vCPU in running, which gives KVM the hook it needs to update the VMCB. So yeah, as long as KVM can stuff two NMIs into the VMCB, I think we're good. I'll give the series a proper review in the next week or so.