Received: by 2002:a05:6358:d09b:b0:dc:cd0c:909e with SMTP id jc27csp5603772rwb; Mon, 14 Nov 2022 07:03:43 -0800 (PST) X-Google-Smtp-Source: AA0mqf7YGriXOy2cMhf7MjEFZstr+aQ9fQ+S+K6DNMv1NTX8YuljSi4DH+X7vjEe0SwnPPoD0t02 X-Received: by 2002:a63:141:0:b0:476:837b:d4bd with SMTP id 62-20020a630141000000b00476837bd4bdmr3285202pgb.78.1668438223229; Mon, 14 Nov 2022 07:03:43 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1668438223; cv=none; d=google.com; s=arc-20160816; b=ZC8GtqmJK+bF+waLh4WdUinavdlQNblAJLDVxA7obmljw4XjPyQIc9ohmlEoT7w4f5 /aZalya6Kf5fx8kRBsdvU9818r9P/PceElb/yVPf3HKfmMB3PadJNP9nZAHB+5GFh+YC W4lSKWNqPKeqPuezM9ueWU74Mj+0d0j6f2L+cJSH/E0qarm4LiSTTLyIwQrnMgxCm7dT 5ECJh4KtEv7OiJr4CKL8iyQTox14hRWWeA9/3v19XMS/lGiDJvpD2U/O2bJXw6vTtKy/ GUSZWrCuoD70kqiYJwFm7lGjZFJhWXuJZSFqMH+td24L6yYkGubXQVz2+4aqVtnAaQda qRBQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:date:cc:to:from:subject :message-id:dkim-signature; bh=9PXefMgtVoEl7VcEmHANn7C0ZpCW9EApgvQNsheadjY=; b=MWDVEtdYqznv3nj/22tvsFw0W14K3JnspjrbFGIfDPjPSS8qvdl5v6xjSQdPpyU78E FnTHGe25kJ6IYMsWKVnVbhxAa9A+EMLJIR6Tks+aqwqHJVe2F20PtFycvpHKto3MQusW ozFE6xpJHY8q+3R1UgnoUZPPNe/h53vVU4qOTcimI2uI4baFfcEWVIGLCK671jmI6L8D Bef72BwDLSEGw8fSBvc479VoYyvw/Ryo8VYT9Qzj2VMb4q7K9z+jeFqmwXYJorEo0lGC IHmuvHOHTfA/TnuiymAETwbu5eGD261pcaKLVQIbjG30Ac9mH3CfAHrcJnXJ9rwzS5mS HnhQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=F3wjScH8; 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=NONE sp=NONE dis=NONE) header.from=redhat.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id b6-20020a170903228600b0016f1eb1317esi10635841plh.471.2022.11.14.07.03.25; Mon, 14 Nov 2022 07:03:43 -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=@redhat.com header.s=mimecast20190719 header.b=F3wjScH8; 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=NONE sp=NONE dis=NONE) header.from=redhat.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237005AbiKNOcU (ORCPT + 87 others); Mon, 14 Nov 2022 09:32:20 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40192 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S237001AbiKNOcO (ORCPT ); Mon, 14 Nov 2022 09:32:14 -0500 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 2161429CAA for ; Mon, 14 Nov 2022 06:31:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1668436277; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=9PXefMgtVoEl7VcEmHANn7C0ZpCW9EApgvQNsheadjY=; b=F3wjScH8ZDqll0GJl/4esBepeUJM3Bq7KS+eZzWJDUDvQygSeaGJoupx38sgEQyygRIJn9 nP6D+YoWN9G7BFvyhHKO2+4QTeqY3L1iTe53ucacz4pOvbUeqF+y1nQCDFdcgLFLkSDspP 8yYojy+ni8Um1C4O8iGUGhh5PzPkbYA= Received: from mail-wr1-f69.google.com (mail-wr1-f69.google.com [209.85.221.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_128_GCM_SHA256) id us-mta-182-EOjjzlo4NhmmTCWkq_YzCQ-1; Mon, 14 Nov 2022 09:31:15 -0500 X-MC-Unique: EOjjzlo4NhmmTCWkq_YzCQ-1 Received: by mail-wr1-f69.google.com with SMTP id v14-20020adf8b4e000000b0024174021277so1278785wra.13 for ; Mon, 14 Nov 2022 06:31:15 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:user-agent:references :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=9PXefMgtVoEl7VcEmHANn7C0ZpCW9EApgvQNsheadjY=; b=uUsEfgN9osAGaMW4zbHgmcsrIcGOhVVyJo8VQf0kb+AkaoPt4xdvtLsA2STHzY9gxL 2DHwgm9tEDq9VUn58Rb2qnF2TmbFRzSj3Hak6XfBaF1wjm5hOZBrHSemEWWGyLAyBIXd anycLQqIW5YQTIKed4gvKhzWfzGrTxMWjCiEAH+N0amaXapq24i6nzfjj5jXmd01cKff l89PpBRXfo8FwrqpIaB080O93Auucyrx32JwbbYRyUEsZozL2KefY2zwYVHPM9t0IfFH e4UnjFi9qHBTd5sYiVaEhRRf35xEAv1sEEM25ABhl4Yqrur3DcpSYCi6viXuEFYqQcrw P8Wg== X-Gm-Message-State: ANoB5pkae+MHLXe7uQ8C8lKX7TVjHisEDtrH/EkTAJ7S3aX7hYFluZD3 ES2HWKD4bt0wsPCyyTFLfOqgBIWMJBAb02iVejeCO6dfhMVJ5Cz8GVE0k/LFIhyohRI6MqbLnso MFyLbayGab9WpmZ2nRpdV3uzg X-Received: by 2002:a5d:68c9:0:b0:22e:35f4:9182 with SMTP id p9-20020a5d68c9000000b0022e35f49182mr7429045wrw.121.1668436274575; Mon, 14 Nov 2022 06:31:14 -0800 (PST) X-Received: by 2002:a5d:68c9:0:b0:22e:35f4:9182 with SMTP id p9-20020a5d68c9000000b0022e35f49182mr7429029wrw.121.1668436274382; Mon, 14 Nov 2022 06:31:14 -0800 (PST) Received: from [10.35.4.238] (bzq-82-81-161-50.red.bezeqint.net. [82.81.161.50]) by smtp.gmail.com with ESMTPSA id f4-20020adff984000000b0024194bba380sm1530129wrr.22.2022.11.14.06.31.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Nov 2022 06:31:13 -0800 (PST) Message-ID: <869d05b2ce0437efae1cf505cf4028ceb4920ce2.camel@redhat.com> Subject: Re: [PATCHv5 0/8] Virtual NMI feature From: Maxim Levitsky To: Santosh Shukla , pbonzini@redhat.com, seanjc@google.com, jmattson@google.com Cc: kvm@vger.kernel.org, joro@8bytes.org, linux-kernel@vger.kernel.org, mail@maciej.szmigiero.name, thomas.lendacky@amd.com, vkuznets@redhat.com Date: Mon, 14 Nov 2022 16:31:12 +0200 In-Reply-To: References: <20221027083831.2985-1-santosh.shukla@amd.com> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.40.4 (3.40.4-5.fc34) MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE autolearn=unavailable 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 Mon, 2022-11-14 at 13:32 +0530, Santosh Shukla wrote: > > > On 10/27/2022 2:08 PM, Santosh Shukla wrote: > > VNMI Spec is at [1]. > > > > Change History: > > > > v5 (6.1-rc2) > > 01,02,06 - Renamed s/X86_FEATURE_V_NMI/X86_FEATURE_AMD_VNMI (Jim Mattson) > > > > Gentle reminder. > > Thanks, > Santosh > I started reviewing it today and I think there are still few issues, and the biggest one is that if a NMI arrives while vNMI injection is pending, current code just drops such NMI. We had a discussion about this, like forcing immeditate vm exit in this case and such but I have a simplier idea: In this case we can just open the NMI window in the good old way by intercepting IRET, STGI, and or RSM (which is intercepted anyway), and only if we already *just* intercepted IRET, only then just drop the new NMI instead of single stepping over it based on reasoning that its 3rd NMI (one is almost done the servicing (its IRET is executing), one is pending injection, and we want to inject another one. Does this sound good to you? It won't work for SEV-ES as it looks like it doesn't intercept IRET, but it might be a reasonable tradeof for SEV-ES guests to accept that we can't inject a NMI if one is already pending injection. Best regards, Maxim Levitsky