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 B25ECC77B7E for ; Thu, 25 May 2023 20:57:11 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id CA3C16B0074; Thu, 25 May 2023 16:57:10 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id C5476900006; Thu, 25 May 2023 16:57:10 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B4280900002; Thu, 25 May 2023 16:57:10 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id A5B446B0074 for ; Thu, 25 May 2023 16:57:10 -0400 (EDT) Received: from smtpin14.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 5FFCE40D87 for ; Thu, 25 May 2023 20:57:10 +0000 (UTC) X-FDA: 80829987420.14.6B5CF6A Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf06.hostedemail.com (Postfix) with ESMTP id 90F6D180011 for ; Thu, 25 May 2023 20:57:08 +0000 (UTC) Authentication-Results: imf06.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=jz222m+q; dmarc=none; spf=none (imf06.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1685048228; 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=w/nv11jmZL//tzZgnsZQ422wtTnnU+GBTr8mcjZt+5o=; b=bCcZvo4M25JbqmSQCQRdsFKD/r2PGeYCgG6W+aInXTNVS5BU07sMZrAGpck+XM7p7YahwA 9e4dr95yLi9DMmSOycRBWDWX9xwj9gKhdrXA79V6sLb6EIhSy18Lyx3QYXewUfC91v3Ngo Lyv0n2GF+soS9s/QsGAh3ITapq/Uosg= ARC-Authentication-Results: i=1; imf06.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=jz222m+q; dmarc=none; spf=none (imf06.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1685048228; a=rsa-sha256; cv=none; b=HNBK6v7ddLgMMs84FD0FWqyURwp0g64Oh3WOZtE288Koqqo38avzvEp6MIN63LKKeEpMBL ViS3eH1hXE8/zuXw52vvMmzRNvN0+lgDaJ4mpd7oTdD0MuukhmKBo9r0bi7YC2tpEIx0Zm JJhenJYILRfEGYs9DLVc8+j4o3aBu7A= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=In-Reply-To:Content-Transfer-Encoding: Content-Type:MIME-Version:References:Message-ID:Subject:Cc:To:From:Date: Sender:Reply-To:Content-ID:Content-Description; bh=w/nv11jmZL//tzZgnsZQ422wtTnnU+GBTr8mcjZt+5o=; b=jz222m+qmkx46CtsL2SK6imku3 qq2pJIrpZYwwtoNlBcZF7Fk0xlPqceK3lGx9yfcEP5je3dxHl9hetkE+18QuDijP55CEPQoODBYNI uvYKUPiKzBlONmhR187tH+srkvPeqkL343XpLTCXJPsX8gyRZRXys5FShMS4Kw48PvGIyNIrdiJob qzWNUEmQ7TjGXaPWTNoBqzaR0fCIqDhz5vX5aceLEg5RLyYCA0NTJNp94Q35H+/kQzQkdBPbuLfU0 BUQp3kv2YpGE9fMQX8b3xVpJANGw8phzZpM8mq6dy60BHa+pYvxVMkKbTWE80Y8Sdq1m5IiayRsFG t/mQy7HA==; Received: from willy by casper.infradead.org with local (Exim 4.94.2 #2 (Red Hat Linux)) id 1q2I19-00DAXr-9n; Thu, 25 May 2023 20:57:03 +0000 Date: Thu, 25 May 2023 21:57:03 +0100 From: Matthew Wilcox To: Vishal Moola Cc: Mike Rapoport , Andrew Morton , linux-mm@kvack.org, linux-arch@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-csky@vger.kernel.org, linux-hexagon@vger.kernel.org, loongarch@lists.linux.dev, linux-m68k@lists.linux-m68k.org, linux-mips@vger.kernel.org, linux-openrisc@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, linux-riscv@lists.infradead.org, linux-s390@vger.kernel.org, linux-sh@vger.kernel.org, sparclinux@vger.kernel.org, linux-um@lists.infradead.org, xen-devel@lists.xenproject.org, kvm@vger.kernel.org Subject: Re: [PATCH v2 01/34] mm: Add PAGE_TYPE_OP folio functions Message-ID: References: <20230501192829.17086-1-vishal.moola@gmail.com> <20230501192829.17086-2-vishal.moola@gmail.com> <20230525085555.GV4967@kernel.org> <20230525202011.GZ4967@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: X-Rspam-User: X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: 90F6D180011 X-Stat-Signature: cj4ie1tui6bkgumspfu96baddsnwhcjt X-HE-Tag: 1685048228-784745 X-HE-Meta: U2FsdGVkX1/C7okaRhqc+B0J1VEArAGbNQBPbqh8hJfHrxG4SO/arGJxRj9UR+BXVE8pUMM26bFW9x4T4fv8E56TNMtenhXxghiGgYA7ebganQBvTsfJwXLYrnlwqzMZPfMKwQKmybOtiecjxfWE6FBXAjaa5ZuKhpyWAPIKRZMSPWM8WRZadId/vxGhhoFjStnKl/Dq1huI7dfOCoIcjN/U0bSmHz0oa/7ya+acddG/ps9VuHghSAaz6CxO+23OUq5z2bvTaAnDtcruIHgdaevKyWe8hhHWi7ekz7oJJlZbMfwYnAMjSHmoZT/rzyvn3VYUVfPnSKFSeDIOfDTuyn4NEk+Xyo960dQN4Wy1cSwbnt5Nr+ywa1Gux2LcUOp/H4GFEbP5eRuvzlYQ1j9nppq4PiNYX5Uv4HKpp5zbsnanPqXdixEg7fSeBgTCO/2MnMI8CYOt0AmrhuhIXWAgn2kHWbCgZEs8Z97EJj17/S+RY6gEYNyAq6kUF9meqF/57mTBv0XtcjuQLteR1yc+HkPj0sseqh+Fy3POVvXgMdXIQ4xAS4Zw8CYyGGyDh26fUYyDTDfadaiQQS/E7rkBN8XY4bPK/AArd9qtHp20SPu/x5AbyKTGjqTi1cL4WMWKzW0XBybH7CZUWygyHFcPy2hOjos6FydoaKmJpGbJED4zG44OFowt5yjB023v+yufIxRLCk3O/zikEiXGoH8WsWOVkGE7PVqLqGMH5UOQfDWsPXGSXlCyc6Caf2jqNfOJxW9xGBUuX7vFIGq/707mfzFC3GQgQrHxgqXGFg59HM6RGP7gWHLVDf5NXcMv3RCAXKiT63DTj4SFK16EkVUk6jIeP2yeW81r4NORlya/NvOwt5rFU+nxjNJ+U2yGATc7lZV0mR6FJmhEC9V/JRiYAyRkf1cEt9RYZUkQEjA8t7yuHpu9wkPN+DKY1pWU6hU6ucIj7ALrds94n8P9fIT SlOREQHQ k8hss3NEbyT9NwEw8Ea6jo5BnLPEtQXLEfR8pLpA5wH6xlFPzsERR4ZZO7EFEoGb+LlZsVHzTwZFaemUqHOURJr9RYkkB+VT3t6gjSbZveEot13twnvoxK/bK+c510cpkImX1ryivGCG0pnvhA4s2udPw8cS99jsGcPpcZod4VNh3yXuXLlllfQtQr1/yDVlSf1H7HPQU9UapxHamqF8lGBxtqEB+SlT4WgXShn+4pJiUY5AAbVESQt7zzi3VOBbbdVNHQi5nh1xoXjaaf3vzJraoaM0ObfGfbSLOk+kNYn9ChISyVXcoYfhPToPegsd59Dix 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 Thu, May 25, 2023 at 01:38:54PM -0700, Vishal Moola wrote: > On Thu, May 25, 2023 at 1:20 PM Mike Rapoport wrote: > > > > On Thu, May 25, 2023 at 10:00:23AM -0700, Vishal Moola wrote: > > > On Thu, May 25, 2023 at 1:56 AM Mike Rapoport wrote: > > > > > > > > Hi, > > > > > > > > On Mon, May 01, 2023 at 12:27:56PM -0700, Vishal Moola (Oracle) wrote: > > > > > No folio equivalents for page type operations have been defined, so > > > > > define them for later folio conversions. > > > > > > > > Can you please elaborate why would we need folios for page table descriptors? > > > > > > Thanks for the review! > > > > > > These macros are for callers that care about the page type, i.e. Table and > > > Buddy. Aside from accounting for those cases, the page tables don't use folios. > > > These are more for the cleanliness of those callers. > > > > But why using folio APIs for PageType will be cleaner than using page APIs? > > Do you have an example? > > Ah, for example in mm/memory-failure.c there are a couple uses of PageTable. > Like the line : > if (folio_test_slab(folio) || PageTable(&folio->page) || > folio_test_reserved(folio)) > where that PageTable(&folio->page) can now be written as folio_test_table(folio) > instead. > > Also there are numerous uses of PageBuddy in mm/compaction.c that will > likely need to be converted to folios as well. ... and you can currently call PageTable() on the second/third/... page of an allocation and it will return false, regardless of what the first page is typed as. For most architectures, this doesn't matter, but /proc/kpageflags will underreport the amount of memory allocated as page tables on architectures which use multi-page allocations for their page tables as there's currently absolutely nothing to indicate the size of the allocation. To fix this, we need to use __GFP_COMP.