From patchwork Sun Nov 10 15:27:54 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jens Axboe X-Patchwork-Id: 13869946 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 B7F47D12D46 for ; Sun, 10 Nov 2024 15:29:20 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id BC1A76B00A8; Sun, 10 Nov 2024 10:29:19 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id B6FDC6B00AA; Sun, 10 Nov 2024 10:29:19 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 9EAEB6B00AD; Sun, 10 Nov 2024 10:29:19 -0500 (EST) 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 7687F6B00A8 for ; Sun, 10 Nov 2024 10:29:19 -0500 (EST) Received: from smtpin24.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 284491A06E8 for ; Sun, 10 Nov 2024 15:29:19 +0000 (UTC) X-FDA: 82770568062.24.B362CEC Received: from mail-pj1-f41.google.com (mail-pj1-f41.google.com [209.85.216.41]) by imf10.hostedemail.com (Postfix) with ESMTP id D103DC0007 for ; Sun, 10 Nov 2024 15:28:59 +0000 (UTC) Authentication-Results: imf10.hostedemail.com; dkim=pass header.d=kernel-dk.20230601.gappssmtp.com header.s=20230601 header.b=tlg6fRa+; dmarc=none; spf=pass (imf10.hostedemail.com: domain of axboe@kernel.dk designates 209.85.216.41 as permitted sender) smtp.mailfrom=axboe@kernel.dk ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1731252384; 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=G7YIma1TSdS4GVKncfhre22V8DGIHalzmKUoqzgwI0E=; b=cwcoquyhmC8hRcZ2MEDYvCcr077WktxPG6VjMIeiZz2jagh7Oi1MBwPtFyVVgmbmcj2AAw jlVnp8K6nV4Lsu1bHYsGCZK+LIbrZpJcQONDig2heVmA+pCwdJXI90CIKJXtFFnny+Hmr0 hZ0Z/zpMbcGafAMNpZ9TOmSXaIzZ7L8= ARC-Authentication-Results: i=1; imf10.hostedemail.com; dkim=pass header.d=kernel-dk.20230601.gappssmtp.com header.s=20230601 header.b=tlg6fRa+; dmarc=none; spf=pass (imf10.hostedemail.com: domain of axboe@kernel.dk designates 209.85.216.41 as permitted sender) smtp.mailfrom=axboe@kernel.dk ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1731252384; a=rsa-sha256; cv=none; b=u/BP0Hyz96nWPGoOQzST33uwrzS8PIN+IpFQjmwWgmDhbT5k/PublShnIQp4FY6dNIM4jO skXxmOUPMp5qDUkx5GTazgAzlDn7woZMCYD6ht/MHmAAeR1Ue9V1FMDpJTs90crrrXT/Rn QO1Ojc3mm+sWsJr+E0SJiESRdj8TfF8= Received: by mail-pj1-f41.google.com with SMTP id 98e67ed59e1d1-2e2eb9dde40so3037418a91.0 for ; Sun, 10 Nov 2024 07:29:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel-dk.20230601.gappssmtp.com; s=20230601; t=1731252556; x=1731857356; 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=G7YIma1TSdS4GVKncfhre22V8DGIHalzmKUoqzgwI0E=; b=tlg6fRa+hyotEfuZLS3oHTJP+dtcdvMOJyzbCqXiposHH99LRCHgu0LNoAdHkhGd2c S/Rofx8iGPBzA/RH7G8blVjATUPi6AqLXSGmAZUyNJt0v24ncUMTg7HjVCxQUyo3pTv0 ThEAmNXwsrMHAv463a+NsZeg84xd/XxGe70YpoHLcspcABI/cuLvpMHt4QrEnzoiTsVJ EJ0cIldIojL3SLMLZ6qHXKugmcvnZmQGM0zChem5x/kMf+EtM41DKkFn7J3MHpxfkGhf 21mCTMTb2pFhpQ9GTLHbwKcfE+czhcBXAdPbUUTAFVJLOMhZZAy5jA/kmt/uoJxQ0mto 8sSA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1731252556; x=1731857356; 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=G7YIma1TSdS4GVKncfhre22V8DGIHalzmKUoqzgwI0E=; b=b80SPF0sClWpO+gFAWMxys+ccTa1t0qNnNxcX8PBRtW/zEf9+v911c7AWCBnTUXFJ7 vgcjQPaMjYS9ZugDKyYVP6KadTpDFru3ebfQqpM3UV0S25cK352JnSGOLXqSpi+GKIte jVACQ1c2q0uRNDh5anQ8fyeqf/WL+J1kBfvorp9xDoGb/bWyhH/d9+ezU5hH8KdQntk+ Ll8cEkr1RauLU1kq5TIRma2ghjIHg62kNNNONpKTffl4fdx3tq0J7pUNWeaHCqS9+Tx5 WtGQiivx7GsEtS0kL8CyXkHocZaEnt7VRNZrj236rBCuURbJWZEDh8Scqzx6qiM/lr47 0Y6Q== X-Gm-Message-State: AOJu0Ywv54q7mA8V68MoxDfNuahE64ZJTGdQuInr3oIC/KCyR8Duov83 0Zm/pDTd77DWiriKs738hCCAVzHiBIO5hpxk0TH9iXmN9/fDia8zSyiW4memwXDA8UNeaI7AEGA IYQc= X-Google-Smtp-Source: AGHT+IGMsIWblwQtQWO8JcRHCLRTN0pIGof64EqqksTz4TFFvZ2UD/wQcBuuSf4CK9eKe+atZiR/kw== X-Received: by 2002:a17:90b:4acb:b0:2e2:be64:488f with SMTP id 98e67ed59e1d1-2e9b1655945mr13617134a91.6.1731252555726; Sun, 10 Nov 2024 07:29:15 -0800 (PST) Received: from localhost.localdomain ([198.8.77.157]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-2e99a5f935dsm9940973a91.35.2024.11.10.07.29.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 10 Nov 2024 07:29:14 -0800 (PST) From: Jens Axboe To: linux-mm@kvack.org, linux-fsdevel@vger.kernel.org Cc: hannes@cmpxchg.org, clm@meta.com, linux-kernel@vger.kernel.org, willy@infradead.org, Jens Axboe Subject: [PATCH 02/15] mm/readahead: add folio allocation helper Date: Sun, 10 Nov 2024 08:27:54 -0700 Message-ID: <20241110152906.1747545-3-axboe@kernel.dk> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20241110152906.1747545-1-axboe@kernel.dk> References: <20241110152906.1747545-1-axboe@kernel.dk> MIME-Version: 1.0 X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: D103DC0007 X-Stat-Signature: wgtzufczwhpdhjgaezd3fxzcsrodgco9 X-Rspam-User: X-HE-Tag: 1731252539-790440 X-HE-Meta: U2FsdGVkX1+spjhJnOckx/PmG5izCeaHuvk2O/KXz2Z3tiPIlk5DL9sdLAwUYayN5SljQ64/ExRD4YgefZW6pbONCF+u9bh9Jabfdyc8CWakf3bFHiQfGe805JsKi7/++Dt92ZpHZHkXVocG3QhudB55qXecV6uOmMzuN4PA6gOPGGMv+1GKNtMM2ojAa6G4asCN+QF/A6MeJC2MaH9Jz0tvxONlLvvnZaMCRhjW87uu7rctD4nNNjiAeDxG40RD1vG2kovkPsthzKYwK+Vj4dVe+vjLS371oRKBk2SQPg/FBQXDTSlB+yLKRs0FDnf5J5xUWh7M0tzhRimVEu3Rm/cdGuSQt/dYjtUtk6//w1GOJFZGmr0UFwulUL0TFg5XMYhVMbmuqa0bRWt7GCW1WjqM3J34Yuf9IsGAlN4NuTQ2I611zVaqFuX8TfsX9CG/EXVk2jwSutH6k7QhUmASd20WpmywfyM/YGOLnWtHyg2ZKLM+0/iqTpu0QL/D+fbMHryZXqvN46lUK4zy7BjBIPUtIA++t04Tkd7USSLBAh8BSA2Cj+l29OGa7ZzlUhcuRuPqRytSpy6IzL+Fs6aJht8ygWtMpB2hUyQm7unQpCX++oErDXFIQhJugawyDmadZhRaaOaHbdLx3VDdKijmSoLb7tS5qqIFQ0vQgsc7iE0vv5qTRn2wmNR9Ie+8S+/DlavKZOO5B+F9pYZ3ofFarrCKtlPX+cgT7flr7pfHmiB+2DX5u0CZ7l84p+flxWsEC/tWmyrz4VqcmIBA14usT8jrwxQnkSQpmqfPzKFMk0PKUurbNDRntsEw2psgZmIo7RdJDXVR0jrnNAoBbLAPiHnDCS+IienPTbYHf34U7Rjf201nyG0eBvgk+Z4SSw1O0fC5SVV5J0ouxBwFF40LCE/VlQQ0euZ1oAcj7VFS7RqWntRDsk/dkFDuf/6TFEq5Z1yZIK5S2J7cIyMgb0s evlfOiKX uwf1pfJlWdilGgTmbv70DwNEn5+yJ3Z/oWpTeKLyG8U2M9R7hxZqMn1pm+Zi6tCbOO1UPcupQ7M+QbQq5jBZQBOx9C3hrVEtYtb0vAAoF1IkyCjKdGyjeOhMcblcSMrw7N1+60IzhrBPbEEx56gv2MUirac1JOE201E5FvxK07kziMbqsMKm2KkK344nKm9T3W1oWw5IVMN2Fvr7rGXGGxCY/ZeT5YO9VrdDzEJqFR1WzLP54zkg4EQgzif16cdP9GfBTB2U6MUoWIzBI4oKfHJ67iDTHWccYHh0A2MUrn5Pqvbg= 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: Just a wrapper around filemap_alloc_folio() for now, but add it in preparation for modifying the folio based on the 'ractl' being passed in. No functional changes in this patch. Signed-off-by: Jens Axboe --- mm/readahead.c | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/mm/readahead.c b/mm/readahead.c index 3dc6c7a128dd..003cfe79880d 100644 --- a/mm/readahead.c +++ b/mm/readahead.c @@ -188,6 +188,12 @@ static void read_pages(struct readahead_control *rac) BUG_ON(readahead_count(rac)); } +static struct folio *ractl_alloc_folio(struct readahead_control *ractl, + gfp_t gfp_mask, unsigned int order) +{ + return filemap_alloc_folio(gfp_mask, order); +} + /** * page_cache_ra_unbounded - Start unchecked readahead. * @ractl: Readahead control. @@ -260,8 +266,8 @@ void page_cache_ra_unbounded(struct readahead_control *ractl, continue; } - folio = filemap_alloc_folio(gfp_mask, - mapping_min_folio_order(mapping)); + folio = ractl_alloc_folio(ractl, gfp_mask, + mapping_min_folio_order(mapping)); if (!folio) break; @@ -431,7 +437,7 @@ static inline int ra_alloc_folio(struct readahead_control *ractl, pgoff_t index, pgoff_t mark, unsigned int order, gfp_t gfp) { int err; - struct folio *folio = filemap_alloc_folio(gfp, order); + struct folio *folio = ractl_alloc_folio(ractl, gfp, order); if (!folio) return -ENOMEM; @@ -753,7 +759,7 @@ void readahead_expand(struct readahead_control *ractl, if (folio && !xa_is_value(folio)) return; /* Folio apparently present */ - folio = filemap_alloc_folio(gfp_mask, min_order); + folio = ractl_alloc_folio(ractl, gfp_mask, min_order); if (!folio) return; @@ -782,7 +788,7 @@ void readahead_expand(struct readahead_control *ractl, if (folio && !xa_is_value(folio)) return; /* Folio apparently present */ - folio = filemap_alloc_folio(gfp_mask, min_order); + folio = ractl_alloc_folio(ractl, gfp_mask, min_order); if (!folio) return;