From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 17707C25B7C for ; Tue, 28 May 2024 10:39:57 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 9420A6B008C; Tue, 28 May 2024 06:39:56 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 8F20D6B0093; Tue, 28 May 2024 06:39:56 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 7B9B06B0095; Tue, 28 May 2024 06:39:56 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 5C68E6B008C for ; Tue, 28 May 2024 06:39:56 -0400 (EDT) Received: from smtpin15.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 14898161659 for ; Tue, 28 May 2024 10:39:56 +0000 (UTC) X-FDA: 82167459192.15.F18F19F Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by imf07.hostedemail.com (Postfix) with ESMTP id DFA3F40003 for ; Tue, 28 May 2024 10:39:53 +0000 (UTC) Authentication-Results: imf07.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=ZyL1Lqjn; dmarc=pass (policy=none) header.from=redhat.com; spf=pass (imf07.hostedemail.com: domain of pbonzini@redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=pbonzini@redhat.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1716892794; h=from:from:sender: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:dkim-signature; bh=cWr5rLzhCiKZuwW7h7YBmazKG48r0xrDo/cGy6it0/4=; b=qw/Jh9w3BEqIh4MHfCcvrXXdB5TkyO/ntCARiEObI6VIUS5ZhhOgCdcr0vE3IqJqDkliZm 8qTZtsSpLKtIyphyIqb3Mx4KPWt7QNtme3on2n1LyJS/1/2uD3MqVDKN8DTYigdO+JItAc KcdaG0ZeivhLhqMDiQjO2LcCr+0i7L8= ARC-Authentication-Results: i=1; imf07.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=ZyL1Lqjn; dmarc=pass (policy=none) header.from=redhat.com; spf=pass (imf07.hostedemail.com: domain of pbonzini@redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=pbonzini@redhat.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1716892794; a=rsa-sha256; cv=none; b=g4qJVmp78ltjJ/oiq71CZqkb2t+dFOKrJ4cQyoDq/lHDt+uReAHP9FLv2TQd3AyoI4j57K tMXNT0sMtVyFmrPtbLqj/R/GHiV+mfrTeRzR/G61vODrqeKB6nmwnX4jDtBoeXwswSBVrQ wSMCuUVfQxXrg8LxC5+mmJxUpf5M8DM= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1716892793; 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=cWr5rLzhCiKZuwW7h7YBmazKG48r0xrDo/cGy6it0/4=; b=ZyL1Lqjnv8Zpv7pmGsQ8AaLCbyBGxCNzzfh3aCOWOoZ8oMnKI3Qzy26dqeppzGDestohIl K9nk601Uy4sFCZ74AgZn9kROLGDLN00RwzL0FRxNOaBITBHETKc69Z2xx4d0rabXMYqDzD QA41UVmuwHvoax/avkDaWNr15ZPUBZ4= Received: from mail-wr1-f72.google.com (mail-wr1-f72.google.com [209.85.221.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-553-SCwjhJ1ZPtGN5jbFdNM5Ww-1; Tue, 28 May 2024 06:39:49 -0400 X-MC-Unique: SCwjhJ1ZPtGN5jbFdNM5Ww-1 Received: by mail-wr1-f72.google.com with SMTP id ffacd0b85a97d-35ae0938de8so348410f8f.1 for ; Tue, 28 May 2024 03:39:49 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1716892789; x=1717497589; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=cWr5rLzhCiKZuwW7h7YBmazKG48r0xrDo/cGy6it0/4=; b=KCdGe8wsvUJFsvQDd65V8IfVZqS0YxAww0c39QQeSshl1RpgM3/iDxJVIc62pQp6J2 C2SkjWO0erl5EG8AuamgsvO0ehhk1qoTPYqPGC/dLGQUuS6nQSFEiIuAeg3d7icAFu9w Alc4f5BUO6yAQQuv9Rvc3MVK+eoZF9Jzz/sW4ElpgklOPyGuOgJgb/yhjyoaeIvC7i+b CJX3+e3+VrYm+BS0K4ymsWvDA6NQjur857XVTqJgL8UnHMmO2PZqe8vClBPnuPcddiXh tMzwqYAhyE6lQ01GkK2am7mZEKEYeHU6cxAfoBhuI7xuant3XoGGA1u0Sll5jIfmE+Mt sb4Q== X-Forwarded-Encrypted: i=1; AJvYcCU+2RtGo0LL+2ESMn6YzOz4MeBahVZ7oTLSFBY1K6DWmRF/YsXqqvRq+ISwzwfUFI1Fcs/L7vJJR9jcPjNT/7Kwrcs= X-Gm-Message-State: AOJu0YzoYdtCC4ZFmDVDJQmseA50wsg4XWHb6Rt2T2wBvY47f63MQPQg tgsdYBNQxdYrXhT0c/M+TPpSCSuYmIKwzrKYYBQJZ8LdDWyMRz5UHCoW0V8ILuYoSV8Qk//0WH4 QGU0Fo5e+sIH31OtEv1WallTSt50cKJJ5FTC/jPypX2fDEJip2zkLFLX3X//GQd2MLvHtJzyaFW GzpyONXDKi34L7nHB34ymfya0= X-Received: by 2002:adf:f605:0:b0:351:d78e:875e with SMTP id ffacd0b85a97d-35526c271e2mr7836495f8f.14.1716892788880; Tue, 28 May 2024 03:39:48 -0700 (PDT) X-Google-Smtp-Source: AGHT+IG4hqokdTCBlYq+yxpXGdOajfvNiw6vsJ+NmirTpEeZTh+x8A7CTg2keuO9ed6PBfJTW5YEfW34ZoQ5qL3Gp5w= X-Received: by 2002:adf:f605:0:b0:351:d78e:875e with SMTP id ffacd0b85a97d-35526c271e2mr7836445f8f.14.1716892788425; Tue, 28 May 2024 03:39:48 -0700 (PDT) MIME-Version: 1.0 References: <20240501085210.2213060-1-michael.roth@amd.com> <20240501085210.2213060-10-michael.roth@amd.com> <84e8460d-f8e7-46d7-a274-90ea7aec2203@linux.intel.com> <7d6a4320-89f5-48ce-95ff-54b00e7e9597@linux.intel.com> <7da9c4a3-8597-44aa-a7ad-cc2bd2a85024@linux.intel.com> In-Reply-To: <7da9c4a3-8597-44aa-a7ad-cc2bd2a85024@linux.intel.com> From: Paolo Bonzini Date: Tue, 28 May 2024 12:39:36 +0200 Message-ID: Subject: Re: [PATCH v15 09/20] KVM: SEV: Add support to handle MSR based Page State Change VMGEXIT To: Binbin Wu Cc: Michael Roth , kvm@vger.kernel.org, linux-coco@lists.linux.dev, linux-mm@kvack.org, linux-crypto@vger.kernel.org, x86@kernel.org, linux-kernel@vger.kernel.org, tglx@linutronix.de, mingo@redhat.com, jroedel@suse.de, thomas.lendacky@amd.com, hpa@zytor.com, ardb@kernel.org, seanjc@google.com, vkuznets@redhat.com, jmattson@google.com, luto@kernel.org, dave.hansen@linux.intel.com, slp@redhat.com, pgonda@google.com, peterz@infradead.org, srinivas.pandruvada@linux.intel.com, rientjes@google.com, dovmurik@linux.ibm.com, tobin@ibm.com, bp@alien8.de, vbabka@suse.cz, kirill@shutemov.name, ak@linux.intel.com, tony.luck@intel.com, sathyanarayanan.kuppuswamy@linux.intel.com, alpergun@google.com, jarkko@kernel.org, ashish.kalra@amd.com, nikunj.dadhania@amd.com, pankaj.gupta@amd.com, liam.merwick@oracle.com, Brijesh Singh , "Yamahata, Isaku" X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: DFA3F40003 X-Stat-Signature: zz38omokbr7dkdgfaddzdig68xe6tqo7 X-Rspam-User: X-Rspamd-Server: rspam04 X-HE-Tag: 1716892793-593979 X-HE-Meta: U2FsdGVkX18L0RBESA6hyHF4txlzFN5AbzpEhn5nXLcFEh/5YvjZOoyRcGpIwPKctOvsJNJCxdHCbwKYALstptbaCI0FJkxsn5kbb/VkfUNViQiv6EWctw7WQW05LTuOmASrVMhgzrHmGa9thPE/JdOXYhCZPAoPb+9mcXGUyTDjei4wCiOZUnn7HV70GwJNF/cCWe3qqUpeVSkpI462Ta/364NrlKKqu6TnG5cTvg4FtjtvmUH7EaxYvgCPQqXlKZQzB8eIuWDpJ4ixP+MTu6FfLCaEcbR2Yx1l/QGdmfLprNpFsu78LzzdQyInMheum1xcWlr4Nm2F2V3KVP0eAHCNNTriEnbd6H+2k6usZQtMoZ1YdMHLqvVXfFSNONfpxWH7yvDVq2w4lk3kmemXHBkpG+winVbnjahi7WqH3C2567QZh7bXgwal461ejlY14sCOhW6wY1kAkNjOj9ioh8Nd//HHvntFcFasBUIxX29XWi689fSTSCJqLKX4R7cdfIT7823rstNQPYsuwI1SRvTPaEiw9trqNaD3dHmY3jD7vWIK+3pufAA03c4CUs4OvZMrWuV47zxhJXkpNegRQ/pcL258K2UbGBQmnbHdgYBnNOk/fkaMEkG/axk+UQoEV0V+e/keyO5bOYd+P4n8l6ACjVaLPYqqal1H625n8s+QoGoXEWIcO5JDgEe05lwG8tnPlD/aHauEfI+ydVowg2SLyb3aVTUti8RgNlitgAjI0TccFRiB6bLEfPPbMJFplSJ5Yt9LYg1tTnjwAe1ZZT6vuZwP/qk4c9dk6my0ZM76/MEuMob75DZ7ptP0lJyM3196bIX9yqb5xm4sw5REQm0EIwfABSMukKhgTbQSnjsRQSnrBrBMrGKKg9+7PU9sTdSP52RRsAHF+al99Odk4NGgsMtSSC+WPFgcEAyBdSJau3x9gQH7mktbj6VKMirAfhCpeIz5SzbaHIDi98V KoNdTHsZ EmL8UtMnuRDDlsY1i9qfU6V63Pt/u2F5n8MZ0m6tKZp8T9duPVMu0LSP+WPLEtTP27Gv5QhrIYwZp7M0TJDBlXF1c6bSWzsKGIDIRu+0zUA6cYtdWOt1TPXg/P1kdsISQgWWnQi4jCOPkKjtfvasR8FbAiOcKCNsqGUzgtp1hNb/QOxYNIgQT+Smw+H0/srWoKdno8f5MQLO8ArOoVepiPCSL5o8SlNJ7G13zVw/uFV/N3xMSNqJPDmkSGcm7gSAPvobjLann0huN6CM= X-Bogosity: Ham, tests=bogofilter, spamicity=0.021591, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On Mon, May 27, 2024 at 2:26=E2=80=AFPM Binbin Wu wrote: > > It seems like TDX should be able to do something similar by limiting th= e > > size of each KVM_HC_MAP_GPA_RANGE to TDX_MAP_GPA_MAX_LEN, and then > > returning TDG_VP_VMCALL_RETRY to guest if the original size was greater > > than TDX_MAP_GPA_MAX_LEN. But at that point you're effectively done wit= h > > the entire request and can return to guest, so it actually seems a litt= le > > more straightforward than the SNP case above. E.g. TDX has a 1:1 mappin= g > > between TDG_VP_VMCALL_MAP_GPA and KVM_HC_MAP_GPA_RANGE events. (And eve= n > > similar names :)) > > > > So doesn't seem like there's a good reason to expose any of these > > throttling details to userspace, I think userspace should never be worried about throttling. I would say it's up to the guest to split the GPA into multiple ranges, but that's not how arch/x86/coco/tdx/tdx.c is implemented so instead we can do the split in KVM instead. It can be a module parameter or VM attribute, establishing the size that will be processed in a single TDVMCALL. Paolo > > The reasons I want to put the throttling in userspace are: > 1. Hardcode the TDX_MAP_GPA_MAX_LEN in kernel may not be preferred. > 2. The throttling thing doesn't need to be TDX specific, it can be > generic in userspace. > > I think we can set a reasonable value in userspace, so that for SNP, it > doesn't trigger the throttling since the large request will be split to > multiple userspace requests. > > > > in which case existing > > KVM_HC_MAP_GPA_RANGE interface seems like it should be sufficient. > > > > -Mike > > > >> > >>>> For TDX, it may also want to use KVM_HC_MAP_GPA_RANGE hypercall to > >>>> userspace via KVM_EXIT_HYPERCALL. > >>> Yes, definitely. > >>> > >>> Paolo > >>> >