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 E46F9C4332F for ; Tue, 31 Oct 2023 22:40:16 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 7DB5A6B0344; Tue, 31 Oct 2023 18:40:16 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 7B34F6B0345; Tue, 31 Oct 2023 18:40:16 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 6A20F6B0346; Tue, 31 Oct 2023 18:40:16 -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 593AD6B0344 for ; Tue, 31 Oct 2023 18:40:16 -0400 (EDT) Received: from smtpin13.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 3CD93C0BC4 for ; Tue, 31 Oct 2023 22:40:16 +0000 (UTC) X-FDA: 81407226432.13.4223FB2 Received: from mail-wr1-f43.google.com (mail-wr1-f43.google.com [209.85.221.43]) by imf16.hostedemail.com (Postfix) with ESMTP id 794A4180013 for ; Tue, 31 Oct 2023 22:40:14 +0000 (UTC) Authentication-Results: imf16.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=NAOrVe5M; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf16.hostedemail.com: domain of dmatlack@google.com designates 209.85.221.43 as permitted sender) smtp.mailfrom=dmatlack@google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1698792014; 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=dJWbuo+9TPVToDVPf96jeRxWUliwPBKXtZxQViTwJnU=; b=542JzJdkDKCfFFwCfUYhle4fZbBQCDab66rkEFwuQTjBD8rFnIJ0hBMAmGTUSSMBEoNnCF TiSnv/NQmhVWqiziPc8pUSxG/rcfnUbUMzvPZVpXNvfSHBGGrunk1zfE2f2wqkwar1ytZC /dVFraug0a267sguXmaJRDITk0CKeTY= ARC-Authentication-Results: i=1; imf16.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=NAOrVe5M; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf16.hostedemail.com: domain of dmatlack@google.com designates 209.85.221.43 as permitted sender) smtp.mailfrom=dmatlack@google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1698792014; a=rsa-sha256; cv=none; b=Jk0HYoN0zOhXtZUze9kEg5UaJzoEd2whdOLz5kg52XOhe6X/D2hQRYEzybcwEdVnRrwdQ6 zUdhFk6ShvLqEcNJNlistReLXGl2OmwC9HL016l5guTKAxkfvvJcyQfAYHeaeIvCTIRkHU qwoCNTPzNK2z8WU+gX1gwI9z1wmH4cc= Received: by mail-wr1-f43.google.com with SMTP id ffacd0b85a97d-32f7c44f6a7so2318560f8f.1 for ; Tue, 31 Oct 2023 15:40:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1698792013; x=1699396813; darn=kvack.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=dJWbuo+9TPVToDVPf96jeRxWUliwPBKXtZxQViTwJnU=; b=NAOrVe5MUOhgVeSeRQKUE4HPVM+tGNjHy3N5x/z2C81IWq/KlyliWhNaJ2kVZYAWXT N2tMl5E/FbCXGlK8OXZdVXMISoScN8pzGMA8IbstrJUJpAsU+PE58BUkww6ZIgDacVyw fMPSNokGo9vSQp6wUOXKc5gudpe0ozodadwypyz+JKJxthrVuEx4POQEI+KIE14MQ5b6 2zUiqnohbULleZ65y61JTBvmkbKY94k0IR8v/3uvLo2O6LWC3WSoQArHGie4/+bO4owH Y7JE3pjW+SBYzXGLcQAJOOG44kvx9bpOMuVsOBPEckMEdxKjXc89f1flaM5GYT+soevr /k/w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1698792013; x=1699396813; 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=dJWbuo+9TPVToDVPf96jeRxWUliwPBKXtZxQViTwJnU=; b=JZwTZ8eqJcHCiPG+ibMqcqsCMuRlnnGVwG0Qe7BUFpucpBmY/NsmKL78i7XpQni7CE FfGYgfJ/66t71PjrsuglWC2jC2czqdSIxOyAuv/Moyv39L3Pnvg0gXy4lAGXM3lcFPUp cWsGDKEMiA6a+gZ2Ok0ay1heBpKDZDUlDQJUdCBMUIA/mVJdiSO7z7kvg+7huRpHulfh hO5xqyB2GxuoJiBn5UlslI34Z0cfJKJPoxntj2VtUCGECExIdcteAggC+B6/D6x0lsEw /ZqRoURL2cOAek8ruk+RIqzYplnHDophIyvmQXDSkcK5zCsRbAaAL4wvORVQ1M4D7k/1 Evkw== X-Gm-Message-State: AOJu0Yz7L0aZfk8TkV07Zlakc8ELGfJsG+yxLD1PYscFl2XCOIG86Sg7 D7GKehf6AKX6dmfX/gOQETjRLdh+sKU+8biAd7eptQ== X-Google-Smtp-Source: AGHT+IHkDiPkYLUipg1BNgD620eOceDAkQD+A32NnZclx+AVnVsN45AUMqsjx/qUof6Oj5kTmFWO4hEnjV9b1jDP2pc= X-Received: by 2002:adf:d1ef:0:b0:32f:7db1:22fb with SMTP id g15-20020adfd1ef000000b0032f7db122fbmr8716023wrd.28.1698792012937; Tue, 31 Oct 2023 15:40:12 -0700 (PDT) MIME-Version: 1.0 References: <20231027182217.3615211-1-seanjc@google.com> <20231027182217.3615211-17-seanjc@google.com> In-Reply-To: From: David Matlack Date: Tue, 31 Oct 2023 15:39:42 -0700 Message-ID: Subject: Re: [PATCH v13 16/35] KVM: Add KVM_CREATE_GUEST_MEMFD ioctl() for guest-specific backing memory To: Sean Christopherson Cc: Paolo Bonzini , 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, Xiaoyao Li , Xu Yilun , Chao Peng , Fuad Tabba , Jarkko Sakkinen , Anish Moorthy , Yu Zhang , Isaku Yamahata , =?UTF-8?B?TWlja2HDq2wgU2FsYcO8bg==?= , 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 X-Rspam-User: X-Stat-Signature: 6ogc3r3bk44m6qyggp58q9rnntnxnpuu X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: 794A4180013 X-HE-Tag: 1698792014-939450 X-HE-Meta: U2FsdGVkX1/CiZ3k/cXYDn/gB8zAtIvTquivDSQNe2iH9NcSCMXClYbjnov3DKKU11UrlCo/Z83WGjKCDdPk8ZaNm+VqQD+oid+k+GfWXsYHi9Ch4j1DiLbQtgYB/OlbSrf0zrcZfuCay1MSzTnbXyCfV+6a6f5GDIfIFwoKlimT5oqMjchKNpxSlklzb70Mt/56U0u60vl+2nn9PEYZ0fsefNkcAEYYzzUh93xi594pJgzuAcQL2at9lpLOX16OzlJ3s3KW+e4ITC0/EX/7u0EzqU1sG2/1LxS9wWpTsKrzCBlWSKyeKQTnjJ/7ogBOfviallPXzrCshjdqUD11dKK/FmTnTqjXL9mAuyKAcElw7PPF0x91m0dXRyzV00AUE0K1i6OuKxYPYkNfE5RmsIVxF8KlZb06b5i9JGWu1Xukc6IcIjIq2ELrIxif271N+XlK5I+dbxA9JABsAjBofnwdJhLjgLJdL4+4FAgvHhJQCrwV23PWg1kVbWaj0qVJWBJhRwhpY0+NSA9RhPt26S/jnkcX7kN9rqqtqzX1nF4ZJUgYLyGzlvW77pp2w8ipssngZAp8XcR36Y8+QQ4UmqstybwzEr0p8HCS8NxRI58K0WlshhaAJBKNFbn9Vq9UblIfvTSPh4O/3qUm15NEQjV8tHaou90754YgYrmAqs/V+TE9DS2e2rHP9oilCHMlpAt0GSLXUFG/7rwTqsKOrsxk/1n20wT7WZc+/ETnIATc4a3mdwc6zxHI6jF/LjD3U2+PMT2lGiSUsKoE6185Vz68SwZ75C7ODgoh8rMDppAkr0bgl8oz+e2DjyhRgg9JEh8JqjQxguuM4L4Rie1jwfrUXN3W/zMugiZDyyesYgn93xaLw1wivw6VeD+w7SGMXtrfiFQPdwpCs99kFdBjReOr24BLuXXgkOHuDyd8LgOatjyE26URHBlI83U1D201hGO+EFkvyqSO3MYR2aw m21FPf12 FlGEg0zC02SP/GJbLoSj/hoYU1EKbKadiMJiOnXhKOzDoQ4vC/KOXn3GrRMNfl6sg7/CGZRcBg8wyEvk1dd9nkXJFQcDBEGMbbvZojtC2eAzTr0kRpyqmSi/ZCj1ouYgZ+FfKctWvNxQM/EMYhKUYeBNhdb+QL9pRsvRMa8icHZD6UAMOKbL+p8TdbjIKvxTQWGJJD6JNTmHH8hZGEQYp/LS7M3MIt+RXFXQ8vBdChiPyGmsbaaHUPIhCRwus8auA27E9l2DnnQnbWYRk8+uUm07BXAutsA79RtenROatKQmd7XnAZyahJz7T0WbMS14lJLMThbbcNAV6p4Hr+WVEh/IfFzw4RGPh2OjgPNXMwvKjGuE= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, 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 Tue, Oct 31, 2023 at 2:36=E2=80=AFPM Sean Christopherson wrote: > On Tue, Oct 31, 2023, David Matlack wrote: > > On 2023-10-27 11:21 AM, Sean Christopherson wrote: > > > Introduce an ioctl(), KVM_CREATE_GUEST_MEMFD, to allow creating file-= based > > > memory that is tied to a specific KVM virtual machine and whose prima= ry > > > purpose is to serve guest memory. > > > Maybe can you sketch out how you see this proposal being extensible to > > using guest_memfd for shared mappings? > > For in-place conversions, e.g. pKVM, no additional guest_memfd is needed.= What's > missing there is the ability to (safely) mmap() guest_memfd, e.g. KVM nee= ds to > ensure there are no outstanding references when converting back to privat= e. > > For TDX/SNP, assuming we don't find a performant and robust way to do in-= place > conversions, a second fd+offset pair would be needed. Is there a way to support non-in-place conversions within a single guest_me= mfd?