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 5EE3DC02198 for ; Fri, 14 Feb 2025 19:46:36 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D3580280002; Fri, 14 Feb 2025 14:46:35 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id CBEDD280001; Fri, 14 Feb 2025 14:46:35 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B606E280002; Fri, 14 Feb 2025 14:46:35 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 97EA9280001 for ; Fri, 14 Feb 2025 14:46:35 -0500 (EST) Received: from smtpin06.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 452674A05A for ; Fri, 14 Feb 2025 19:46:35 +0000 (UTC) X-FDA: 83119582350.06.686B2C2 Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf14.hostedemail.com (Postfix) with ESMTP id 9F6AD10000A for ; Fri, 14 Feb 2025 19:46:33 +0000 (UTC) Authentication-Results: imf14.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=mh3Db78j; spf=none (imf14.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1739562393; a=rsa-sha256; cv=none; b=Je6XuqouoyD7WEoQ/2jutUKw4c3AqDo3lEqDxv3X1tFRYv7JfcRjXeS/XPC+E/5LiBmoLS Fv/rfXkJVqTBa3CWj63b0hHS7CSleduH1tmSq/I88TnSnsaLQ2r/GNdBeqqyVo+uu92nyg Z7UwZ1BNPxv7LlKfxLeLOO0n2r0QWOE= ARC-Authentication-Results: i=1; imf14.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=mh3Db78j; spf=none (imf14.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1739562393; 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=3rBg5vCEAAgnUtxvRHn6AXtCO6AMSncZuDs0Rzu+MJo=; b=uFfM+x3zIV0t0gzTiqjcLcsq6bILvY0DRI6Zl6tCt8bXrbdDsJxo47+cdY1xrPTJnKxRR0 zcs9uO5j7dJlvZl4qFQqQNxoW4N1AiLWTJ3Y7MIVwv3foc0RBv5dpdKusPejrxCm8Cfarf GoaWKmqDvXoay7bIqiHIWqmzpsmDgXY= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=In-Reply-To:Content-Type:MIME-Version: References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description; bh=3rBg5vCEAAgnUtxvRHn6AXtCO6AMSncZuDs0Rzu+MJo=; b=mh3Db78jRgdg2/2ezGzMeHTNyt 411bGOpRxUv0s8PGzJmh9lu41MzvPv8v6wt6EEyv92tt/hbxW+wE5KAILsevkkapm96sJ2y2ts6jQ 0LzjYzj7v9QoQ9va3ZCpj/OLvhGqZ9PQ21LQ18eTEq4+mQ5BCd5Ax0qEPcE8O3deo1kE+MIw7zuj5 qyHXOtq/MYzssJ3stq3QFR4MM7v3vYtotIoICvmHo5ds752jfXRdCIJrFk6R2xh0eIG1/N3TmjeHx pZVeGo88IXEydeBbjyMTMOJZgScB3hR48gVSCSOlcqPE6itHoNjVMBHNZd3Ey2S2aXHgwmom5o/fm +ggcvsUw==; Received: from willy by casper.infradead.org with local (Exim 4.98 #2 (Red Hat Linux)) id 1tj1dn-0000000ByF2-0Vmr; Fri, 14 Feb 2025 19:46:23 +0000 Date: Fri, 14 Feb 2025 19:46:22 +0000 From: Matthew Wilcox To: Alex Williamson Cc: kvm@vger.kernel.org, linux-kernel@vger.kernel.org, peterx@redhat.com, mitchell.augustin@canonical.com, clg@redhat.com, akpm@linux-foundation.org, linux-mm@kvack.org Subject: Re: [PATCH 5/5] vfio/type1: Use mapping page mask for pfnmaps Message-ID: References: <20250205231728.2527186-1-alex.williamson@redhat.com> <20250205231728.2527186-6-alex.williamson@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20250205231728.2527186-6-alex.williamson@redhat.com> X-Stat-Signature: z8ubun4dbzz8ofc85rgbin6xjd8j4xbr X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: 9F6AD10000A X-Rspam-User: X-HE-Tag: 1739562393-113797 X-HE-Meta: U2FsdGVkX1+bgxDHRrqLA/65DjTvxLwf/3vsfWpaYbuklMlcvVmwiCI3oXMvz4Q5Tj5oErIX6G3Gct07KA9LAqyQycEGuojpsUnuslaNCL/d886HIouNJJ5BVMePqqw4xlXABKNdalu8NRiiSq/XkFlgL8beS02+yJcesJB7iKl4x2RxrJJtg23URfOFHK1lVIr+gmN/zcTUA8G9lQrRSlUmDE/DFx51zXoHP1G8OO+Fq+da9lvIjCDJyic+SMgb94TZA4+Xf/SGRTnb3ijKZav23tD/6SYSmxy9tP/Rcevm/SkpLv7/i0GjRqx4g1s/iMWiHwrOrC4mNqEzTVm8JKw4mqCTIdnpiWEMADZezC3xA8Z3TUo49zJf23CKoZD66sKeaBW/DnlgGS0xA7+c+5L/OlRqPasT/SxLNDEf3XHCW2ff+J5HLwsAm//0OJ9ILTqsopyeNYsu0+FhnJhO/AC47HdT01KbgG35AEt7xDctDE0CG/9knucHMClCOBVdE6WzzsFCorNpZO4k/Xh3EJKvFbAEQl/vxBvPQCWIyUu2FdNVCrqv0sLH4Xw1EP1Dej81OKPuG6BD4mNgpNMnZEJmhknh3H+fc/f4zCegjgEdP4Zl+iJUAwBHR44e+Ib9N+C0gYm0pVc982sHPGrMWzGlyL1/TCFPxE12jXX12vxKrds3VPbzQICKGIwrjibTRh7P0+EsDpeuScU3esz9CMbHI+C88aUfRJtN5xr9FkU0kf1fjpJ5TXw6zRK4pr+VKKL4vlHYDeR0mwRvQiMjg0uKNxFVANerp71BL50TOYx6Ow1vEeMJGEisAdpc0FxPRYXlEidmzRMkYyqJ2R8Y+Lu4hcqmuhgg1f0czDqhJDVqTYKxeNx70VpAHJkhLWp8DOEaaTrXlUbHCmWgdjfl3ZaWupJsd7bSb3z1FIo2ku8XurXrUk5IARTt0KxGLt6XyO8fn+IXNKqeF0+M6nR mdQmEV6m oBwbhsOADJAQ2Hw4Y1oSXufZfabSCJNB+Dz+mcxSITgdQYRyhn2UyoEEZYpXYuzRdLnVZQVr1WgUxBClNpkGedKMwQoy6J6uazPt2Ylkv+qs5n2JgFuU5gXMdfIeqi5OKnD+bO+6JgO900l+Qw1Wnn+qM6qPMdrcqMFlzYV7nqd2nNJpCoY4G0cYlbjxxA8nanI5909rEG+R/qxw8MPTCK3FtYQWUP3/CmjEc X-Bogosity: Ham, tests=bogofilter, spamicity=0.001517, 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, Feb 05, 2025 at 04:17:21PM -0700, Alex Williamson wrote: > + if (is_invalid_reserved_pfn(*pfn)) { > + unsigned long epfn; > + > + epfn = (((*pfn << PAGE_SHIFT) + ~pgmask + 1) > + & pgmask) >> PAGE_SHIFT; > + ret = min_t(int, npages, epfn - *pfn); You've really made life hard for yourself by passing around a page mask instead of an order (ie 0/PMD_ORDER/PUD_ORDER). Why not: epfn = round_up(*pfn + 1, 1 << order); Although if you insist on passing around a mask, this could be: unsigned long sz = (~pgmask >> PAGE_SHIFT) + 1; unsigned long epfn = round_up(*pfn + 1, sz)