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 A16E5C54E65 for ; Thu, 22 May 2025 13:22:08 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 439036B0083; Thu, 22 May 2025 09:22:08 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 410CD6B0088; Thu, 22 May 2025 09:22:08 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 34D846B0089; Thu, 22 May 2025 09:22:08 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 1613B6B0083 for ; Thu, 22 May 2025 09:22:08 -0400 (EDT) Received: from smtpin18.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 85E4A1215B8 for ; Thu, 22 May 2025 13:22:07 +0000 (UTC) X-FDA: 83470607094.18.6403A36 Received: from mail-pj1-f73.google.com (mail-pj1-f73.google.com [209.85.216.73]) by imf26.hostedemail.com (Postfix) with ESMTP id 9C4E014000C for ; Thu, 22 May 2025 13:22:05 +0000 (UTC) Authentication-Results: imf26.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=mwWc9CxM; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf26.hostedemail.com: domain of 3_CQvaAYKCEs5rn0wpt11tyr.p1zyv07A-zzx8npx.14t@flex--seanjc.bounces.google.com designates 209.85.216.73 as permitted sender) smtp.mailfrom=3_CQvaAYKCEs5rn0wpt11tyr.p1zyv07A-zzx8npx.14t@flex--seanjc.bounces.google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1747920125; 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=QKBJvgUrVambsJ2yzaELSbkjwfKz5UacuDjs6ycUHMM=; b=wA4fYjDQu7dqILLtQxkhYi9lA/s8TlmAWODFdVJE7bAa7TNAdcqJP+9M1jE9u5S49+WHaj uCmxN6bO2nlw3jzE8JjwplQm5YeN9C0d+JQCUoWvsk4Ksolz9DEDXQN1e2oV1DGxGB0V7Q QFYEeyZfeE/3K+342rUkQ0aul6SeP40= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1747920125; a=rsa-sha256; cv=none; b=EmZrJGNz3rCcGw9Wi99VzBGy5tHKhEI1lwpWjrF7xh3Jhk0qrV3Yg0ze2R053lcDrWcQ16 Mz9toMsR2qraP894shPcUfzq6ZS83UyQ8WRuXCKedHI9WKuwQn3Z4vcpwXK3uAPhJgySXG 2pqBRjmJBfR7f+ok1ChYrU8cLCXmMbk= ARC-Authentication-Results: i=1; imf26.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=mwWc9CxM; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf26.hostedemail.com: domain of 3_CQvaAYKCEs5rn0wpt11tyr.p1zyv07A-zzx8npx.14t@flex--seanjc.bounces.google.com designates 209.85.216.73 as permitted sender) smtp.mailfrom=3_CQvaAYKCEs5rn0wpt11tyr.p1zyv07A-zzx8npx.14t@flex--seanjc.bounces.google.com Received: by mail-pj1-f73.google.com with SMTP id 98e67ed59e1d1-30ebd48a3c7so5197019a91.1 for ; Thu, 22 May 2025 06:22:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1747920124; x=1748524924; darn=kvack.org; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=QKBJvgUrVambsJ2yzaELSbkjwfKz5UacuDjs6ycUHMM=; b=mwWc9CxMOS8ab+FDlvbhInv3hQxBVn8xvOdB/WrXMSPLc9RGwudVZDYoMS9jl42OoE GAxcOWvouG5/VGLVUQBxtr5a3JZ+kX3wSc8TsMCpky6fCe0EJV493wRqNbgA5PZIfoC1 xF75YmEqpryl6i4FhANHhvmoMqjFce5yzn/UvjVtsXOjKOWo7hlwqMTL2mknTSLW+gto lRu80/QgIDxAi38QsQBWbYHpTO+G5AsTa9ESxYtOMHT25y0VMXp0uxJQT6XRbc9Ex8x3 X37sDUeCR17X7tlBh+A9MShAbAGbZk572IFro32EsVOr7jK2LqeuduZ5szlhGcr1DGUi OSjQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1747920124; x=1748524924; 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=QKBJvgUrVambsJ2yzaELSbkjwfKz5UacuDjs6ycUHMM=; b=bCcVsmrWhWoaTnZNKqkK5SDkodXjoi5sTuD0S+QNuaCnKVKULuHg0p+bFcdPmqWW+B hqXxhPVQA0eqtfrdIZJn70l6C7kQt1XbU5wIU+g6VUb2Sob7WMIMS+Mp1OitEd49pe7N mj9vNz3QN3KBEX6f4AUYxZHYhzNSA3zUKPDpzjx9SK6nNwIOGEa/CB1FcSbOYgCNhZ/r dAAUD8ixHcnBxghkU6DiYjDEPj05X0s/Vme+bSuSHcqtkI+XrB72HWbphJqy3qAnCpzb sQFXLGfDDLHa3VIw0cPIkm3BMKyJAmqG1/SU3HWOtC4n2qRqWpfGspm+YUdEnONb5sXJ lGLw== X-Forwarded-Encrypted: i=1; AJvYcCV7gS/w8ufdSgMrSlh97eISjt2VXsM5mgOY2SPcj4B1flUZF0ih8ovHglpB5cdCT3W66ee+Dkjlfg==@kvack.org X-Gm-Message-State: AOJu0YymWMp/0OgLwk5bKp6ubsc+TaQOexP9HcUQUcB5Cka0+uwOp/cC 8zJE2MEVOwxZUQa+AGmHwQQ8ZkPxz4cIZl/VTxphCBAnkieiRgVg9VQatb5F71fn8hBZW0+4Xcm rs0576Q== X-Google-Smtp-Source: AGHT+IHBr96gW4/tfNbtVKC4wgxsh6Adq1N7ekH0d54ukQBy3Bjy1fOomuwXDQTE4PYbogSQYirL+L39Ifk= X-Received: from pjbee16.prod.google.com ([2002:a17:90a:fc50:b0:2fa:15aa:4d1e]) (user=seanjc job=prod-delivery.src-stubby-dispatcher) by 2002:a17:90b:6ce:b0:2ff:58e1:2bb4 with SMTP id 98e67ed59e1d1-30e7d5a93aemr30697955a91.22.1747920124403; Thu, 22 May 2025 06:22:04 -0700 (PDT) Date: Thu, 22 May 2025 06:22:02 -0700 In-Reply-To: Mime-Version: 1.0 References: <5ace54d1-800b-4122-8c05-041aa0ee12a1@redhat.com> Message-ID: Subject: Re: [PATCH v9 10/17] KVM: x86: Compute max_mapping_level with input from guest_memfd From: Sean Christopherson To: Ackerley Tng Cc: David Hildenbrand , tabba@google.com, kvm@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-mm@kvack.org, pbonzini@redhat.com, chenhuacai@kernel.org, mpe@ellerman.id.au, anup@brainfault.org, paul.walmsley@sifive.com, palmer@dabbelt.com, aou@eecs.berkeley.edu, viro@zeniv.linux.org.uk, brauner@kernel.org, willy@infradead.org, akpm@linux-foundation.org, xiaoyao.li@intel.com, yilun.xu@intel.com, chao.p.peng@linux.intel.com, jarkko@kernel.org, amoorthy@google.com, dmatlack@google.com, isaku.yamahata@intel.com, mic@digikod.net, vbabka@suse.cz, vannapurve@google.com, mail@maciej.szmigiero.name, michael.roth@amd.com, wei.w.wang@intel.com, liam.merwick@oracle.com, isaku.yamahata@gmail.com, kirill.shutemov@linux.intel.com, suzuki.poulose@arm.com, steven.price@arm.com, quic_eberman@quicinc.com, quic_mnalajal@quicinc.com, quic_tsoni@quicinc.com, quic_svaddagi@quicinc.com, quic_cvanscha@quicinc.com, quic_pderrin@quicinc.com, quic_pheragu@quicinc.com, catalin.marinas@arm.com, james.morse@arm.com, yuzenghui@huawei.com, oliver.upton@linux.dev, maz@kernel.org, will@kernel.org, qperret@google.com, keirf@google.com, roypat@amazon.co.uk, shuah@kernel.org, hch@infradead.org, jgg@nvidia.com, rientjes@google.com, jhubbard@nvidia.com, fvdl@google.com, hughd@google.com, jthoughton@google.com, peterx@redhat.com, pankaj.gupta@amd.com, ira.weiny@intel.com Content-Type: text/plain; charset="us-ascii" X-Rspamd-Server: rspam10 X-Rspamd-Queue-Id: 9C4E014000C X-Stat-Signature: 3hcw19nz8gtbzap13gaet98t1f85b1r4 X-Rspam-User: X-HE-Tag: 1747920125-663085 X-HE-Meta: U2FsdGVkX1+xuP2xV9cWj4nQQ3iZUdF4WPV9khSgpcnSHWwx1FEQ4w352jIlEmXSla5egYFSmMIQFhPm86GJJHQiR28KLcPNAAHAKL5on5SUm16GjRzTcv09f/DqixP4be5qG9wcoS/y+nxB5QToclOiyNX+y1oW+0klmLgPt2LLMck2+HXalo+UaRyAnMHSOufQJJ4glencYVvzKdDsCzODoT++ZjJt2+gy3mfgSpD7aprU3ty1O6IaiVJ+GVZMTmMuUeO0IQhVP8lzSzu1U2VqDFwP1eEYDp5/C2w1K+q9U8mk59Qyohcz+DUe0+maWbQm852jkQEpwsUV2wZvl5aHzXl02MKgDwh0yhGzWkjqlwaFCFyopX81TVa+eOWArlyQEGfNsC0mjO35mOugA76y/HUmXWtNLXTBXLJnTDixCn2EfPbZnVB0JmqiO0IWx+bwaK2O+xWh1nE1xh/cX07qFJgKJUoHbGLVHoQDxkluzsDVdCtmu5tu6dqAqtZCGWQ/iNQlSudHZ5yJtOuD3qiYORzUU6EOAte7cxUhEuFIdmyLXRHTW71wJxsahBNdhK9DBKtnozqPKPxccx6Z/hw347eLYqeTPj7k0r66rgBjZ2IwiXboGTGXKiMv8HniJPXuAwxczLHWNpBwcb2tqKd18lqcpEDzfD1MWJjc2MNQRchI9uFZsQBBmac9K6K8reWC1VCJzy71KBWw8EL/kxfnzk4gOXTfwYdzwcWA9iNFRn9XI6IfiawK1EmtgTd6k0STiR5/UmA9MPWde0VQP30/TRYS7K1bAQyvlU+vtfst1JfGbFMlV11CQseFKeVPUvkwn9h0BjoxqlXUhEP5omp5c9X5BnddUJfzAUpPrkIhIFcNytVMHlmmzlwUl2bC4dStSBrwoY+qCtQDYeY9zjAI5m4Pt1bFf01l2X40AcXJCbx2M9IUCPgZ5gv1rNLzct+yvBV2MJQX0qvZQ2f H2/JaLPX DZSzYkMWoiv80ZhUS8ixGo+i7P5GQSVpNSjCEwhYKtChfe8JO1jD6i3tH427uy+AIrma6eytlnKTqVvcXPWn+EuKjX/EqT6M4G1sru1DTiSpVyf0n6SklVn90wfSaXdYTSThheeKTS13nBhABEPbrN2vJwbIrsJD6Cv5yRCvws2YEKp2rPsmzvsBqXyMhHMEGOfvLt7/dKfiLewXD3/6JAuw3uaDW8E6AX/F8b7CpHGAymOG+Yt/CqWB+CjY/+Tqdk4dM23S0k5hZI67JIFW6+2IoXrBi03ebRxZpJlLAgN5BsVu84uWIiHmjaL82jU+DcJVtgTlUwMhMjZ9iMQtawgmjiTKFU/73zfAj8rkR1XfexkpuJnt1i8H0/YF9lQs61K98gyidG2qBcO58WgLluZcfPG+F5cu0LUp+unIXI4jvFXfw5Cv94p8DmkbLgkQjVtFDVwahSxZSZjEcTX9iOR2kBynueJy8ZtUchTiaNh8tf8kSE0TQF8+IkZvEIusmi9uObiHs3xKhMYY+R7Q9L/jc6BtDUG5e/Z1V4jaIRMgXZv75JvBn0H/DXX3Kz5bg1dpsAxqodMroRlnqIV9HNGqt33DEo6elLjLKJNR/KiuX3fCFQBl4HMmA7E+0PYorue6alZWovCePrcwFK+iUT/ozMUllwPfIiPWOnqYq3INw/SEXfI5YunWqrc+2mYqnJtxbv4x+uxh/74A= 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 Wed, May 21, 2025, Ackerley Tng wrote: > >> diff --git a/include/linux/kvm_host.h b/include/linux/kvm_host.h > >> index de7b46ee1762..f9bb025327c3 100644 > >> --- a/include/linux/kvm_host.h > >> +++ b/include/linux/kvm_host.h > >> @@ -2560,6 +2560,7 @@ static inline bool kvm_mem_is_private(struct kvm *kvm, gfn_t gfn) > >> int kvm_gmem_get_pfn(struct kvm *kvm, struct kvm_memory_slot *slot, > >> gfn_t gfn, kvm_pfn_t *pfn, struct page **page, > >> int *max_order); > >> +int kvm_gmem_mapping_order(const struct kvm_memory_slot *slot, gfn_t gfn); > >> #else > >> static inline int kvm_gmem_get_pfn(struct kvm *kvm, > >> struct kvm_memory_slot *slot, gfn_t gfn, > >> @@ -2569,6 +2570,12 @@ static inline int kvm_gmem_get_pfn(struct kvm *kvm, > >> KVM_BUG_ON(1, kvm); > >> return -EIO; > >> } > >> +static inline int kvm_gmem_mapping_order(const struct kvm_memory_slot *slot, > >> + gfn_t gfn) > > > > Probably should indent with two tabs here. > > Yup! Nope! :-) In KVM, please align the indentation as you did. : Yeah, that way of indenting is rather bad practice. Especially for new : code we're adding or when we touch existing code, we should just use two : tabs. : That way, we can fit more stuff into a single line, and when doing : simple changes, such as renaming the function or changing the return : type, we won't have to touch all the parameters. At the cost of readability, IMO. The number of eyeballs that read the code is orders of magnitude greater than the number of times a function's parameters end up being shuffled around. Sacrificing readability and consistenty to avoid a small amount of rare churn isn't a good tradeoff.