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 3D84FC0015E for ; Tue, 25 Jul 2023 16:04:51 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C94446B0071; Tue, 25 Jul 2023 12:04:50 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id C4E928D0002; Tue, 25 Jul 2023 12:04:50 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id AE58E8D0001; Tue, 25 Jul 2023 12:04:50 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 9E54D6B0071 for ; Tue, 25 Jul 2023 12:04:50 -0400 (EDT) Received: from smtpin18.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 4CF9A1A0E1B for ; Tue, 25 Jul 2023 16:04:50 +0000 (UTC) X-FDA: 81050607540.18.FA5D1A7 Received: from mail-yb1-f201.google.com (mail-yb1-f201.google.com [209.85.219.201]) by imf05.hostedemail.com (Postfix) with ESMTP id 5450D100164 for ; Tue, 25 Jul 2023 16:04:02 +0000 (UTC) Authentication-Results: imf05.hostedemail.com; dkim=pass header.d=google.com header.s=20221208 header.b=dW59zwmr; spf=pass (imf05.hostedemail.com: domain of 3cfK_ZAYKCIIykgtpimuumrk.iusrot03-ssq1giq.uxm@flex--seanjc.bounces.google.com designates 209.85.219.201 as permitted sender) smtp.mailfrom=3cfK_ZAYKCIIykgtpimuumrk.iusrot03-ssq1giq.uxm@flex--seanjc.bounces.google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1690301042; 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=JzfMU5Qs8JliFSPK4e1C5em4CWxZCGfzp6e2iymS9Yg=; b=sbDTerJlxQrnGOtnb0Y/AdigD3KaKV+Kxe5pTgN5bafB5+Nq0wmxNQ9qMYTwIpezVHo5n3 /PTvXESecOWu4npuB0y7ukx4NO7WTXf6LKjloe4Ri2+FoyXvSKXgmJt73iDJv2kPkLsWTP Me9SJBr2Xj7hw4jFPHvU/TnB5D+Nh8Y= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1690301042; a=rsa-sha256; cv=none; b=nvCD285zdpPbOb1F5+whtfPCFZFaXcUL9okikoWgc+8ZCgBWFADsk210FQrxr+q26dE9AM iAm5VMbCC7RQjphCN55KV3AJtCN+tf0D9WP3H+0UqZ+0Ea9389KaUfxati2Ev3lJ85r//d Y7Y9+Y6oalpYT6UlkY2lsBz7qcmmm10= ARC-Authentication-Results: i=1; imf05.hostedemail.com; dkim=pass header.d=google.com header.s=20221208 header.b=dW59zwmr; spf=pass (imf05.hostedemail.com: domain of 3cfK_ZAYKCIIykgtpimuumrk.iusrot03-ssq1giq.uxm@flex--seanjc.bounces.google.com designates 209.85.219.201 as permitted sender) smtp.mailfrom=3cfK_ZAYKCIIykgtpimuumrk.iusrot03-ssq1giq.uxm@flex--seanjc.bounces.google.com; dmarc=pass (policy=reject) header.from=google.com Received: by mail-yb1-f201.google.com with SMTP id 3f1490d57ef6-cf4cb742715so6445144276.2 for ; Tue, 25 Jul 2023 09:04:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20221208; t=1690301041; x=1690905841; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=JzfMU5Qs8JliFSPK4e1C5em4CWxZCGfzp6e2iymS9Yg=; b=dW59zwmrsLAamcGnirE6A1LfKT51T61DtWDAOhx4/cSvK3sOAiDmr+BlK4XiPthtzP CN9MlQi3HhBVcH71uuUqq+M14CfwGnGPEE/BpfevOBdEFKHG7J0iaICViLaRAky8BhEp HFcQ65KDccgqhPQn/ChYInnlcEfq7qr0Ma/Jgkr7SmWI+05vO/bEbUCWl8Rn7I2emovI UeVOyMZohBruEuz8fBipp3NgVzf/qbnB/hnqT0XX1CDCZ3KOl7DJQE2yXx50QpLL6+Az IlluRAj7yyIarMAgzXmFlQrKZdiqjqFyPfBBVM/tbJmItA4hkVu10uPsnU/tUYfyPMpN N63Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690301041; x=1690905841; h=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=JzfMU5Qs8JliFSPK4e1C5em4CWxZCGfzp6e2iymS9Yg=; b=RKTDqY4JGk2eIuVeV6LMn+rpXFF5JTiv4Wyjq/SqGa0vpmiqjV14ZtEB1pvGAjM/DU m8yTlbgdFy75JCryTz6B+KG+Y+c6dkiUC4Kk5GUQOiqSZcd5qUtex1gpOB+eoCl7A3aY snGdURR2v5yHkRlvRHa32S2ZZKZMWDkxpwNrNYrxWMjlJDSDgOy7c2iuXP+t9GrU3+wv Fq7GI7SrXH/JtXRZA4UDeCxFdJgCPF7Gp/rVwcyxRbyuaLc3kqQrhxw9VJHmfYgPDjlP WIDoV8RRocG9UPgTzanjolYR+uR3KVw7WjmAOTO+FTZ2bdEfW+44us6dJeuP0ZXzDM6T uaLg== X-Gm-Message-State: ABy/qLYoAOSw7BWRiojurOIHIcTOF7/AgNNcK0PCvRaGi6q2rrYxjHLO XjdG8XyZzBoHSWINZNmOUvzsQTpD0Ls= X-Google-Smtp-Source: APBJJlH1niyzp4cjBeRls9BsaNe03YLK4iKuUQJEO3t7N9JW3OW9U+d5kcfXqA22KUPE/pwVy1vkIiRVphQ= X-Received: from zagreus.c.googlers.com ([fda3:e722:ac3:cc00:7f:e700:c0a8:5c37]) (user=seanjc job=sendgmr) by 2002:a25:46d4:0:b0:cf9:3564:33cc with SMTP id t203-20020a2546d4000000b00cf9356433ccmr81585yba.13.1690301041144; Tue, 25 Jul 2023 09:04:01 -0700 (PDT) Date: Tue, 25 Jul 2023 09:03:59 -0700 In-Reply-To: Mime-Version: 1.0 References: <20230718234512.1690985-1-seanjc@google.com> <20230718234512.1690985-13-seanjc@google.com> Message-ID: Subject: Re: [RFC PATCH v11 12/29] KVM: Add KVM_CREATE_GUEST_MEMFD ioctl() for guest-specific backing memory From: Sean Christopherson To: Wei W Wang Cc: Paolo Bonzini , Marc Zyngier , Oliver Upton , Huacai Chen , Michael Ellerman , Anup Patel , Paul Walmsley , Palmer Dabbelt , Albert Ou , "Matthew Wilcox (Oracle)" , Andrew Morton , Paul Moore , James Morris , "Serge E. Hallyn" , "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-security-module@vger.kernel.org" , "linux-kernel@vger.kernel.org" , Chao Peng , Fuad Tabba , Jarkko Sakkinen , Yu Zhang , Vishal Annapurve , Ackerley Tng , Maciej Szmigiero , Vlastimil Babka , David Hildenbrand , Quentin Perret , Michael Roth , Liam Merwick , Isaku Yamahata , "Kirill A . Shutemov" Content-Type: text/plain; charset="us-ascii" X-Rspamd-Queue-Id: 5450D100164 X-Rspam-User: X-Rspamd-Server: rspam11 X-Stat-Signature: zw95gnzkah6mzczskaqyuzd4hsw5n63i X-HE-Tag: 1690301042-499826 X-HE-Meta: U2FsdGVkX19JiJepXchurCCNbXlcUiQh26OISgCgrYGv69NHwff7U6pN8Nn2CmeAS6Tr9NFLbaNaN8/8KsK1nbk1GB9KfGQ7d2nKD/GGdtMk4Sq5+VL/Q+K1q3apEtg7KoVqNiIaA+zAyYkGXhS24nM1X6yNG/2X2xKX4PKKTvgc7YrAPS0GlD/1Fd6B3awvl6aE+1LYyg81pq3dH9Q827NM2WJK+ZVOSrGSphsg8S+kYee054uhCkXBewZYO8XtMtm7i/WZvKnXqYAVm6sKPeNjy8m3MPogMhNdSRBhwqQpU6wTyYHMp83wbxzi5Uo489h8cUqQuH95kbCuO1+afadkeSCGuDuvBxJN8rGoPOF8Qf3nHDDWNRi0VanD2tAUjFDnxUNynQdIgdzoVWc9Wlpa47qO+AI3Hew7ePfLqJg7acH9rBsPq4Y+bbw8hKkRw5Y3amEsXHgBOxUIx4/aN1gaT1BeXYrxsZdeOrGqrDM9C+fjsvOQf7AgoCTtLcP9T5xuIcysBsouLZ9EegGjRJot9wqZPtZp66TSEusHS/TKqtmKgi+jY1oqbY84bKgHFSBxIn3/Zm1w4qONnvJSxGw4iMJzaTND4WBiW/2DWY9zGhrZJ8+lY2jGwBtNKGs//CdNFGKgs03GTiNuXodL6J5hIWiokQINeHLtr8u+e6BzOaMQFk0JhDDboHzhglD1/rQdn1F8CkkpNPmwTheE8lp5UHLUsK7Lb32b94fvArK3j6hcmhXJkYIVDdYGM7mN8Ea0Kqj+Tz82HnS8oSKMA6/WJyxXtKVMEdOlJRI4GU3P2C4qtu6YAR7EQvGggIXgS7iK+SXlNo7jw+WbeAm94snshvqM1CqHMzdrn83+s7EXiP89CxvyB88pHwPYcdqWsCqt/2UOcnoVoMtWbNTTr0lDGSAhXnva+Cb7k6nJupXj0+iYXGc9Nd8R/1qSwwz17xKA0R8qSTwBEIL1Qr6 DLDTdX2K L16kD9ZXQax7MZ4YtFMijKM7wPgd0vs8onJrBZIBXMTVF0KFK+IHGf2WyY75Mv/TT/4Y2o7Iw5twAQBMKu+v0P9wFEkqaBqdO5ynJ8Z6hk/OvHbyO2bY04p5XwPyqi8Rdnc1/LrpXPD+ioSlnCztw7Sfg0+UOoiCAfm17v9q7rbkBSqqyOVtUuMV+an1e02fSK/vIh5+sJz1DbWKZf6X9Kz5TQ3lylSsapbU5nk/oZLW4guBzXlbD0/FL8MjRTmS7OAEupXWIW7V4F1hqIM5uDN1UBAPLy1pYpbmo7wxU82rRrovu+hx2udQGB76rrVNkBVLF7MAqWKpqj0T2UOQ2z6YFxuHe5FC0HAaBtzAsNC/xU9cxDV0G6dNIxNdnQ44fHYiDsMKoToiyls5lBMP9AHL48VKFgHlvBaj1x8xWVCk1jZK9XC4v1U0fH5FmlLgCFwhCTXjup3E2kXK6qksihzv4qg9np0k8S20+WXOqWqywMsDN30jSYuanjUa2La8uCBJDFwcyF9bWNuZN1HPVTUYs7ZGv5PJY03uyf2dfLRO9giCFhLx6oochnMbU2PY7s6nFrXaCyuQJw9oDCYpbBuApsylKmPhXBi+me8A217Ggh/f5ihORtk+e1BR/91dwQS+VLVUNJfHUrKXecDXH27IigzpzQGxlPkwQ4neTVd++wmog5Jacw8BudgBUw56ljGPJXlvg7O82UnnZXeajCZ2KfHBK+3aFLuxfBm3AYoVNjxi1XLlKhJsmFQ== 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: On Tue, Jul 25, 2023, Wei W Wang wrote: > On Wednesday, July 19, 2023 7:45 AM, Sean Christopherson wrote: > > +int kvm_gmem_get_pfn(struct kvm *kvm, struct kvm_memory_slot *slot, > > + gfn_t gfn, kvm_pfn_t *pfn, int *max_order) { > > + pgoff_t index = gfn - slot->base_gfn + slot->gmem.pgoff; > > + struct kvm_gmem *gmem; > > + struct folio *folio; > > + struct page *page; > > + struct file *file; > > + > > + file = kvm_gmem_get_file(slot); > > + if (!file) > > + return -EFAULT; > > + > > + gmem = file->private_data; > > + > > + if (WARN_ON_ONCE(xa_load(&gmem->bindings, index) != slot)) { > > + fput(file); > > + return -EIO; > > + } > > + > > + folio = kvm_gmem_get_folio(file_inode(file), index); > > + if (!folio) { > > + fput(file); > > + return -ENOMEM; > > + } > > + > > + page = folio_file_page(folio, index); > > + > > + *pfn = page_to_pfn(page); > > + *max_order = compound_order(compound_head(page)); > > Maybe better to check if caller provided a buffer to get the max_order: > if (max_order) > *max_order = compound_order(compound_head(page)); > > This is what the previous version did (restrictedmem_get_page), > so that callers who only want to get a pfn don't need to define > an unused "order" param. My preference would be to require @max_order. I can kinda sorta see why a generic implementation (restrictedmem) would make the param optional, but with gmem being KVM-internal I think it makes sense to require the param. Even if pKVM doesn't _currently_ need/want the order of the backing allocation, presumably that's because hugepage support is still on the TODO list, not because pKVM fundamentally doesn't need to know the order of the backing allocation.