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 142C8C4345F for ; Tue, 30 Apr 2024 15:30:27 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C07AA6B00A1; Tue, 30 Apr 2024 11:29:57 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id B78986B00A2; Tue, 30 Apr 2024 11:29:57 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 9F2276B00A3; Tue, 30 Apr 2024 11:29:57 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 77CA76B00A1 for ; Tue, 30 Apr 2024 11:29:57 -0400 (EDT) Received: from smtpin17.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 370231C0E98 for ; Tue, 30 Apr 2024 15:29:57 +0000 (UTC) X-FDA: 82066583634.17.12865EE Received: from mail-ej1-f53.google.com (mail-ej1-f53.google.com [209.85.218.53]) by imf07.hostedemail.com (Postfix) with ESMTP id 521DB40013 for ; Tue, 30 Apr 2024 15:29:55 +0000 (UTC) Authentication-Results: imf07.hostedemail.com; dkim=pass header.d=ionos.com header.s=google header.b=HM5NYDho; spf=pass (imf07.hostedemail.com: domain of max.kellermann@ionos.com designates 209.85.218.53 as permitted sender) smtp.mailfrom=max.kellermann@ionos.com; dmarc=pass (policy=quarantine) header.from=ionos.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1714490995; a=rsa-sha256; cv=none; b=K0SmsH2Jpxq0m22F7aDCNSZMY0sM58AN9dqF/30LHtYrjZQhMvjh7cOVFeLCyo8/7Qo0jJ PEBERzB1OMAY2RYsBNy2cxHc9qQ3c0WGZSSfMDXu5f0G7a2idV8D2Cw6psa5yE8qW7Eq9O 0aEJGY1mkQpO2dRW1Ua3xL/BD3IGTXk= ARC-Authentication-Results: i=1; imf07.hostedemail.com; dkim=pass header.d=ionos.com header.s=google header.b=HM5NYDho; spf=pass (imf07.hostedemail.com: domain of max.kellermann@ionos.com designates 209.85.218.53 as permitted sender) smtp.mailfrom=max.kellermann@ionos.com; dmarc=pass (policy=quarantine) header.from=ionos.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1714490995; 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-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=XgOq23bih0Xnwomy5vmAqs9Ea2Mb+HRRPEwLJ3fjdfw=; b=gQV8P8ajkXK65WIhthBlnq6VMLSys9+K0wtyJzRNfTb0WR7HovF5IyURLtiTQoR0bXMHu0 abJ/3HAsVj1QUzPuWlyVx+Rj4nzlTLQ3992mSmyMdOjHu7zBcIm8T7eThZ+0MgAGrWQlDn DEEBxPNMuDkwyVEbT2WxKvQ5otC63tM= Received: by mail-ej1-f53.google.com with SMTP id a640c23a62f3a-a5557e3ebcaso957599266b.1 for ; Tue, 30 Apr 2024 08:29:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ionos.com; s=google; t=1714490994; x=1715095794; darn=kvack.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=XgOq23bih0Xnwomy5vmAqs9Ea2Mb+HRRPEwLJ3fjdfw=; b=HM5NYDho3idEbyi9i0q9+eGzbRPoVUnFicTC+/zmbvnZxSKRAzaJi+uRkqrVgi7cLD 4Kf4DhPQ/ADaBRW1vBqD/HOKforpj0iIGJy1P8ryEpyUkZx/KUO44izKWIfvytyykt/C EAQvDM0MkP8bRAIeNVLrvBAcTRSWg3p/ZcwqxHmBrtkk2/aQlwJxuqwl6IGoEgSEca/Y rcR+lQMm3bazS59b9IuAUSlbQSNNkWsjN+JlU4ptYODhH/+t06ayHZONBIPFLkPjnq0W YERKhxAn7cUaMS+GQWp/3CI/lLST27ijuqBnIvhZStJ4WCfCnlee6qbrhJ/Ma2Xrd0vS T4iw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1714490994; x=1715095794; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=XgOq23bih0Xnwomy5vmAqs9Ea2Mb+HRRPEwLJ3fjdfw=; b=GgsnOoUR0A3J1RAf/xYK8M0bfiDAnQYPBdmg5xVev2mIF/PvXvtVz7zOIwgiyLZIkb wTVZpU4o8xHPyX+lkdvx/42g/fpC6iA6HtblWKbBgfiJIq/LZxu2/6v0mL2nxa64FG5n fGLfRiV0C0Sw3H1v3ULSCrV2JHiMkpouxw08lhYrPXvagRqZO7+N9Om3H2WNUADepO+X qkyhdPgNWnRIoGSclnEau4v5+1vhYHnksKK++iR2bFEm06qH4REfsFo6OZz6UK8gOK5R ZTGXVum/jSXMIUt37drE5/e/Q6yJglqLRnkpAhc5FXV4Go9UysqsPPkQt0lxnFPDJ+36 DLDg== X-Forwarded-Encrypted: i=1; AJvYcCXw4E9U80/ed/RjE06HkFv/0IueK2DaYwQSM3TJS/pq/sLhQT1640zUkE6/QhHkgzcrtPn7OCrV1+9k/1cAztrkAxM= X-Gm-Message-State: AOJu0YwOVGz9DAeDyoDvhr+FNw0VMOWpO2t46hLRpN9HZC5OYJo2F4mB C8BfE3Y6T19x5fXjaIYKhZr1XeSiwVtVsdRAB4x8uMik/PThpuZb/iVF2tMxzz0= X-Google-Smtp-Source: AGHT+IG/uAJA2hLyHFwwSx+DAW2s1GTiPaLdZjteCbmtyObgYpzI32rY1f15fT6HmnOHgU1rI1sfVA== X-Received: by 2002:a17:906:3894:b0:a58:8602:ffa1 with SMTP id q20-20020a170906389400b00a588602ffa1mr87095ejd.19.1714490994018; Tue, 30 Apr 2024 08:29:54 -0700 (PDT) Received: from raven.intern.cm-ag (p200300dc6f06e100023064fffe740809.dip0.t-ipconnect.de. [2003:dc:6f06:e100:230:64ff:fe74:809]) by smtp.gmail.com with ESMTPSA id a10-20020a1709066d4a00b00a52567ca1b6sm15278137ejt.94.2024.04.30.08.29.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 30 Apr 2024 08:29:53 -0700 (PDT) From: Max Kellermann To: akpm@linux-foundation.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org Cc: willy@infradead.org, sfr@canb.auug.org, david@redhat.com.au, Max Kellermann Subject: [PATCH v5 09/15] linux/mm.h: move devmap-related declarations to mm/devmap_managed.h Date: Tue, 30 Apr 2024 17:29:25 +0200 Message-Id: <20240430152931.1137975-10-max.kellermann@ionos.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20240430152931.1137975-1-max.kellermann@ionos.com> References: <20240430152931.1137975-1-max.kellermann@ionos.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Stat-Signature: 1uyqgeo65dw7pxokh9gdpq1pnurajzij X-Rspam-User: X-Rspamd-Server: rspam02 X-Rspamd-Queue-Id: 521DB40013 X-HE-Tag: 1714490995-301151 X-HE-Meta: U2FsdGVkX1+DbUiiXTOo9w9J0ShXYwWb+jjKMqX3ytHlh+grZkVYL++UJ3rj0ovHEE+/Fk7Uf2cz05X53xprjtdPUu2XZoJTWhKjBHj8/F0cJryjBKCmT8bbKS7EdXgCq4GNhn3H6iIBD8MI+fk7klzvnoEJE7i5GpBHTmLCDPY5JKZE9bq1g37mRBJ6BH3GZ5dC/VsEqK1yhZBjsrxvEy4nFvdrWJnCVYNrYknOrPEbPvDyYvKllRIKCl4TFezQmgMtnzeNP/Re4juBZwJ3uUyOJMWi8uGLQwy31YcSA3rdcWclQGYKxHj3cjTCT/z/oAuzX1MRgZOXsqZ8U1TOGZENXsxlsP6pMu8yT4R4D3osu+HRQiUOlTtAG/kLFL5sJcATX6ev/3b/B+ohoWpzQRtU/0+1baQ/7bB7zebNVTfXd+slvac9nr/P7HnHqc/pURa3JtnAV5lv0gt+jhz5+8qqGVrUOwwTB3v0EdO4bP3pZq11n44i6pcssh7ANBNCf8AG28ukOdsBN52fMCt6myjo8BIUfT19j9C5fvik1ahCFGLZsPoNLl5zL3ShcxHn7iQfLj7GKV6i+d2zW6yswIFXw8nnEcnRpG72ThH79OiF736/9hpBkp7Iltj+xZh3ee2dA839ZXQCTiIjx1mna9iu+9LNHOT4tLu5070Edl1pAGhoN2uRK/VXelj2iwbtQ+L2o5gX3PfOEJfqxkdTS2K7HL8J/sedrEh2SZ0iw2ZadA2PecQWKkh6+Z+yVn3rMdVrP51yNxCBu704gwlx104UmXeXkb7rgbG+bSg2aVZU4I4bbRImkNyFid6lzTNaPx24Ly1ImAXRApF00iXSngtDNrp+jokHDDKdOM6lD232hhLf3JrpBD74hDeuGzrAeVS8oi5NNxbyMiWW/tRoHk5UqDrDd63cHlvsbu8Ow6DD03R53/8TknH+36+CMzJegl2+zGOQ57K/HIWn0IG wpg8MZpg KVH0VF0AuzUf/3ChAxyabp+gz0U4kBRXRrkF73Ro3udi8QIXF7/Lht85uuAXRchmXEe7c+g371GpvQuf8gociSqOkCzhdz0YFIlB8kzgMS0eaNs/dcNZ5Lvvmhv5V47rcBmUqqdU/Xu3SV5qGvNOzT5JPr5fFgSE9HrgCWsSutS9mT7LDtOaBB2gTNr6dx27bvBNq7AMIr6h0/muj+AGeIwKqF50AeD9ppt3OZuQoqrxntqI9vvS4ZjXoFgzOQ6Ja3JiI2tHPf732d4mNAcvFAOPyBi2c0q4KJnF3RrJSfroqoPJtt1od/tz85XNuy3jh42WUD5i4lhYr3KfacjzfVL7B9UI3WKqUh/r3c/DDSRvjMswtFiGTpqhPgFfTCY5Fg++n930qbCA5PdHu/iUe1vDoI/OqJrPPPeOsEL5vNbi30Ro= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000166, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: Prepare to reduce dependencies on linux/mm.h. put_devmap_managed_page() is called by put_page(). Moving it to a separate header allows us to move put_page() to a separate lean header as well. Signed-off-by: Max Kellermann --- include/linux/mm.h | 20 +------------------ include/linux/mm/devmap_managed.h | 32 +++++++++++++++++++++++++++++++ 2 files changed, 33 insertions(+), 19 deletions(-) create mode 100644 include/linux/mm/devmap_managed.h diff --git a/include/linux/mm.h b/include/linux/mm.h index 5b3d56454344..9539ba12b99d 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -2,6 +2,7 @@ #ifndef _LINUX_MM_H #define _LINUX_MM_H +#include #include #include #include @@ -1364,25 +1365,6 @@ vm_fault_t finish_fault(struct vm_fault *vmf); * back into memory. */ -#if defined(CONFIG_ZONE_DEVICE) && defined(CONFIG_FS_DAX) -DECLARE_STATIC_KEY_FALSE(devmap_managed_key); - -bool __put_devmap_managed_folio_refs(struct folio *folio, int refs); -static inline bool put_devmap_managed_folio_refs(struct folio *folio, int refs) -{ - if (!static_branch_unlikely(&devmap_managed_key)) - return false; - if (!folio_is_zone_device(folio)) - return false; - return __put_devmap_managed_folio_refs(folio, refs); -} -#else /* CONFIG_ZONE_DEVICE && CONFIG_FS_DAX */ -static inline bool put_devmap_managed_folio_refs(struct folio *folio, int refs) -{ - return false; -} -#endif /* CONFIG_ZONE_DEVICE && CONFIG_FS_DAX */ - /* 127: arbitrary random number, small enough to assemble well */ #define folio_ref_zero_or_close_to_overflow(folio) \ ((unsigned int) folio_ref_count(folio) + 127u <= 127u) diff --git a/include/linux/mm/devmap_managed.h b/include/linux/mm/devmap_managed.h new file mode 100644 index 000000000000..50357b304d68 --- /dev/null +++ b/include/linux/mm/devmap_managed.h @@ -0,0 +1,32 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +#ifndef _LINUX_MM_DEVMAP_MANAGED_H +#define _LINUX_MM_DEVMAP_MANAGED_H + +#include // for bool + +struct page; + +#if defined(CONFIG_ZONE_DEVICE) && defined(CONFIG_FS_DAX) + +#include // for DECLARE_STATIC_KEY_FALSE(), static_branch_unlikely() +#include // folio_is_zone_device() + +DECLARE_STATIC_KEY_FALSE(devmap_managed_key); + +bool __put_devmap_managed_folio_refs(struct folio *folio, int refs); +static inline bool put_devmap_managed_folio_refs(struct folio *folio, int refs) +{ + if (!static_branch_unlikely(&devmap_managed_key)) + return false; + if (!folio_is_zone_device(folio)) + return false; + return __put_devmap_managed_folio_refs(folio, refs); +} +#else /* CONFIG_ZONE_DEVICE && CONFIG_FS_DAX */ +static inline bool put_devmap_managed_folio_refs(struct folio *folio, int refs) +{ + return false; +} +#endif /* CONFIG_ZONE_DEVICE && CONFIG_FS_DAX */ + +#endif /* _LINUX_MM_DEVMAP_MANAGED_H */ -- 2.39.2