From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sean Christopherson Date: Wed, 1 Nov 2023 09:36:00 -0700 Subject: [PATCH v13 17/35] KVM: Add transparent hugepage support for dedicated guest memory In-Reply-To: References: <20231027182217.3615211-1-seanjc@google.com> <20231027182217.3615211-18-seanjc@google.com> <7c0844d8-6f97-4904-a140-abeabeb552c1@intel.com> <92ba7ddd-2bc8-4a8d-bd67-d6614b21914f@intel.com> Message-ID: List-Id: To: kvm-riscv@lists.infradead.org MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit On Wed, Nov 01, 2023, Paolo Bonzini wrote: > On Wed, Nov 1, 2023 at 2:41?PM Sean Christopherson wrote: > > > > On Wed, Nov 01, 2023, Xiaoyao Li wrote: > > > On 10/31/2023 10:16 PM, Sean Christopherson wrote: > > > > On Tue, Oct 31, 2023, Xiaoyao Li wrote: > > > > > On 10/28/2023 2:21 AM, Sean Christopherson wrote: > > > But it's different than MADV_HUGEPAGE, in a way. Per my understanding, the > > > failure of MADV_HUGEPAGE is not fatal, user space can ignore it and > > > continue. > > > > > > However, the failure of KVM_GUEST_MEMFD_ALLOW_HUGEPAGE is fatal, which leads > > > to failure of guest memfd creation. > > > > Failing KVM_CREATE_GUEST_MEMFD isn't truly fatal, it just requires different > > action from userspace, i.e. instead of ignoring the error, userspace could redo > > KVM_CREATE_GUEST_MEMFD with KVM_GUEST_MEMFD_ALLOW_HUGEPAGE=0. > > > > We could make the behavior more like MADV_HUGEPAGE, e.g. theoretically we could > > extend fadvise() with FADV_HUGEPAGE, or add a guest_memfd knob/ioctl() to let > > userspace provide advice/hints after creating a guest_memfd. But I suspect that > > guest_memfd would be the only user of FADV_HUGEPAGE, and IMO a post-creation hint > > is actually less desirable. > > > > KVM_GUEST_MEMFD_ALLOW_HUGEPAGE will fail only if userspace didn't provide a > > compatible size or the kernel doesn't support THP. An incompatible size is likely > > a userspace bug, and for most setups that want to utilize guest_memfd, lack of THP > > support is likely a configuration bug. I.e. many/most uses *want* failures due to > > KVM_GUEST_MEMFD_ALLOW_HUGEPAGE to be fatal. > > > > > For current implementation, I think maybe KVM_GUEST_MEMFD_DESIRE_HUGEPAGE > > > fits better than KVM_GUEST_MEMFD_ALLOW_HUGEPAGE? or maybe *PREFER*? > > > > Why? Verbs like "prefer" and "desire" aren't a good fit IMO because they suggest > > the flag is a hint, and hints are usually best effort only, i.e. are ignored if > > there is a fundamental incompatibility. > > > > "Allow" isn't perfect, e.g. I would much prefer a straight KVM_GUEST_MEMFD_USE_HUGEPAGES > > or KVM_GUEST_MEMFD_HUGEPAGES flag, but I wanted the name to convey that KVM doesn't > > (yet) guarantee hugepages. I.e. KVM_GUEST_MEMFD_ALLOW_HUGEPAGE is stronger than > > a hint, but weaker than a requirement. And if/when KVM supports a dedicated memory > > pool of some kind, then we can add KVM_GUEST_MEMFD_REQUIRE_HUGEPAGE. > > I think that the current patch is fine, but I will adjust it to always > allow the flag, and to make the size check even if !CONFIG_TRANSPARENT_HUGEPAGE. > If hugepages are not guaranteed, and (theoretically) you could have no > hugepage at all in the result, it's okay to get this result even if THP is not > available in the kernel. Can you post a fixup patch? It's not clear to me exactly what behavior you intend to end up with. From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-yb1-f202.google.com (mail-yb1-f202.google.com [209.85.219.202]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 816D8111A2 for ; Wed, 1 Nov 2023 16:36:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=flex--seanjc.bounces.google.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="M0YQBxbp" Received: by mail-yb1-f202.google.com with SMTP id 3f1490d57ef6-d9cb4de3bf0so7625702276.0 for ; Wed, 01 Nov 2023 09:36:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1698856562; x=1699461362; darn=lists.linux.dev; h=content-transfer-encoding:cc:to:from:subject:message-id:references :mime-version:in-reply-to:date:from:to:cc:subject:date:message-id :reply-to; bh=azJu2Dh8gujl5qnxyYwo1n6krfiG0RwudOI1y5vnuB4=; b=M0YQBxbpo06Hz9bG6HQ4NDsH4JS7FAvqNrQn8v8fRDpmaG8mpSHizNQEAjYsjehQ/n hIEAU9ddTPTyRxXAt0eJcOpCB6MhXWbqZGf3Fi8pXs4XwLWHweq/P/u+E+EiL+QqFTfB kkLWapByZncDrzE+XKMfiN9TMtp0XykyP3unJ6Wcu2p9XCj54kYsI4YgEcV8+nedHqWn CKznzY+wl+k1TSTuiM1iSOKbt0pS/xjOqvYWQ2VX3qSSopiDot1tPfoPiJQgTXWaabHw YDzFSn0MTm7hd+vuQX+oJwupDUifp8Pe0zYA2MG4wzsEHV/GY0wC2BomgiqVwUAFbquK QVHw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1698856562; x=1699461362; h=content-transfer-encoding:cc:to:from:subject:message-id:references :mime-version:in-reply-to:date:x-gm-message-state:from:to:cc:subject :date:message-id:reply-to; bh=azJu2Dh8gujl5qnxyYwo1n6krfiG0RwudOI1y5vnuB4=; b=Cm3NakcEuhfoZjqSkDcZoq3xTpgChqISBrRNNdg3AY42YHqv5d2zj3ncNjY5pI7+mz GnE30dVFFataJO3va3D/uDVOFXegvfeetsZ1ZKIFA/t5KTMUnaHqIJaN3CWMOKLQ0mDO 18BmWtpQ0523ZsgcQdYydH7ifQKnINRXXM1ksAGL5Jv2OApVyEw6Jl3MRb7CnEk7lBrE e0iPrChIGqdQDV1sVTMXMRbeUEI32ruDf+j818sSl6r/0KGleo9F2SlARIdUQt0Gyjtr LEn0w1QxdfxZrAiRPOjnToukbEyXg4KucJwduH1Zh/ylIstAFnr/4TQlyHVGv12E2WZa ah3w== X-Gm-Message-State: AOJu0Yxzc34mXLIBgD3wM+zR398BCAqJzWY1U6ie0CXte63dhg8D0b8L Ybk+41OBROeTFCy59nEh5c6CSNkzjyg= X-Google-Smtp-Source: AGHT+IFqCABorYKmfCmJZy/oBSeOXTtnBU+krovHVjWnvhFIdm8AwbTMBJoMdfZ9FR5pLbycY5bTrtHt4Z4= X-Received: from zagreus.c.googlers.com ([fda3:e722:ac3:cc00:7f:e700:c0a8:5c37]) (user=seanjc job=sendgmr) by 2002:a25:770f:0:b0:da0:73c2:db78 with SMTP id s15-20020a25770f000000b00da073c2db78mr326876ybc.9.1698856562473; Wed, 01 Nov 2023 09:36:02 -0700 (PDT) Date: Wed, 1 Nov 2023 09:36:00 -0700 In-Reply-To: Precedence: bulk X-Mailing-List: kvmarm@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 References: <20231027182217.3615211-1-seanjc@google.com> <20231027182217.3615211-18-seanjc@google.com> <7c0844d8-6f97-4904-a140-abeabeb552c1@intel.com> <92ba7ddd-2bc8-4a8d-bd67-d6614b21914f@intel.com> Message-ID: Subject: Re: [PATCH v13 17/35] KVM: Add transparent hugepage support for dedicated guest memory From: Sean Christopherson To: Paolo Bonzini Cc: Xiaoyao Li , Marc Zyngier , Oliver Upton , Huacai Chen , Michael Ellerman , Anup Patel , Paul Walmsley , Palmer Dabbelt , Albert Ou , Alexander Viro , Christian Brauner , "Matthew Wilcox (Oracle)" , Andrew Morton , kvm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, kvmarm@lists.linux.dev, linux-mips@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, kvm-riscv@lists.infradead.org, linux-riscv@lists.infradead.org, linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Xu Yilun , Chao Peng , Fuad Tabba , Jarkko Sakkinen , Anish Moorthy , David Matlack , Yu Zhang , Isaku Yamahata , "=?utf-8?Q?Micka=C3=ABl_Sala=C3=BCn?=" , Vlastimil Babka , Vishal Annapurve , Ackerley Tng , Maciej Szmigiero , David Hildenbrand , Quentin Perret , Michael Roth , Wang , Liam Merwick , Isaku Yamahata , "Kirill A . Shutemov" Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable On Wed, Nov 01, 2023, Paolo Bonzini wrote: > On Wed, Nov 1, 2023 at 2:41=E2=80=AFPM Sean Christopherson wrote: > > > > On Wed, Nov 01, 2023, Xiaoyao Li wrote: > > > On 10/31/2023 10:16 PM, Sean Christopherson wrote: > > > > On Tue, Oct 31, 2023, Xiaoyao Li wrote: > > > > > On 10/28/2023 2:21 AM, Sean Christopherson wrote: > > > But it's different than MADV_HUGEPAGE, in a way. Per my understanding= , the > > > failure of MADV_HUGEPAGE is not fatal, user space can ignore it and > > > continue. > > > > > > However, the failure of KVM_GUEST_MEMFD_ALLOW_HUGEPAGE is fatal, whic= h leads > > > to failure of guest memfd creation. > > > > Failing KVM_CREATE_GUEST_MEMFD isn't truly fatal, it just requires diff= erent > > action from userspace, i.e. instead of ignoring the error, userspace co= uld redo > > KVM_CREATE_GUEST_MEMFD with KVM_GUEST_MEMFD_ALLOW_HUGEPAGE=3D0. > > > > We could make the behavior more like MADV_HUGEPAGE, e.g. theoretically = we could > > extend fadvise() with FADV_HUGEPAGE, or add a guest_memfd knob/ioctl() = to let > > userspace provide advice/hints after creating a guest_memfd. But I sus= pect that > > guest_memfd would be the only user of FADV_HUGEPAGE, and IMO a post-cre= ation hint > > is actually less desirable. > > > > KVM_GUEST_MEMFD_ALLOW_HUGEPAGE will fail only if userspace didn't provi= de a > > compatible size or the kernel doesn't support THP. An incompatible siz= e is likely > > a userspace bug, and for most setups that want to utilize guest_memfd, = lack of THP > > support is likely a configuration bug. I.e. many/most uses *want* fail= ures due to > > KVM_GUEST_MEMFD_ALLOW_HUGEPAGE to be fatal. > > > > > For current implementation, I think maybe KVM_GUEST_MEMFD_DESIRE_HUGE= PAGE > > > fits better than KVM_GUEST_MEMFD_ALLOW_HUGEPAGE? or maybe *PREFER*? > > > > Why? Verbs like "prefer" and "desire" aren't a good fit IMO because th= ey suggest > > the flag is a hint, and hints are usually best effort only, i.e. are ig= nored if > > there is a fundamental incompatibility. > > > > "Allow" isn't perfect, e.g. I would much prefer a straight KVM_GUEST_ME= MFD_USE_HUGEPAGES > > or KVM_GUEST_MEMFD_HUGEPAGES flag, but I wanted the name to convey that= KVM doesn't > > (yet) guarantee hugepages. I.e. KVM_GUEST_MEMFD_ALLOW_HUGEPAGE is stro= nger than > > a hint, but weaker than a requirement. And if/when KVM supports a dedi= cated memory > > pool of some kind, then we can add KVM_GUEST_MEMFD_REQUIRE_HUGEPAGE. >=20 > I think that the current patch is fine, but I will adjust it to always > allow the flag, and to make the size check even if !CONFIG_TRANSPARENT_HU= GEPAGE. > If hugepages are not guaranteed, and (theoretically) you could have no > hugepage at all in the result, it's okay to get this result even if THP i= s not > available in the kernel. Can you post a fixup patch? It's not clear to me exactly what behavior you= intend to end up with. 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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id DB0FCC4332F for ; Wed, 1 Nov 2023 16:36:22 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:Cc:To:From:Subject:Message-ID: References:Mime-Version:In-Reply-To:Date:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Owner; bh=pO681EchmWqceO9siIDuhcDhMgg2mWFGJD/ulTYFu1U=; b=hoBew7rF8TBzOG9jQ/4K9yi6ah S75k73btDcJZaIXk7AIpn0tGaJdPmrdlBOpkFORxzbo9sZgEnp08jYAbe+oF6fwJ8eQde5nH4OpgA t9tBJvZF5yMe0eLpfnhk14oto5RXP4EyxOEfGOOzgPtVTNGlXVJfpDMBC+zo9khcxhnBtP6uty/df E4fVWuXQvPlGE4xgsbHnca8nMtbJz157nHooWKA6vHMzcHvpqFJkoIIV3B0JwIT/mBpjJiYuRqqrr 9D5twlaDBmzCh2GsVlDW55gycUu3Bu/1zFgYOPgr+jhnBcZ1GbFhpGe8IEYrMVfwOh+qR2sTWLLpF Xkz51Nbg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qyECN-007oqO-05; Wed, 01 Nov 2023 16:36:07 +0000 Received: from mail-yb1-xb4a.google.com ([2607:f8b0:4864:20::b4a]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1qyECK-007opI-0M for linux-riscv@lists.infradead.org; Wed, 01 Nov 2023 16:36:05 +0000 Received: by mail-yb1-xb4a.google.com with SMTP id 3f1490d57ef6-d9cb4de3bf0so7625699276.0 for ; Wed, 01 Nov 2023 09:36:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1698856562; x=1699461362; darn=lists.infradead.org; h=content-transfer-encoding:cc:to:from:subject:message-id:references :mime-version:in-reply-to:date:from:to:cc:subject:date:message-id :reply-to; bh=azJu2Dh8gujl5qnxyYwo1n6krfiG0RwudOI1y5vnuB4=; b=kAmi5cL5ocLX6QpPeOk8QKdHNa1ZiB7fL0c5znE2ehneGPBzk/qs43hVTIWt0OyW4f ipaeYiGSisfF7G1f+Jft3sRmcsx1bjL/1/nfW/bcKwnhWHkGIgGTOcT6Mw+t+DLVLTu5 MLrlDjQHNMwHCO2Q0HOPhYJiy1T/Qj2t4y/IjGUI4vbpjKhMAYnc0X6e/cls2pLsE3em nL0HLFf7LnilNiPW9CSP2nJp/RUOTQXyHz1NE4DFr9/XXNKPVpTlJNJBy0L9JKtJhBdt WluWf4Oh0EdWGo+JmlohZMiKhv653lQ16b0ACNPlpfYG856iVlVEDYMQ1CY75o/RM9UV h6JQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1698856562; x=1699461362; h=content-transfer-encoding:cc:to:from:subject:message-id:references :mime-version:in-reply-to:date:x-gm-message-state:from:to:cc:subject :date:message-id:reply-to; bh=azJu2Dh8gujl5qnxyYwo1n6krfiG0RwudOI1y5vnuB4=; b=QCX//ie2+ynbSRNQhXn2cyhcgietXCXoKSVbRorc74QNJ/IEdR93l1RC/l9zEJjo4w TPqDM/aYbp7e6LNWXdiqi4it6iy9y6NHzRHSp0ON8YMUAgQKv56GEb5ARyGmrbCrYKEZ okIDbXKRgp9g8HSFASxRTOSPamQy11dyI7eWeo253QVsUuWMQlkWRsK+tMEegZhNJZ2q wBUkuYnfAJot6PdI1ZsJPg82vuBOG/s79tbPbLLpkJFE8NF0f2M9TMd30jHj3le17S8T CyfyYzB0s7uVCwdDVFkK+EJmj38tyq6Hw5kEui54Jq3LcrSEa3rje3qHmU9Iua7yvIRI nUBQ== X-Gm-Message-State: AOJu0Ywb36PSzCO/gbQeeooJ/ZfpFjADn6sF1c9Hw0yf7jYFtg0lCuXb 9kLFY8zJNqum6/a1plqDSOqBn+W52xk= X-Google-Smtp-Source: AGHT+IFqCABorYKmfCmJZy/oBSeOXTtnBU+krovHVjWnvhFIdm8AwbTMBJoMdfZ9FR5pLbycY5bTrtHt4Z4= X-Received: from zagreus.c.googlers.com ([fda3:e722:ac3:cc00:7f:e700:c0a8:5c37]) (user=seanjc job=sendgmr) by 2002:a25:770f:0:b0:da0:73c2:db78 with SMTP id s15-20020a25770f000000b00da073c2db78mr326876ybc.9.1698856562473; Wed, 01 Nov 2023 09:36:02 -0700 (PDT) Date: Wed, 1 Nov 2023 09:36:00 -0700 In-Reply-To: Mime-Version: 1.0 References: <20231027182217.3615211-1-seanjc@google.com> <20231027182217.3615211-18-seanjc@google.com> <7c0844d8-6f97-4904-a140-abeabeb552c1@intel.com> <92ba7ddd-2bc8-4a8d-bd67-d6614b21914f@intel.com> Message-ID: Subject: Re: [PATCH v13 17/35] KVM: Add transparent hugepage support for dedicated guest memory From: Sean Christopherson To: Paolo Bonzini Cc: Xiaoyao Li , Marc Zyngier , Oliver Upton , Huacai Chen , Michael Ellerman , Anup Patel , Paul Walmsley , Palmer Dabbelt , Albert Ou , Alexander Viro , Christian Brauner , "Matthew Wilcox (Oracle)" , Andrew Morton , kvm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, kvmarm@lists.linux.dev, linux-mips@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, kvm-riscv@lists.infradead.org, linux-riscv@lists.infradead.org, linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Xu Yilun , Chao Peng , Fuad Tabba , Jarkko Sakkinen , Anish Moorthy , David Matlack , Yu Zhang , Isaku Yamahata , "=?utf-8?Q?Micka=C3=ABl_Sala=C3=BCn?=" , Vlastimil Babka , Vishal Annapurve , Ackerley Tng , Maciej Szmigiero , David Hildenbrand , Quentin Perret , Michael Roth , Wang , Liam Merwick , Isaku Yamahata , "Kirill A . Shutemov" X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20231101_093604_172913_1F4451B3 X-CRM114-Status: GOOD ( 29.75 ) X-BeenThere: linux-riscv@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-riscv" Errors-To: linux-riscv-bounces+linux-riscv=archiver.kernel.org@lists.infradead.org T24gV2VkLCBOb3YgMDEsIDIwMjMsIFBhb2xvIEJvbnppbmkgd3JvdGU6Cj4gT24gV2VkLCBOb3Yg MSwgMjAyMyBhdCAyOjQx4oCvUE0gU2VhbiBDaHJpc3RvcGhlcnNvbiA8c2VhbmpjQGdvb2dsZS5j b20+IHdyb3RlOgo+ID4KPiA+IE9uIFdlZCwgTm92IDAxLCAyMDIzLCBYaWFveWFvIExpIHdyb3Rl Ogo+ID4gPiBPbiAxMC8zMS8yMDIzIDEwOjE2IFBNLCBTZWFuIENocmlzdG9waGVyc29uIHdyb3Rl Ogo+ID4gPiA+IE9uIFR1ZSwgT2N0IDMxLCAyMDIzLCBYaWFveWFvIExpIHdyb3RlOgo+ID4gPiA+ ID4gT24gMTAvMjgvMjAyMyAyOjIxIEFNLCBTZWFuIENocmlzdG9waGVyc29uIHdyb3RlOgo+ID4g PiBCdXQgaXQncyBkaWZmZXJlbnQgdGhhbiBNQURWX0hVR0VQQUdFLCBpbiBhIHdheS4gUGVyIG15 IHVuZGVyc3RhbmRpbmcsIHRoZQo+ID4gPiBmYWlsdXJlIG9mIE1BRFZfSFVHRVBBR0UgaXMgbm90 IGZhdGFsLCB1c2VyIHNwYWNlIGNhbiBpZ25vcmUgaXQgYW5kCj4gPiA+IGNvbnRpbnVlLgo+ID4g Pgo+ID4gPiBIb3dldmVyLCB0aGUgZmFpbHVyZSBvZiBLVk1fR1VFU1RfTUVNRkRfQUxMT1dfSFVH RVBBR0UgaXMgZmF0YWwsIHdoaWNoIGxlYWRzCj4gPiA+IHRvIGZhaWx1cmUgb2YgZ3Vlc3QgbWVt ZmQgY3JlYXRpb24uCj4gPgo+ID4gRmFpbGluZyBLVk1fQ1JFQVRFX0dVRVNUX01FTUZEIGlzbid0 IHRydWx5IGZhdGFsLCBpdCBqdXN0IHJlcXVpcmVzIGRpZmZlcmVudAo+ID4gYWN0aW9uIGZyb20g dXNlcnNwYWNlLCBpLmUuIGluc3RlYWQgb2YgaWdub3JpbmcgdGhlIGVycm9yLCB1c2Vyc3BhY2Ug Y291bGQgcmVkbwo+ID4gS1ZNX0NSRUFURV9HVUVTVF9NRU1GRCB3aXRoIEtWTV9HVUVTVF9NRU1G RF9BTExPV19IVUdFUEFHRT0wLgo+ID4KPiA+IFdlIGNvdWxkIG1ha2UgdGhlIGJlaGF2aW9yIG1v cmUgbGlrZSBNQURWX0hVR0VQQUdFLCBlLmcuIHRoZW9yZXRpY2FsbHkgd2UgY291bGQKPiA+IGV4 dGVuZCBmYWR2aXNlKCkgd2l0aCBGQURWX0hVR0VQQUdFLCBvciBhZGQgYSBndWVzdF9tZW1mZCBr bm9iL2lvY3RsKCkgdG8gbGV0Cj4gPiB1c2Vyc3BhY2UgcHJvdmlkZSBhZHZpY2UvaGludHMgYWZ0 ZXIgY3JlYXRpbmcgYSBndWVzdF9tZW1mZC4gIEJ1dCBJIHN1c3BlY3QgdGhhdAo+ID4gZ3Vlc3Rf bWVtZmQgd291bGQgYmUgdGhlIG9ubHkgdXNlciBvZiBGQURWX0hVR0VQQUdFLCBhbmQgSU1PIGEg cG9zdC1jcmVhdGlvbiBoaW50Cj4gPiBpcyBhY3R1YWxseSBsZXNzIGRlc2lyYWJsZS4KPiA+Cj4g PiBLVk1fR1VFU1RfTUVNRkRfQUxMT1dfSFVHRVBBR0Ugd2lsbCBmYWlsIG9ubHkgaWYgdXNlcnNw YWNlIGRpZG4ndCBwcm92aWRlIGEKPiA+IGNvbXBhdGlibGUgc2l6ZSBvciB0aGUga2VybmVsIGRv ZXNuJ3Qgc3VwcG9ydCBUSFAuICBBbiBpbmNvbXBhdGlibGUgc2l6ZSBpcyBsaWtlbHkKPiA+IGEg dXNlcnNwYWNlIGJ1ZywgYW5kIGZvciBtb3N0IHNldHVwcyB0aGF0IHdhbnQgdG8gdXRpbGl6ZSBn dWVzdF9tZW1mZCwgbGFjayBvZiBUSFAKPiA+IHN1cHBvcnQgaXMgbGlrZWx5IGEgY29uZmlndXJh dGlvbiBidWcuICBJLmUuIG1hbnkvbW9zdCB1c2VzICp3YW50KiBmYWlsdXJlcyBkdWUgdG8KPiA+ IEtWTV9HVUVTVF9NRU1GRF9BTExPV19IVUdFUEFHRSB0byBiZSBmYXRhbC4KPiA+Cj4gPiA+IEZv ciBjdXJyZW50IGltcGxlbWVudGF0aW9uLCBJIHRoaW5rIG1heWJlIEtWTV9HVUVTVF9NRU1GRF9E RVNJUkVfSFVHRVBBR0UKPiA+ID4gZml0cyBiZXR0ZXIgdGhhbiBLVk1fR1VFU1RfTUVNRkRfQUxM T1dfSFVHRVBBR0U/IG9yIG1heWJlICpQUkVGRVIqPwo+ID4KPiA+IFdoeT8gIFZlcmJzIGxpa2Ug InByZWZlciIgYW5kICJkZXNpcmUiIGFyZW4ndCBhIGdvb2QgZml0IElNTyBiZWNhdXNlIHRoZXkg c3VnZ2VzdAo+ID4gdGhlIGZsYWcgaXMgYSBoaW50LCBhbmQgaGludHMgYXJlIHVzdWFsbHkgYmVz dCBlZmZvcnQgb25seSwgaS5lLiBhcmUgaWdub3JlZCBpZgo+ID4gdGhlcmUgaXMgYSBmdW5kYW1l bnRhbCBpbmNvbXBhdGliaWxpdHkuCj4gPgo+ID4gIkFsbG93IiBpc24ndCBwZXJmZWN0LCBlLmcu IEkgd291bGQgbXVjaCBwcmVmZXIgYSBzdHJhaWdodCBLVk1fR1VFU1RfTUVNRkRfVVNFX0hVR0VQ QUdFUwo+ID4gb3IgS1ZNX0dVRVNUX01FTUZEX0hVR0VQQUdFUyBmbGFnLCBidXQgSSB3YW50ZWQg dGhlIG5hbWUgdG8gY29udmV5IHRoYXQgS1ZNIGRvZXNuJ3QKPiA+ICh5ZXQpIGd1YXJhbnRlZSBo dWdlcGFnZXMuICBJLmUuIEtWTV9HVUVTVF9NRU1GRF9BTExPV19IVUdFUEFHRSBpcyBzdHJvbmdl ciB0aGFuCj4gPiBhIGhpbnQsIGJ1dCB3ZWFrZXIgdGhhbiBhIHJlcXVpcmVtZW50LiAgQW5kIGlm L3doZW4gS1ZNIHN1cHBvcnRzIGEgZGVkaWNhdGVkIG1lbW9yeQo+ID4gcG9vbCBvZiBzb21lIGtp bmQsIHRoZW4gd2UgY2FuIGFkZCBLVk1fR1VFU1RfTUVNRkRfUkVRVUlSRV9IVUdFUEFHRS4KPiAK PiBJIHRoaW5rIHRoYXQgdGhlIGN1cnJlbnQgcGF0Y2ggaXMgZmluZSwgYnV0IEkgd2lsbCBhZGp1 c3QgaXQgdG8gYWx3YXlzCj4gYWxsb3cgdGhlIGZsYWcsIGFuZCB0byBtYWtlIHRoZSBzaXplIGNo ZWNrIGV2ZW4gaWYgIUNPTkZJR19UUkFOU1BBUkVOVF9IVUdFUEFHRS4KPiBJZiBodWdlcGFnZXMg YXJlIG5vdCBndWFyYW50ZWVkLCBhbmQgKHRoZW9yZXRpY2FsbHkpIHlvdSBjb3VsZCBoYXZlIG5v Cj4gaHVnZXBhZ2UgYXQgYWxsIGluIHRoZSByZXN1bHQsIGl0J3Mgb2theSB0byBnZXQgdGhpcyBy ZXN1bHQgZXZlbiBpZiBUSFAgaXMgbm90Cj4gYXZhaWxhYmxlIGluIHRoZSBrZXJuZWwuCgpDYW4g eW91IHBvc3QgYSBmaXh1cCBwYXRjaD8gIEl0J3Mgbm90IGNsZWFyIHRvIG1lIGV4YWN0bHkgd2hh dCBiZWhhdmlvciB5b3UgaW50ZW5kCnRvIGVuZCB1cCB3aXRoLgoKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgtcmlzY3YgbWFpbGluZyBsaXN0Cmxp bnV4LXJpc2N2QGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcv bWFpbG1hbi9saXN0aW5mby9saW51eC1yaXNjdgo= 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 lists.ozlabs.org (lists.ozlabs.org [112.213.38.117]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 62CC6C4332F for ; Wed, 1 Nov 2023 16:37:05 +0000 (UTC) Authentication-Results: lists.ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=google.com header.i=@google.com header.a=rsa-sha256 header.s=20230601 header.b=z/yAGuKn; dkim-atps=neutral Received: from boromir.ozlabs.org (localhost [IPv6:::1]) by lists.ozlabs.org (Postfix) with ESMTP id 4SLCMg41M8z3c82 for ; Thu, 2 Nov 2023 03:37:03 +1100 (AEDT) Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=google.com header.i=@google.com header.a=rsa-sha256 header.s=20230601 header.b=z/yAGuKn; dkim-atps=neutral Authentication-Results: lists.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=flex--seanjc.bounces.google.com (client-ip=2607:f8b0:4864:20::b49; helo=mail-yb1-xb49.google.com; envelope-from=3cn5czqykdkkbnjwslpxxpun.lxvurwdgyyl-mneurbcb.xiujkb.xap@flex--seanjc.bounces.google.com; receiver=lists.ozlabs.org) Received: from mail-yb1-xb49.google.com (mail-yb1-xb49.google.com [IPv6:2607:f8b0:4864:20::b49]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 4SLCLf5d6Bz2yV3 for ; Thu, 2 Nov 2023 03:36:08 +1100 (AEDT) Received: by mail-yb1-xb49.google.com with SMTP id 3f1490d57ef6-d9cb4de3bf0so7625703276.0 for ; Wed, 01 Nov 2023 09:36:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1698856562; x=1699461362; darn=lists.ozlabs.org; h=content-transfer-encoding:cc:to:from:subject:message-id:references :mime-version:in-reply-to:date:from:to:cc:subject:date:message-id :reply-to; bh=azJu2Dh8gujl5qnxyYwo1n6krfiG0RwudOI1y5vnuB4=; b=z/yAGuKnqcViV8avRK1U3o0lvPkEgDxvLzNg9S2gZ/vtTUMh8Vp9ZCQm5pagew/hJX 2C29yM5odElorh3x8b/6bB0ncbh9ex+WsjUMfrdMrQkiUZl4MqYVEIOuCAnkyPswRloB 4uLXaxlyfVHzsZB7DAvLeOWHStudgvIAohhKPYw/vRcTiPQBoMXVMsvO0TtAiVYs2Xv4 Wfrc+oildBXbzXr4kdn8wiwzU94eVO6lfrCUIFdHQswSpfX7V2NKaKw+ruJw9JGoNZp+ Q3pXLg51EbtcCo/pA5kwAPC7x7clBoLsmKwI6z2XMnM9FGiDZNZ+b0RYB28gscCvpUrJ PUcQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1698856562; x=1699461362; h=content-transfer-encoding:cc:to:from:subject:message-id:references :mime-version:in-reply-to:date:x-gm-message-state:from:to:cc:subject :date:message-id:reply-to; bh=azJu2Dh8gujl5qnxyYwo1n6krfiG0RwudOI1y5vnuB4=; b=fiQdqVijSxee8yD6xNbXe6L/0AQoQUB3fwv8upFj9PXmOmx6645aDxWbe8D/meAaVq NFKWV3JSfnjNQxp/K9GT4trM8nFBHJm8LHmoABH22Fl7cbwqsin1qyP/ngQMdQf/SEMJ CZtVNYdO8eSi5AY+nVX2jGi4iBo3zBiTq4yEfaWYg7wdWjt3zsAyKnKdvUQw8sV9FFkW ohLW5DffvXF/41nmy61DsODsT8WQ+UE9IcnzVXgKdhuiWiq3JbSARaPLEf+vdDUkmPGf sk4km++AlHNoutVx+z7tzq2NKW5xYB5Lq3KTe6OGvte+8OWgGix789uP/cxdbaFG6uUo bgbg== X-Gm-Message-State: AOJu0YytvG+7hngT/mJv0wATVi+Flx3eH7OHUn8F52U9atVtiEzUKKoy ZkvHKD3NO6fG4awUm9rv1cHPybY917o= X-Google-Smtp-Source: AGHT+IFqCABorYKmfCmJZy/oBSeOXTtnBU+krovHVjWnvhFIdm8AwbTMBJoMdfZ9FR5pLbycY5bTrtHt4Z4= X-Received: from zagreus.c.googlers.com ([fda3:e722:ac3:cc00:7f:e700:c0a8:5c37]) (user=seanjc job=sendgmr) by 2002:a25:770f:0:b0:da0:73c2:db78 with SMTP id s15-20020a25770f000000b00da073c2db78mr326876ybc.9.1698856562473; Wed, 01 Nov 2023 09:36:02 -0700 (PDT) Date: Wed, 1 Nov 2023 09:36:00 -0700 In-Reply-To: Mime-Version: 1.0 References: <20231027182217.3615211-1-seanjc@google.com> <20231027182217.3615211-18-seanjc@google.com> <7c0844d8-6f97-4904-a140-abeabeb552c1@intel.com> <92ba7ddd-2bc8-4a8d-bd67-d6614b21914f@intel.com> Message-ID: Subject: Re: [PATCH v13 17/35] KVM: Add transparent hugepage support for dedicated guest memory From: Sean Christopherson To: Paolo Bonzini Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-BeenThere: linuxppc-dev@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: kvm@vger.kernel.org, David Hildenbrand , linux-kernel@vger.kernel.org, linux-mm@kvack.org, Chao Peng , linux-riscv@lists.infradead.org, Isaku Yamahata , Marc Zyngier , Huacai Chen , Xiaoyao Li , "Matthew Wilcox \(Oracle\)" , Wang , Fuad Tabba , Yu Zhang , Maciej Szmigiero , Albert Ou , Vlastimil Babka , Michael Roth , Ackerley Tng , Alexander Viro , Paul Walmsley , kvmarm@lists.linux.dev, linux-arm-kernel@lists.infradead.org, =?utf-8?Q?Micka=C3=ABl_Sala=C3=BCn?= , Isaku Yamahata , Christian Brauner , Quentin Perret , A nup Patel , linux-mips@vger.kernel.org, Oliver Upton , David Matlack , Jarkko Sakkinen , Palmer Dabbelt , "Kirill A . Shutemov" , kvm-riscv@lists.infradead.org, linux-fsdevel@vger.kernel.org, Liam Merwick , Andrew Morton , Vishal Annapurve , linuxppc-dev@lists.ozlabs.org, Xu Yilun , Anish Moorthy Errors-To: linuxppc-dev-bounces+linuxppc-dev=archiver.kernel.org@lists.ozlabs.org Sender: "Linuxppc-dev" On Wed, Nov 01, 2023, Paolo Bonzini wrote: > On Wed, Nov 1, 2023 at 2:41=E2=80=AFPM Sean Christopherson wrote: > > > > On Wed, Nov 01, 2023, Xiaoyao Li wrote: > > > On 10/31/2023 10:16 PM, Sean Christopherson wrote: > > > > On Tue, Oct 31, 2023, Xiaoyao Li wrote: > > > > > On 10/28/2023 2:21 AM, Sean Christopherson wrote: > > > But it's different than MADV_HUGEPAGE, in a way. Per my understanding= , the > > > failure of MADV_HUGEPAGE is not fatal, user space can ignore it and > > > continue. > > > > > > However, the failure of KVM_GUEST_MEMFD_ALLOW_HUGEPAGE is fatal, whic= h leads > > > to failure of guest memfd creation. > > > > Failing KVM_CREATE_GUEST_MEMFD isn't truly fatal, it just requires diff= erent > > action from userspace, i.e. instead of ignoring the error, userspace co= uld redo > > KVM_CREATE_GUEST_MEMFD with KVM_GUEST_MEMFD_ALLOW_HUGEPAGE=3D0. > > > > We could make the behavior more like MADV_HUGEPAGE, e.g. theoretically = we could > > extend fadvise() with FADV_HUGEPAGE, or add a guest_memfd knob/ioctl() = to let > > userspace provide advice/hints after creating a guest_memfd. But I sus= pect that > > guest_memfd would be the only user of FADV_HUGEPAGE, and IMO a post-cre= ation hint > > is actually less desirable. > > > > KVM_GUEST_MEMFD_ALLOW_HUGEPAGE will fail only if userspace didn't provi= de a > > compatible size or the kernel doesn't support THP. An incompatible siz= e is likely > > a userspace bug, and for most setups that want to utilize guest_memfd, = lack of THP > > support is likely a configuration bug. I.e. many/most uses *want* fail= ures due to > > KVM_GUEST_MEMFD_ALLOW_HUGEPAGE to be fatal. > > > > > For current implementation, I think maybe KVM_GUEST_MEMFD_DESIRE_HUGE= PAGE > > > fits better than KVM_GUEST_MEMFD_ALLOW_HUGEPAGE? or maybe *PREFER*? > > > > Why? Verbs like "prefer" and "desire" aren't a good fit IMO because th= ey suggest > > the flag is a hint, and hints are usually best effort only, i.e. are ig= nored if > > there is a fundamental incompatibility. > > > > "Allow" isn't perfect, e.g. I would much prefer a straight KVM_GUEST_ME= MFD_USE_HUGEPAGES > > or KVM_GUEST_MEMFD_HUGEPAGES flag, but I wanted the name to convey that= KVM doesn't > > (yet) guarantee hugepages. I.e. KVM_GUEST_MEMFD_ALLOW_HUGEPAGE is stro= nger than > > a hint, but weaker than a requirement. And if/when KVM supports a dedi= cated memory > > pool of some kind, then we can add KVM_GUEST_MEMFD_REQUIRE_HUGEPAGE. >=20 > I think that the current patch is fine, but I will adjust it to always > allow the flag, and to make the size check even if !CONFIG_TRANSPARENT_HU= GEPAGE. > If hugepages are not guaranteed, and (theoretically) you could have no > hugepage at all in the result, it's okay to get this result even if THP i= s not > available in the kernel. Can you post a fixup patch? It's not clear to me exactly what behavior you= intend to end up with. 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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 6B7E5C4332F for ; Wed, 1 Nov 2023 16:36:42 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:Cc:To:From:Subject:Message-ID: References:Mime-Version:In-Reply-To:Date:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Owner; bh=XygciQ2yYBsFeJ+FEXAUwCOCgaVhHufk8RpaVDVGWHY=; b=Y8qxEcldojgmz8NMWPBqVIWyKe wUq4ik3AurOZ3s1qCSvrcM38z1q0edHof+7kG4EpklmzVNQB5ZPJySzikT42hqxpKD4jrUxJXwA6+ vTtI2xlZSeAxyjSjXRJQ1gyhQIBS/D/c+rOzo3zhLj50eeh4Pe8FC3l9RUqL4r/3H3/qLFRvaUEl1 e+driNwssdI+dEKym7k4TEgqAI6QekCauyncF+PdDBMKnfSxAbphR4OruKOyPmXnPQpPtch8tuuLV 8Qi3GNbnym/SYECLlfurb88tESfx1UbJK1xZBDNMwxAPewp+oJePRwIuHGceyVlX+h3qQo3svPaRi tgxFlonQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qyECN-007oqd-2X; Wed, 01 Nov 2023 16:36:07 +0000 Received: from mail-yb1-xb49.google.com ([2607:f8b0:4864:20::b49]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1qyECL-007opH-2D for linux-arm-kernel@lists.infradead.org; Wed, 01 Nov 2023 16:36:07 +0000 Received: by mail-yb1-xb49.google.com with SMTP id 3f1490d57ef6-d9b9aeb4962so7597466276.3 for ; Wed, 01 Nov 2023 09:36:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1698856562; x=1699461362; darn=lists.infradead.org; h=content-transfer-encoding:cc:to:from:subject:message-id:references :mime-version:in-reply-to:date:from:to:cc:subject:date:message-id :reply-to; bh=azJu2Dh8gujl5qnxyYwo1n6krfiG0RwudOI1y5vnuB4=; b=kAmi5cL5ocLX6QpPeOk8QKdHNa1ZiB7fL0c5znE2ehneGPBzk/qs43hVTIWt0OyW4f ipaeYiGSisfF7G1f+Jft3sRmcsx1bjL/1/nfW/bcKwnhWHkGIgGTOcT6Mw+t+DLVLTu5 MLrlDjQHNMwHCO2Q0HOPhYJiy1T/Qj2t4y/IjGUI4vbpjKhMAYnc0X6e/cls2pLsE3em nL0HLFf7LnilNiPW9CSP2nJp/RUOTQXyHz1NE4DFr9/XXNKPVpTlJNJBy0L9JKtJhBdt WluWf4Oh0EdWGo+JmlohZMiKhv653lQ16b0ACNPlpfYG856iVlVEDYMQ1CY75o/RM9UV h6JQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1698856562; x=1699461362; h=content-transfer-encoding:cc:to:from:subject:message-id:references :mime-version:in-reply-to:date:x-gm-message-state:from:to:cc:subject :date:message-id:reply-to; bh=azJu2Dh8gujl5qnxyYwo1n6krfiG0RwudOI1y5vnuB4=; b=vw9Xt5gYa5mV8M/8RM9IaPJ7RKhXy0Fg8C+WK128rV+WtSqjY3XIeAi46BTzGbGZC/ EUFdEBuOCrA1MleqqliNIsP8JG1BtqGhSOANVHsQ/WE7Z78dnggVjEwBJ1wdvfhxJ+EM 77G0flJJMPTwJFtEyseEYUyOhBOUSLSwf2x35HK/FrDXuQVxUsIqfzaUuxxVj6/FJxLO lNWZ6H9dZIyTYJAgHC4lgfgHjlbGznccY2cpa42b+ngd2xgD78/EZAmyX6/1AItzNQ/p XMjAjuSaZPpLj+4UTR/WS0pOUewMneCm2VixHfxR0/8U5WsjCU9GIRKqSWKMUSeUU8hw af+A== X-Gm-Message-State: AOJu0Yx8/78JkTBq9J8LI7+aHe4CrrPPp+K3yEbgazABW8HR2l9oXVQP 9GFInpqjpk+vV/0V9huNEMD4EmgX7JA= X-Google-Smtp-Source: AGHT+IFqCABorYKmfCmJZy/oBSeOXTtnBU+krovHVjWnvhFIdm8AwbTMBJoMdfZ9FR5pLbycY5bTrtHt4Z4= X-Received: from zagreus.c.googlers.com ([fda3:e722:ac3:cc00:7f:e700:c0a8:5c37]) (user=seanjc job=sendgmr) by 2002:a25:770f:0:b0:da0:73c2:db78 with SMTP id s15-20020a25770f000000b00da073c2db78mr326876ybc.9.1698856562473; Wed, 01 Nov 2023 09:36:02 -0700 (PDT) Date: Wed, 1 Nov 2023 09:36:00 -0700 In-Reply-To: Mime-Version: 1.0 References: <20231027182217.3615211-1-seanjc@google.com> <20231027182217.3615211-18-seanjc@google.com> <7c0844d8-6f97-4904-a140-abeabeb552c1@intel.com> <92ba7ddd-2bc8-4a8d-bd67-d6614b21914f@intel.com> Message-ID: Subject: Re: [PATCH v13 17/35] KVM: Add transparent hugepage support for dedicated guest memory From: Sean Christopherson To: Paolo Bonzini Cc: Xiaoyao Li , Marc Zyngier , Oliver Upton , Huacai Chen , Michael Ellerman , Anup Patel , Paul Walmsley , Palmer Dabbelt , Albert Ou , Alexander Viro , Christian Brauner , "Matthew Wilcox (Oracle)" , Andrew Morton , kvm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, kvmarm@lists.linux.dev, linux-mips@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, kvm-riscv@lists.infradead.org, linux-riscv@lists.infradead.org, linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Xu Yilun , Chao Peng , Fuad Tabba , Jarkko Sakkinen , Anish Moorthy , David Matlack , Yu Zhang , Isaku Yamahata , "=?utf-8?Q?Micka=C3=ABl_Sala=C3=BCn?=" , Vlastimil Babka , Vishal Annapurve , Ackerley Tng , Maciej Szmigiero , David Hildenbrand , Quentin Perret , Michael Roth , Wang , Liam Merwick , Isaku Yamahata , "Kirill A . Shutemov" X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20231101_093605_725841_25422274 X-CRM114-Status: GOOD ( 31.38 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gV2VkLCBOb3YgMDEsIDIwMjMsIFBhb2xvIEJvbnppbmkgd3JvdGU6Cj4gT24gV2VkLCBOb3Yg MSwgMjAyMyBhdCAyOjQx4oCvUE0gU2VhbiBDaHJpc3RvcGhlcnNvbiA8c2VhbmpjQGdvb2dsZS5j b20+IHdyb3RlOgo+ID4KPiA+IE9uIFdlZCwgTm92IDAxLCAyMDIzLCBYaWFveWFvIExpIHdyb3Rl Ogo+ID4gPiBPbiAxMC8zMS8yMDIzIDEwOjE2IFBNLCBTZWFuIENocmlzdG9waGVyc29uIHdyb3Rl Ogo+ID4gPiA+IE9uIFR1ZSwgT2N0IDMxLCAyMDIzLCBYaWFveWFvIExpIHdyb3RlOgo+ID4gPiA+ ID4gT24gMTAvMjgvMjAyMyAyOjIxIEFNLCBTZWFuIENocmlzdG9waGVyc29uIHdyb3RlOgo+ID4g PiBCdXQgaXQncyBkaWZmZXJlbnQgdGhhbiBNQURWX0hVR0VQQUdFLCBpbiBhIHdheS4gUGVyIG15 IHVuZGVyc3RhbmRpbmcsIHRoZQo+ID4gPiBmYWlsdXJlIG9mIE1BRFZfSFVHRVBBR0UgaXMgbm90 IGZhdGFsLCB1c2VyIHNwYWNlIGNhbiBpZ25vcmUgaXQgYW5kCj4gPiA+IGNvbnRpbnVlLgo+ID4g Pgo+ID4gPiBIb3dldmVyLCB0aGUgZmFpbHVyZSBvZiBLVk1fR1VFU1RfTUVNRkRfQUxMT1dfSFVH RVBBR0UgaXMgZmF0YWwsIHdoaWNoIGxlYWRzCj4gPiA+IHRvIGZhaWx1cmUgb2YgZ3Vlc3QgbWVt ZmQgY3JlYXRpb24uCj4gPgo+ID4gRmFpbGluZyBLVk1fQ1JFQVRFX0dVRVNUX01FTUZEIGlzbid0 IHRydWx5IGZhdGFsLCBpdCBqdXN0IHJlcXVpcmVzIGRpZmZlcmVudAo+ID4gYWN0aW9uIGZyb20g dXNlcnNwYWNlLCBpLmUuIGluc3RlYWQgb2YgaWdub3JpbmcgdGhlIGVycm9yLCB1c2Vyc3BhY2Ug Y291bGQgcmVkbwo+ID4gS1ZNX0NSRUFURV9HVUVTVF9NRU1GRCB3aXRoIEtWTV9HVUVTVF9NRU1G RF9BTExPV19IVUdFUEFHRT0wLgo+ID4KPiA+IFdlIGNvdWxkIG1ha2UgdGhlIGJlaGF2aW9yIG1v cmUgbGlrZSBNQURWX0hVR0VQQUdFLCBlLmcuIHRoZW9yZXRpY2FsbHkgd2UgY291bGQKPiA+IGV4 dGVuZCBmYWR2aXNlKCkgd2l0aCBGQURWX0hVR0VQQUdFLCBvciBhZGQgYSBndWVzdF9tZW1mZCBr bm9iL2lvY3RsKCkgdG8gbGV0Cj4gPiB1c2Vyc3BhY2UgcHJvdmlkZSBhZHZpY2UvaGludHMgYWZ0 ZXIgY3JlYXRpbmcgYSBndWVzdF9tZW1mZC4gIEJ1dCBJIHN1c3BlY3QgdGhhdAo+ID4gZ3Vlc3Rf bWVtZmQgd291bGQgYmUgdGhlIG9ubHkgdXNlciBvZiBGQURWX0hVR0VQQUdFLCBhbmQgSU1PIGEg cG9zdC1jcmVhdGlvbiBoaW50Cj4gPiBpcyBhY3R1YWxseSBsZXNzIGRlc2lyYWJsZS4KPiA+Cj4g PiBLVk1fR1VFU1RfTUVNRkRfQUxMT1dfSFVHRVBBR0Ugd2lsbCBmYWlsIG9ubHkgaWYgdXNlcnNw YWNlIGRpZG4ndCBwcm92aWRlIGEKPiA+IGNvbXBhdGlibGUgc2l6ZSBvciB0aGUga2VybmVsIGRv ZXNuJ3Qgc3VwcG9ydCBUSFAuICBBbiBpbmNvbXBhdGlibGUgc2l6ZSBpcyBsaWtlbHkKPiA+IGEg dXNlcnNwYWNlIGJ1ZywgYW5kIGZvciBtb3N0IHNldHVwcyB0aGF0IHdhbnQgdG8gdXRpbGl6ZSBn dWVzdF9tZW1mZCwgbGFjayBvZiBUSFAKPiA+IHN1cHBvcnQgaXMgbGlrZWx5IGEgY29uZmlndXJh dGlvbiBidWcuICBJLmUuIG1hbnkvbW9zdCB1c2VzICp3YW50KiBmYWlsdXJlcyBkdWUgdG8KPiA+ IEtWTV9HVUVTVF9NRU1GRF9BTExPV19IVUdFUEFHRSB0byBiZSBmYXRhbC4KPiA+Cj4gPiA+IEZv ciBjdXJyZW50IGltcGxlbWVudGF0aW9uLCBJIHRoaW5rIG1heWJlIEtWTV9HVUVTVF9NRU1GRF9E RVNJUkVfSFVHRVBBR0UKPiA+ID4gZml0cyBiZXR0ZXIgdGhhbiBLVk1fR1VFU1RfTUVNRkRfQUxM T1dfSFVHRVBBR0U/IG9yIG1heWJlICpQUkVGRVIqPwo+ID4KPiA+IFdoeT8gIFZlcmJzIGxpa2Ug InByZWZlciIgYW5kICJkZXNpcmUiIGFyZW4ndCBhIGdvb2QgZml0IElNTyBiZWNhdXNlIHRoZXkg c3VnZ2VzdAo+ID4gdGhlIGZsYWcgaXMgYSBoaW50LCBhbmQgaGludHMgYXJlIHVzdWFsbHkgYmVz dCBlZmZvcnQgb25seSwgaS5lLiBhcmUgaWdub3JlZCBpZgo+ID4gdGhlcmUgaXMgYSBmdW5kYW1l bnRhbCBpbmNvbXBhdGliaWxpdHkuCj4gPgo+ID4gIkFsbG93IiBpc24ndCBwZXJmZWN0LCBlLmcu IEkgd291bGQgbXVjaCBwcmVmZXIgYSBzdHJhaWdodCBLVk1fR1VFU1RfTUVNRkRfVVNFX0hVR0VQ QUdFUwo+ID4gb3IgS1ZNX0dVRVNUX01FTUZEX0hVR0VQQUdFUyBmbGFnLCBidXQgSSB3YW50ZWQg dGhlIG5hbWUgdG8gY29udmV5IHRoYXQgS1ZNIGRvZXNuJ3QKPiA+ICh5ZXQpIGd1YXJhbnRlZSBo dWdlcGFnZXMuICBJLmUuIEtWTV9HVUVTVF9NRU1GRF9BTExPV19IVUdFUEFHRSBpcyBzdHJvbmdl ciB0aGFuCj4gPiBhIGhpbnQsIGJ1dCB3ZWFrZXIgdGhhbiBhIHJlcXVpcmVtZW50LiAgQW5kIGlm L3doZW4gS1ZNIHN1cHBvcnRzIGEgZGVkaWNhdGVkIG1lbW9yeQo+ID4gcG9vbCBvZiBzb21lIGtp bmQsIHRoZW4gd2UgY2FuIGFkZCBLVk1fR1VFU1RfTUVNRkRfUkVRVUlSRV9IVUdFUEFHRS4KPiAK PiBJIHRoaW5rIHRoYXQgdGhlIGN1cnJlbnQgcGF0Y2ggaXMgZmluZSwgYnV0IEkgd2lsbCBhZGp1 c3QgaXQgdG8gYWx3YXlzCj4gYWxsb3cgdGhlIGZsYWcsIGFuZCB0byBtYWtlIHRoZSBzaXplIGNo ZWNrIGV2ZW4gaWYgIUNPTkZJR19UUkFOU1BBUkVOVF9IVUdFUEFHRS4KPiBJZiBodWdlcGFnZXMg YXJlIG5vdCBndWFyYW50ZWVkLCBhbmQgKHRoZW9yZXRpY2FsbHkpIHlvdSBjb3VsZCBoYXZlIG5v Cj4gaHVnZXBhZ2UgYXQgYWxsIGluIHRoZSByZXN1bHQsIGl0J3Mgb2theSB0byBnZXQgdGhpcyBy ZXN1bHQgZXZlbiBpZiBUSFAgaXMgbm90Cj4gYXZhaWxhYmxlIGluIHRoZSBrZXJuZWwuCgpDYW4g eW91IHBvc3QgYSBmaXh1cCBwYXRjaD8gIEl0J3Mgbm90IGNsZWFyIHRvIG1lIGV4YWN0bHkgd2hh dCBiZWhhdmlvciB5b3UgaW50ZW5kCnRvIGVuZCB1cCB3aXRoLgoKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxp c3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZy YWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=