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 54616C5AD49 for ; Thu, 29 May 2025 11:34:17 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 1DB276B0142; Thu, 29 May 2025 07:34:15 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 18D446B0144; Thu, 29 May 2025 07:34:15 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 07B466B0145; Thu, 29 May 2025 07:34:15 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id DBAF36B0142 for ; Thu, 29 May 2025 07:34:14 -0400 (EDT) Received: from smtpin30.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 5FFF41A014A for ; Thu, 29 May 2025 11:34:14 +0000 (UTC) X-FDA: 83495736828.30.E744F1E Received: from mailout2.samsung.com (mailout2.samsung.com [203.254.224.25]) by imf12.hostedemail.com (Postfix) with ESMTP id 65B6D40018 for ; Thu, 29 May 2025 11:34:11 +0000 (UTC) Authentication-Results: imf12.hostedemail.com; dkim=pass header.d=samsung.com header.s=mail20170921 header.b="imU6mn/7"; spf=pass (imf12.hostedemail.com: domain of kundan.kumar@samsung.com designates 203.254.224.25 as permitted sender) smtp.mailfrom=kundan.kumar@samsung.com; dmarc=pass (policy=none) header.from=samsung.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1748518452; 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=j0rSaiu/19cklqVxMZoAPnGW+CTIG7+XEZhZoJwBJiM=; b=UvHyPG9ruofFyO4AjwGDEVGuTaPEBt5xx9QfstPRIrHnncv932iwntqf/XvHOIs+1Fdeze El8/wmiA+uKpjMgJ5O5rdGILr/pag5aavFNcT87AnzJYbkjEcDIDfAGa6WGNmNn7/Mr/UH T2p1NN/zZuJZI9py+olViU2kCeP3l2c= ARC-Authentication-Results: i=1; imf12.hostedemail.com; dkim=pass header.d=samsung.com header.s=mail20170921 header.b="imU6mn/7"; spf=pass (imf12.hostedemail.com: domain of kundan.kumar@samsung.com designates 203.254.224.25 as permitted sender) smtp.mailfrom=kundan.kumar@samsung.com; dmarc=pass (policy=none) header.from=samsung.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1748518452; a=rsa-sha256; cv=none; b=bDDPXSc5aoLjIpvOgynqGJwyFqoygUHsbk4nyOVr7jE2PHiM6D0lN2cmlUgs2jPvXW4wr2 DfiZ+MkHc11XKia89xZR/dfFstz20+4ZC0w6OIQ99JW/VXKNV+K8ofU4RTzZC3uM0e70de OV5XUSF7eeNSWy3u0x/8E+M5cwb3Ss0= Received: from epcas5p1.samsung.com (unknown [182.195.41.39]) by mailout2.samsung.com (KnoxPortal) with ESMTP id 20250529113408epoutp0214d836a4865c61980d5dcd469d4f4a4e~D-EPUEydI2407524075epoutp02a for ; Thu, 29 May 2025 11:34:08 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout2.samsung.com 20250529113408epoutp0214d836a4865c61980d5dcd469d4f4a4e~D-EPUEydI2407524075epoutp02a DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1748518448; bh=j0rSaiu/19cklqVxMZoAPnGW+CTIG7+XEZhZoJwBJiM=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=imU6mn/70NPAXcgeXrkHnrSRN64XiVb2a2W6DMrVLWVcC9GkTKMOUppRGROmrOPer 52w6hMawLcw5AJgGU/49O8a+mb2SWLmDErqLyYbayV6CorEEULZDHfpiOoXFUbWKHp NrXYV7Ra8vYv7Ss1fnPzQQhSOlyKMGZGRqr7dTuE= Received: from epsnrtp03.localdomain (unknown [182.195.42.155]) by epcas5p4.samsung.com (KnoxPortal) with ESMTPS id 20250529113407epcas5p47134835272260570599fa753058ae38c~D-EOt0Rm31596415964epcas5p4l; Thu, 29 May 2025 11:34:07 +0000 (GMT) Received: from epcas5p3.samsung.com (unknown [182.195.38.176]) by epsnrtp03.localdomain (Postfix) with ESMTP id 4b7PQk4gVHz3hhT4; Thu, 29 May 2025 11:34:06 +0000 (GMT) Received: from epsmtrp2.samsung.com (unknown [182.195.40.14]) by epcas5p1.samsung.com (KnoxPortal) with ESMTPA id 20250529113253epcas5p1a28e77b2d9824d55f594ccb053725ece~D-DJoDX8B1317213172epcas5p1A; Thu, 29 May 2025 11:32:53 +0000 (GMT) Received: from epsmgmc1p1new.samsung.com (unknown [182.195.42.40]) by epsmtrp2.samsung.com (KnoxPortal) with ESMTP id 20250529113253epsmtrp2c84b79adce7e56020924868a08572e1b~D-DJmmPPi3187631876epsmtrp2d; Thu, 29 May 2025 11:32:53 +0000 (GMT) X-AuditID: b6c32a28-460ee70000001e8a-4f-683845e5ce8f Received: from epsmtip2.samsung.com ( [182.195.34.31]) by epsmgmc1p1new.samsung.com (Symantec Messaging Gateway) with SMTP id 8F.41.07818.5E548386; Thu, 29 May 2025 20:32:53 +0900 (KST) Received: from localhost.localdomain (unknown [107.99.41.245]) by epsmtip2.samsung.com (KnoxPortal) with ESMTPA id 20250529113249epsmtip26a05e8089b2459b3caaa902a18f09a59~D-DFvdMM22452224522epsmtip2Q; Thu, 29 May 2025 11:32:49 +0000 (GMT) From: Kundan Kumar To: jaegeuk@kernel.org, chao@kernel.org, viro@zeniv.linux.org.uk, brauner@kernel.org, jack@suse.cz, miklos@szeredi.hu, agruenba@redhat.com, trondmy@kernel.org, anna@kernel.org, akpm@linux-foundation.org, willy@infradead.org, mcgrof@kernel.org, clm@meta.com, david@fromorbit.com, amir73il@gmail.com, axboe@kernel.dk, hch@lst.de, ritesh.list@gmail.com, djwong@kernel.org, dave@stgolabs.net, p.raghav@samsung.com, da.gomez@samsung.com Cc: linux-f2fs-devel@lists.sourceforge.net, linux-fsdevel@vger.kernel.org, gfs2@lists.linux.dev, linux-nfs@vger.kernel.org, linux-mm@kvack.org, gost.dev@samsung.com, Kundan Kumar , Anuj Gupta Subject: [PATCH 09/13] f2fs: add support in f2fs to handle multiple writeback contexts Date: Thu, 29 May 2025 16:45:00 +0530 Message-Id: <20250529111504.89912-10-kundan.kumar@samsung.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20250529111504.89912-1-kundan.kumar@samsung.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Brightmail-Tracker: H4sIAAAAAAAAA02SbUxTZxiG955zes6hGeZYXHxhAknnzNIIpZG5dwH5iDO+MdOoiQ43HTZ4 KA20di0obCZWkIXVr+oohQIZNGDkQ4gVcHhwAYQhlA8pEC1a9kNQonEGqsNYKQrNEv9dua/7 eZ4/D0tKnlJhrFqbzeu1yiwpLababksjo2a2oYyYjpvrUVuTwKCK5kYa3W1qAKiwfYlC+eZF EjV4LtDo2e15gJyWIQK1uBLRi7E2AjW4GwFq+XsKoLHpVUiw+kXI3dlOoLqGXgKVWwsINN1s I1Hry1ci5LJvRx23+ik01bgkQnc7nSJ03zwD0GPhGom8tacZ1DVQxKD5yvdLRhb7RMj3uoJO isADdojbbR4GX78iw2NDOdhR/xuNHfOXGHyn1Efh2etlAAtVXgILbiONh0dz8Yu/Jmh8vqUe YEv5STxY1cPgKyWjxG7J9+L4I3yW+hivlyccFme0ucqBrnR1bquxjjKCS6tMIIiFXCwUBhyk CYhZCScAWDrZSQTEOih42kUBDoF1/idMoDQHYEX3LGUCLEtzUfB1/r7lfA3nJuHw0ODKAMn5 ARSeblzmEG4/vDxRSS4zxX0Oz/R4VziYS4Cnay4wgQORsMy1sMJB73N7zSuwzBJuC6x1X6UC /dWwv2yaCuyPhAWt5aQZcLYPlO0DVQWIehDK6wwalSZNoVNo+ePRBqXGkKNVRacd1TjAyjvI vvgT/PtfvrwbECzoBpAlpWuC8xM3Z0iCjyjzfub1R1P1OVm8oRt8ylLStcF1ihSVhFMps/lM ntfx+v8twQaFGQm1pmb36LW4r9KjFsd/iC6KudOz3pamTkiQVM9q1Tdt6Ydj5cWc75/Lfk/h 1IbWmZHzHZNeMbnL9PBAZkV4HqB0IaYHtUnh3vFkPEJlvkm37lXtvHHu42RBKnKmHEipfnaj xB033PXL3iffnoKWe3KZtTfso1P0j6mqHY8K/fZRJ7713Jzr1+wkZI9y/ayz+mpXh+Wz7IuK 4rmlrcICcXDjd/EYpk6+/P3EoYiY+8LgMBcZW22XJxerS6yetLW6PU2xxRcdzSN5v246u3XP W3N8XukmtW+LK+JhpU489uUfA/449YPQhUzn3ONQpugTo9nly9r/Tf8xS5/up6/dRVLKkKFU yEi9QfkOq42ST30DAAA= X-CMS-MailID: 20250529113253epcas5p1a28e77b2d9824d55f594ccb053725ece X-Msg-Generator: CA Content-Type: text/plain; charset="utf-8" X-Sendblock-Type: REQ_APPROVE CMS-TYPE: 105P cpgsPolicy: CPGSC10-542,Y X-CFilter-Loop: Reflected X-CMS-RootMailID: 20250529113253epcas5p1a28e77b2d9824d55f594ccb053725ece References: <20250529111504.89912-1-kundan.kumar@samsung.com> X-Rspam-User: X-Rspamd-Queue-Id: 65B6D40018 X-Rspamd-Server: rspam09 X-Stat-Signature: mc6p68xr3jixx3xksm44wygqeco1whgh X-HE-Tag: 1748518450-257313 X-HE-Meta: U2FsdGVkX1/XjNMfnwXm5ZgfF97Pd89pmtMuFovbuRHvriWt2Mu2O4xvYp3YROuuTvznXB0ipfOPSphXFVqE+3MAHuDGJ/JB7mUKyqrZS+EWYVO2WxLhdM2S9J0myKzLKAkZ8jzTW0Yt5wuDqvwI/VkdlKlThSaAIzRdy15vpNSsCJ0AklHCUxhOqs0OyDk3FIcgS2RXZ0T/tf7yoISlzQZoLEZUKOa3yFEOiq4ZXRWg3nqbDx95bI22IvYF03TjQSZrC1EWlm5MBILS+xJm57Kl7QlHgRkawDr+4sQofjvyWUL2K7JTxWZnwvXuGaFmr03DXfMcYcBqU+sjKOIN78rgGZNEWo6RR2YviKIBGA13r/hZHssvc/KT2cMnj00C3dx3915XIlOn0YY1+6PhoLIVUgiSVTdNe8ZWMTWPJ0P9NEAwuXrjKRLlr/rXIrKA76gvVN7Tx50C4iV2obJ6iOdY0B835qePmxJSknVIeU6gbfvsjlq5xnIYPfo9mkgrQ1cLNjzu41r2P59Dmuqw4gCIsvaYO9E25wDLUzCZDo54b0wLFmtgLwusiDRJfFJUfxXJ91xNzyAbbEbdbzsmTBhFh9AjmwIa5p1a6aozOgCOh2iYsxWRjbGO80BREKcfyrtI7mpB9nYA8cUFmniJXlcJvwEL+EzzgNyeKkm5kYo6JMqYx5B5fVnwJOL/8eq0ADK89yRQYACkPXIS5Jo77PLBLwbAqrvXoORKaMFN7kjPBMAa3wP8KfAncyrHx8RxnIzTRo223h3TZ2ggfJJ94govNpn9wSuAE4b0Wf+o9HwoAhMIecdpOHN7IwQWLRqEzARuVIhIfMmZ293Gi3tQ5l5sy7CZ9qNLEPO/zfnRvUQviDOtWtRqIGDl/HJoZaSJyylzKEI3SQZRsObXASjwIvPP3z5SpIVAEBGWfbo51K8nCfOnOZ9IhUU12FXgtx003rswjIjcc+7yMn4U6sb Ui8A2Lrs mqIJgYiDDVxYPk5E1f0bkmmzChsHcl5feY0qsL87ZT6Z/VwLZhYxf9s1x+Lwzmr+OHx2ntOXftiSOQFJ8rrdT4ryv/BpOuo+RucxMgYuqTq0mxZU7jgYRocnbRubBHQey5sVLELcZfnDYnSmzPZlE0kOFgoinhPZU10rb 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: Add support to handle multiple writeback contexts and check for dirty_exceeded across all the writeback contexts. Signed-off-by: Kundan Kumar Signed-off-by: Anuj Gupta --- fs/f2fs/node.c | 11 +++++++---- fs/f2fs/segment.h | 7 +++++-- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/fs/f2fs/node.c b/fs/f2fs/node.c index 4b6568cd5bef..19f208d6c6d3 100644 --- a/fs/f2fs/node.c +++ b/fs/f2fs/node.c @@ -50,6 +50,7 @@ bool f2fs_available_free_memory(struct f2fs_sb_info *sbi, int type) unsigned long avail_ram; unsigned long mem_size = 0; bool res = false; + struct bdi_writeback_ctx *bdi_wb_ctx; if (!nm_i) return true; @@ -73,8 +74,9 @@ bool f2fs_available_free_memory(struct f2fs_sb_info *sbi, int type) if (excess_cached_nats(sbi)) res = false; } else if (type == DIRTY_DENTS) { - if (sbi->sb->s_bdi->wb_ctx_arr[0]->wb.dirty_exceeded) - return false; + for_each_bdi_wb_ctx(sbi->sb->s_bdi, bdi_wb_ctx) + if (bdi_wb_ctx->wb.dirty_exceeded) + return false; mem_size = get_pages(sbi, F2FS_DIRTY_DENTS); res = mem_size < ((avail_ram * nm_i->ram_thresh / 100) >> 1); } else if (type == INO_ENTRIES) { @@ -114,8 +116,9 @@ bool f2fs_available_free_memory(struct f2fs_sb_info *sbi, int type) res = false; #endif } else { - if (!sbi->sb->s_bdi->wb_ctx_arr[0]->wb.dirty_exceeded) - return true; + for_each_bdi_wb_ctx(sbi->sb->s_bdi, bdi_wb_ctx) + if (bdi_wb_ctx->wb.dirty_exceeded) + return false; } return res; } diff --git a/fs/f2fs/segment.h b/fs/f2fs/segment.h index a525ccd4cfc8..2eea08549d73 100644 --- a/fs/f2fs/segment.h +++ b/fs/f2fs/segment.h @@ -936,8 +936,11 @@ static inline bool sec_usage_check(struct f2fs_sb_info *sbi, unsigned int secno) */ static inline int nr_pages_to_skip(struct f2fs_sb_info *sbi, int type) { - if (sbi->sb->s_bdi->wb_ctx_arr[0]->wb.dirty_exceeded) - return 0; + struct bdi_writeback_ctx *bdi_wb_ctx; + + for_each_bdi_wb_ctx(sbi->sb->s_bdi, bdi_wb_ctx) + if (bdi_wb_ctx->wb.dirty_exceeded) + return 0; if (type == DATA) return BLKS_PER_SEG(sbi); -- 2.25.1