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 32F38CFC5E1 for ; Thu, 10 Oct 2024 16:06:57 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 8EB9A6B0082; Thu, 10 Oct 2024 12:06:56 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 875046B0083; Thu, 10 Oct 2024 12:06:56 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 6EE526B0085; Thu, 10 Oct 2024 12:06:56 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 4F2216B0082 for ; Thu, 10 Oct 2024 12:06:56 -0400 (EDT) Received: from smtpin05.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id E6B971A084D for ; Thu, 10 Oct 2024 16:06:49 +0000 (UTC) X-FDA: 82658171190.05.3713A05 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by imf22.hostedemail.com (Postfix) with ESMTP id 7C8DBC0006 for ; Thu, 10 Oct 2024 16:06:52 +0000 (UTC) Authentication-Results: imf22.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=QGxTUdEH; dmarc=pass (policy=none) header.from=redhat.com; spf=pass (imf22.hostedemail.com: domain of peterx@redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=peterx@redhat.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1728576302; a=rsa-sha256; cv=none; b=vh6HN6rhjg+efeG+dClrDyQeNyfFqNX5iIRJIO+b78952JiKwkwqzIv8kyDJ11BzuPPwBx cNVrxK6iCt+MpUps0rIz6fW4G+/cjWw/caA1R5TTdwapO1Vktjf+WL3dwg23/O7ykE7nXj EQiIt859PvbW6r8TKmAx80jDk9snLLA= ARC-Authentication-Results: i=1; imf22.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=QGxTUdEH; dmarc=pass (policy=none) header.from=redhat.com; spf=pass (imf22.hostedemail.com: domain of peterx@redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=peterx@redhat.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1728576302; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=S/HNyejBOzZNAS2pmhlTCa73HqHtmX71UiVQvzZUuQU=; b=C+34XBwSlrNivbjAGFfk/qakKhSNDjSyW3UGnND9hNMXyEhF8cq35bSJYa7gwOSqDVNrgh rvSv6zJtsb04Xmmc/azGToyQElviISOb8/fc8vS9c4OIIHVj+tngpRQ9/JwhsfLVdjfSUE f8uBGDdWfj41Z8kADTWl7BKqz3bev5c= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1728576413; 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: in-reply-to:in-reply-to:references:references; bh=S/HNyejBOzZNAS2pmhlTCa73HqHtmX71UiVQvzZUuQU=; b=QGxTUdEHfw9YI7qTW6dVvwz5Bz/HVK36p0i7c9QcpFAh6PjuJEnznjLzl/q616+DxlUA2y BqCAMWExhUGpGjnOKiYex2E2JVxDvUCf6ApKaakQihXMVzrgGmvDWLifPzzY3ks/gduVWK jbeiWW3W4aJOEANxLQNusFF5G7UwGR8= Received: from mail-pf1-f200.google.com (mail-pf1-f200.google.com [209.85.210.200]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-443-MTKGeACYNnej_ZsiaeRy4Q-1; Thu, 10 Oct 2024 12:06:51 -0400 X-MC-Unique: MTKGeACYNnej_ZsiaeRy4Q-1 Received: by mail-pf1-f200.google.com with SMTP id d2e1a72fcca58-71dfd9fc0e5so971054b3a.2 for ; Thu, 10 Oct 2024 09:06:50 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1728576410; x=1729181210; 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=S/HNyejBOzZNAS2pmhlTCa73HqHtmX71UiVQvzZUuQU=; b=EiHKbzbQuc/CDnOArI7EqKQ5sFiMJ6NlVYAooLsaDiO27NNkBz5ju79VFhB5RsrhJd VJkD5kBxRPqqm8yPiTlNdj99Bo555Tv+zMrWiQloSDk/AUpqF4snwO68N7QXC5fQpv31 TeDl+/59ZZVVfPBzxgaB2n/MOZsjo9aSfn5s7+CiIYOiBV8XYhCJtJwN3tbRL9Fr/Uag jlq3uXs4Lk76K1+d76EsHovZ6io0Cgd0WPvSEEs+9R2TB2L1lNmSwV5U66lbHBT3ou5Q c/QzruMN7wlBcD6b9r7fDOoDGlTbrS8JEHL9oFo2s8WgWw/4Q6UT8Hh5w7bc9mwMVvt7 R47w== X-Forwarded-Encrypted: i=1; AJvYcCVW7nEh2KmaX4b1ISJ0P6J38h7qDie3DZtaA7V68JiVm7EyeymlzYyDrfbpfdxDSJ1Yma8126Pe+Q==@kvack.org X-Gm-Message-State: AOJu0YwgLHC8dAgBPLHrxyQfmZRdWPMAS+mcPH9W5nl6Rulfxt1z7z/K OUeFZIVL4oPETs+P5NB0qVvb2QAFdmfMG5W7W9aOROnVX7JcrYlLAJbvwCBtQdAImoAd0h9FGKt E2+edNzmvsyZvLFGNKcyHxSKQ++QllFhDI/T7RGjHnaZXJdUa X-Received: by 2002:a05:6a00:179b:b0:719:7475:f07e with SMTP id d2e1a72fcca58-71e1db6481fmr11819892b3a.4.1728576410041; Thu, 10 Oct 2024 09:06:50 -0700 (PDT) X-Google-Smtp-Source: AGHT+IG+7f1RLhbjySKF/4qyAXiKo7lGpEQ+qrTVlBlzhq+59C96dfh+Iq8tKg2tVLc+cHIQsd5gOg== X-Received: by 2002:a05:6a00:179b:b0:719:7475:f07e with SMTP id d2e1a72fcca58-71e1db6481fmr11819813b3a.4.1728576409638; Thu, 10 Oct 2024 09:06:49 -0700 (PDT) Received: from x1n (pool-99-254-114-190.cpe.net.cable.rogers.com. [99.254.114.190]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-71e2a9ea46csm1229368b3a.17.2024.10.10.09.06.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 10 Oct 2024 09:06:48 -0700 (PDT) Date: Thu, 10 Oct 2024 12:06:43 -0400 From: Peter Xu To: Ackerley Tng Cc: tabba@google.com, quic_eberman@quicinc.com, roypat@amazon.co.uk, jgg@nvidia.com, david@redhat.com, rientjes@google.com, fvdl@google.com, jthoughton@google.com, seanjc@google.com, pbonzini@redhat.com, zhiquan1.li@intel.com, fan.du@intel.com, jun.miao@intel.com, isaku.yamahata@intel.com, muchun.song@linux.dev, mike.kravetz@oracle.com, erdemaktas@google.com, vannapurve@google.com, qperret@google.com, jhubbard@nvidia.com, willy@infradead.org, shuah@kernel.org, brauner@kernel.org, bfoster@redhat.com, kent.overstreet@linux.dev, pvorel@suse.cz, rppt@kernel.org, richard.weiyang@gmail.com, anup@brainfault.org, haibo1.xu@intel.com, ajones@ventanamicro.com, vkuznets@redhat.com, maciej.wieczor-retman@intel.com, pgonda@google.com, oliver.upton@linux.dev, linux-kernel@vger.kernel.org, linux-mm@kvack.org, kvm@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-fsdevel@kvack.org Subject: Re: [RFC PATCH 26/39] KVM: guest_memfd: Track faultability within a struct kvm_gmem_private Message-ID: References: MIME-Version: 1.0 In-Reply-To: X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset=utf-8 Content-Disposition: inline X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: 7C8DBC0006 X-Stat-Signature: 3emre5i5dqzk9r8fd1zbiciewt9bc9qu X-Rspam-User: X-HE-Tag: 1728576412-229226 X-HE-Meta: U2FsdGVkX1+eUk/puavglaUTrp1O/YhRkz4TnF4pidjMg7dnXHNSXxmSQY/uoigc/kt84KSEIKgAUrCKOPrmK3IeRDsuSkzJP8hENHyXazWmDHbgc2SKNAUDpTtt5dN89HwlhqcCpMC5KDEkOY4zhdj/ibCX8uAn1CP+qm0ZBP1n+KEwpAseeXoDClBgqucyV9Nl3DUemXshJm6Yw8lb+UBz2wwt6ZK5UqBP1W+wEOBv6CCu/7R/kd8xC2keA5Vb34s1GH5Rfu21CAebEz8x/cYOhMmCesGFYqSU0601BT3rvueLxlTtDjpB0d0FF+hXYC4KtLmUprG62SsikwMvx6eqxWeITCfDgZo6G5ScQ+lAEJY7Mmlcg4okYaVijpsuZo9OmQyyES4PAY+cwdqRE54pzU9R/IxKwICb4y0lUi5snzy7bNthh66RUO1g54SI5nMYllhrO5RHGU7/kWIAk/NW2HX6b6Zxq18FlXrU9sPKUK9zhFlwc8C/PQ9NAMIc8DK5p2wdhc52P4BlWt+n7yATYPLxxEpODoBVWUUpYcq05On6pqjkYJr4myyZnOeeTcmU8DslVzh8os+UxKstaxJmk8kt6cPqVAroyqt1/wZUWS2o4lx7Emd/nLmkczCwj2+arpqU38sCu25obOdbvp4/uJtl+2LfLLM3DvXPil57qRhpJHp02tG+99UqmbVzjfyaaqoUuQM4bNeCXoTM+sthFT7EkIZ8Z/uvmRu3lrSRIvrDmkHaba7ZSwf0sPcycHCkReEE260KyH2OrXmKqawwX7Z4sbLAXn8m4eMzSdBu0yb16Ysg0Qe5eFAx33YmjKh9Oc1Kri1/r/+pxWSVq+rs6HjvvaFfNiYUpfNaXc+H4lbP9zJo6+dKCZjBXe2IJQOhjg2fyEGhucFnF4HXWBvCw5TaJ/axAPjKN+FZXsHV1Ud8X2k3p55agrucHn21yplMeyjW00sxK7I2RNb EbTi7SyZ E1sfbqn4xtBO4chLlIIJB+W8eq/TVvHuvFYH/q7hGcVysWOqEZkRRTBIvtXJWIIX08r3SjZCZt+i75UklLBN5ep4bKiUSfIJsffkgFg16AhxcZBLaz1PI2Th2eDcI3wJ2C2TDv2jHIKcab9gb1f4O/teOuzqFl5ZuqhwF4QdIPqQfSErmflNZlU9kFNixCrNEoGIl6F1euAyrW1V0O22rItowRGcR9DZaZp2M+EuCdU39+IUrvLPaKFineuFk9/galL6SdTmeGZb1fhL6BcoICAJ9/HBVMUZ1iBaNO4ZmZ0i1SsMMQnFMTXrvk7/yjkPF9kyTsYxKHGdw+BEEzGorltgPfKHo0elz113/VF4qu+D5ub//P9/g+ux0o01ydkWJhGZ8kocidtCFJDiwrt1QlESj+FzAnhK14pZEqE3+T/5zlukhUgia3gFx1bB5adV641zNg5UdMZg79chElVz2Gw24ubCkmx2n1eq1mg75QPjuNnc= 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, Sep 10, 2024 at 11:43:57PM +0000, Ackerley Tng wrote: > The faultability xarray is stored on the inode since faultability is a > property of the guest_memfd's memory contents. > > In this RFC, presence of an entry in the xarray indicates faultable, > but this could be flipped so that presence indicates unfaultable. For > flexibility, a special value "FAULT" is used instead of a simple > boolean. > > However, at some stages of a VM's lifecycle there could be more > private pages, and at other stages there could be more shared pages. > > This is likely to be replaced by a better data structure in a future > revision to better support ranges. > > Also store struct kvm_gmem_hugetlb in struct kvm_gmem_hugetlb as a > pointer. inode->i_mapping->i_private_data. Could you help explain the difference between faultability v.s. the existing KVM_MEMORY_ATTRIBUTE_PRIVATE? Not sure if I'm the only one who's confused, otherwise might be good to enrich the commit message. The latter is per-slot, so one level higher, however I don't think it's a common use case for mapping the same gmemfd in multiple slots anyway for KVM (besides corner cases like live upgrade). So perhaps this is not about layering but something else? For example, any use case where PRIVATE and FAULTABLE can be reported with different values. Another higher level question is, is there any plan to support non-CoCo context for 1G? I saw that you also mentioned you have working QEMU prototypes ready in another email. It'll be great if you can push your kernel/QEMU's latest tree (including all dependency patches) somewhere so anyone can have a closer look, or play with it. Thanks, -- Peter Xu