From nobody Thu Oct 2 22:54:02 2025 Received: from OS8PR02CU002.outbound.protection.outlook.com (mail-japanwestazon11012067.outbound.protection.outlook.com [40.107.75.67]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A4EA4342CB4 for ; Tue, 9 Sep 2025 13:44:37 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.75.67 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1757425479; cv=fail; b=ba1R0XC+MROpx7dSp+4DdvU0W7tdcZq9+fDZkP9B3vlrnrAu7Q+CHdVWT/NQUbZWS+BqLWLcpwnU8CSCwSmgyAqV8SzY1Fk/Cwqcsbmt8Y59HjaQSC0uGtInBzn2dZKlA3WPM+cK2eZ2HuU2ZlonI5HdAo4atZwoPO03OJMJX/8= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1757425479; c=relaxed/simple; bh=JTwU2lYaEFIJmOnl94umogB3lz9CSKNc9ZUtaK8mcDI=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=s7RFdNPTeblj5wc32UFmgAo3XOkt8Fa00TiIjeFYq3rYrOrT38GjS7SrMOwRhb2had25u2mazdHny/lSxMqvwBgv1NkYhubdz/uYAMLvT/DuIjrx0pV2v93lYH63/QC1Sl8IayyZJJowhQ3NMKhDQMQ3FCFYJKkPzLNTZt0pEH4= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=vivo.com; spf=pass smtp.mailfrom=vivo.com; dkim=pass (2048-bit key) header.d=vivo.com header.i=@vivo.com header.b=nh6vP8uq; arc=fail smtp.client-ip=40.107.75.67 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=vivo.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=vivo.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=vivo.com header.i=@vivo.com header.b="nh6vP8uq" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=UOEFiqq0BJCYiMoZNzjYi/Tyz6W+qQDKmLFAigEpbrlLzALfyOEJEcIvR6LiZriPba3Jq9IbnRvo3Jb2OubtJT3MhEx6AuBPGO7eOduwBVM7pVUzWlK0TJhqewWbUqz+EkyRYfMkzWzYG9DCFdH/1o6f0o/pe3gULKpcDJCJOegcQAoJ04E9UmKnYA55PJSmuZr7XrbPz8rjaxucHJmxyaGgPXwfevo9KLQOI9qS4jh898EHxxT/F87mdfYIro8V+wWjeEYMnacop8meE2GCqVuHbAsVanrl6UHtMlZ35ewASdVzolnhgUjm/cZE2luxsdUGuBhjPqRpMFPZtRlEUQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=e15+Cs0XeK9ZHF4DbscTdLbxo1CU7bfQaqAb0lwTg6s=; b=YZFxXcqM9cdvKBTQgTAT2u0P0qIwbIqb1bb2otmkeQnWNTLxSPphEWbdAtGL8sEhXYTVRaNi+jk+4r788im72xo6K0Rk47/XbVf7nCEl5cUqv0wACN80kTVIf3fUq4ZiklBI1L50sAmaHLQpFhkhG0xki9am4UV4evVN2e2DPx7B2O0DfYt4DerrVOFJ/IIfvZv+sqGvVpe3+7gBUELJyURiouMV3WDVKiv4ucnUigSUFQSwVoGPNGKMHal6BMNxaE+QqZ1mGBpSM87sBW42YdguhEAq1gzMvkvtnhsgmXB1CFAkTRQoK6E7DY9Ky+Gujnp7O8nsIEK+CP1dkNWLUQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=vivo.com; dmarc=pass action=none header.from=vivo.com; dkim=pass header.d=vivo.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vivo.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=e15+Cs0XeK9ZHF4DbscTdLbxo1CU7bfQaqAb0lwTg6s=; b=nh6vP8uq11UEVoVNkIw+F3YZdOi8T72+eQeDlPr4Q4LPj+1dZDB5Z80VJL+8QdpISzSu3FqHenjjU5C8seJ6SYKTri6MjcRfgRHlsqHteayVIQZHrNPV8wfIw1QWe2/1HR/AE1GgNVZ4DtCtFs/0lm1xCmD7cLzZhn5a9Yctgu/VepGb53711KZrbww2bQnvrUHCVq/qPk4WPxnMohiPWdNo8ljmrxDj8L6XkHQPFMMtImPdIEgYt8XjBqht2N+4fuEo72Y8xyU384sjWz21YDoblbPo6vve/9/tsBOloyDcDiWtaQQLSWGWgRpSUsczkoIocleoQBcQLZkjnAJVCA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=vivo.com; Received: from SEZPR06MB5576.apcprd06.prod.outlook.com (2603:1096:101:c9::14) by TYUPR06MB6025.apcprd06.prod.outlook.com (2603:1096:400:359::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9094.19; Tue, 9 Sep 2025 13:44:32 +0000 Received: from SEZPR06MB5576.apcprd06.prod.outlook.com ([fe80::5c0a:2748:6a72:99b6]) by SEZPR06MB5576.apcprd06.prod.outlook.com ([fe80::5c0a:2748:6a72:99b6%4]) with mapi id 15.20.9094.021; Tue, 9 Sep 2025 13:44:32 +0000 From: Liao Yuanhong To: Jaegeuk Kim , Chao Yu , linux-f2fs-devel@lists.sourceforge.net (open list:F2FS FILE SYSTEM), linux-kernel@vger.kernel.org (open list) Cc: Liao Yuanhong Subject: [PATCH 1/2] f2fs: Optimize excessive write operations caused by continuous background garbage collection in Zoned UFS Date: Tue, 9 Sep 2025 21:44:16 +0800 Message-Id: <20250909134418.502922-2-liaoyuanhong@vivo.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250909134418.502922-1-liaoyuanhong@vivo.com> References: <20250909134418.502922-1-liaoyuanhong@vivo.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI2P153CA0012.APCP153.PROD.OUTLOOK.COM (2603:1096:4:140::15) To SEZPR06MB5576.apcprd06.prod.outlook.com (2603:1096:101:c9::14) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SEZPR06MB5576:EE_|TYUPR06MB6025:EE_ X-MS-Office365-Filtering-Correlation-Id: e226fe6c-183b-4f67-6080-08ddefa70152 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|52116014|376014|38350700014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?qrWFqL/D2BTHPyJhx++S8XMO07cOEFHgVkH0b4ovU+Z6M2aRx3mlASaRjm3v?= =?us-ascii?Q?N54atOcRbujoxZdA0zh3XRaw93Fep9WkJ0crE5EsZgInkKXhH0D8clhh2sFo?= =?us-ascii?Q?qrL0cerJQzhtXXHRIMXX0Hq+bhcMSCMnWDRHECV9Dn4D6H4x9u7FJHL3iX+V?= =?us-ascii?Q?ZhSno5RjzZcCoB/pNdU7LQg0i7TIJKKHKrccB5o4gdVwQv26/l06XKz2Xxqg?= =?us-ascii?Q?kUWI2TJUCCaCK9lA33dq9ELLXcWN1814PRwCsK9PJ2l08hD6g8RBmDZEz+2I?= =?us-ascii?Q?sivI+ecJ7qq5Z/pNulEmXYlEdNIakDTD3oFmELLJoOK2KYTaNGuSOcG/DEOy?= =?us-ascii?Q?sBPLPXtkUa4SRWCeM5yHYUfk+fsiX9YW1bg6g8SIDgYp33IiQqaumwAoyic1?= =?us-ascii?Q?/65OqTMKttNADheBJUw+EVZOfDrpRJ/zp/4fCZtR5YNr5UC0zU3M9Q8hBXrW?= =?us-ascii?Q?YP3JoFoBC+07V/uE3sUKtrycJ4MLPqdCQOmsDEJP9ySnR32CbQBrkxqdE5HE?= =?us-ascii?Q?kgp3D7oQseztT6PIzsnR4aqkscasEZ/VmvNSxTqW52gCdfGo7XWmnhjSqQQ4?= =?us-ascii?Q?J3DwB30fkTVJ5g6ujbAcDisOWHfIhr4KijQVN6p/49AcIoUUBCwGHQ+9vV8E?= =?us-ascii?Q?dZKrZWw91DpVY2tgXePdcT9mjl3klbJp3l+oWo5V6M+Cqggeh3mKQ0fKjS32?= =?us-ascii?Q?AJnC5C1fNyidJsNDatcFE46DXdX3nXnGr5vGGw7QLqLHQ8u7cZ21bTtdoZkD?= =?us-ascii?Q?PXH9gl93D0JaZlWamtrsQXBiagBR57PqAq3MhXWWxzl3/lfaLxsbiqYhX5ms?= =?us-ascii?Q?yqA0mmkiF2FNWjSRbSPn34H31Q7xvn89LIvD438I3qXnAGIVImJP9P5oRK6k?= =?us-ascii?Q?RovoN9QcH0iSWjwgnSI0qMo6YWwpkVImLO9rsWDh2V/8/ojuKX7w6tik+GJv?= =?us-ascii?Q?y4hLLb7ZFaX6QSuQAv2uzX9iBZLblUxNvIO0Sa7ii27EEuJzUMt/B+1h/cC3?= =?us-ascii?Q?y6h3R6AAFwWWr8AKqJLAeVMvscFA1S25tOm3201R7giazkIXCndEmzneJj5U?= =?us-ascii?Q?wlxEKvmC+CILrNS2MJl/tTYXQMvtijP00FPZnQJ+8SyfsImsBUpFyNYhSGuL?= =?us-ascii?Q?0Aurp3Bl1mQOykqVl0dfvTjfvDC1Iw+r36pLfe7ztnWlmVtYXcH8NNN1i3LG?= =?us-ascii?Q?B0urqwrRUKANAU3TwHbpR+HJ6m3oChkYEOfO5jBQUmpP1B0eQLagUvgol0/O?= =?us-ascii?Q?FeUg6f1gfBIaPPOTUh0duWbgzdo7o42gOEg8dqy8QUuAFHW+EissBAwiJdQd?= =?us-ascii?Q?7eBq7/1hZVpM6AAbIpDyQk4S7VvosvRZfGa8EsDzjVdbSjdqReHDm8oi2VaH?= =?us-ascii?Q?+PXpjDvHsK8vh2VaEfUcZaVD5cBU58jjuTEZsKFRualTCkbywuB/mlFL0cM2?= =?us-ascii?Q?1b8Kl/BLnnVzaWTp9eY6CxZU73wtGA0kePXqN2lECRdQmwxvWvfTEQ=3D=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SEZPR06MB5576.apcprd06.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(52116014)(376014)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?PcFCUDP+b+nOLVLtTMSO3ksqWCQFY17TXUbMZgXq2haVzs6BLJ72/yUOUvB7?= =?us-ascii?Q?C5Nb+RZia4sVLaLUdf6ARxMeF+g6LN1AutJ4ZDGAWlRfqapeX9uq4HslMw7D?= =?us-ascii?Q?xaiZaW5sSg+MsOmHWRLnwfsGX71Dnhmsb5qHbEGLRTc93F3af/EDgxiXU7wK?= =?us-ascii?Q?Fy2FfxOWN0fYbHKk6zXedkKCyzLvz5nYoVE+ZkF/nOjG1kZ8y1rKrwx+Ywf9?= =?us-ascii?Q?J2+f9847RH1CEqgnaFDn8K8l//l6l5OU09ZeHAalagGCkJBvd6a89s4+mdYI?= =?us-ascii?Q?Cj1NDBIXiBjoMNOhCLqa4MILnALwQFs63y85xhB49+G28na9TVIRQcfY3o01?= =?us-ascii?Q?MQjhFEcB5v68ea8b7eAYAjzGGYjm+uK6biRuLnW75oyoxm3fYjgvlsbRqlRZ?= =?us-ascii?Q?lYa94ggaReO46pnED0UT45sIA1kCT6LlvbkflaHsWa9l7bo08viJWLUsa4iN?= =?us-ascii?Q?SDNwOADuSSGPw1xIsZ/3aSpD82LNnD3P7iRnwHIJG7GLF1e4Z7184Oi3OYUf?= =?us-ascii?Q?y+DURIGTaKyYv0qOwlJbRbLl0eYMW1VKLtLNIUgo62WTNpKDd9Rf0nj2jF7j?= =?us-ascii?Q?gl2LJXYOPu8Y4pBkJfEJs2wJC1+DfaRVbXNOy6SUyTMWCfLbOHJn5olJsOew?= =?us-ascii?Q?8+8QxDip+yQuv35MlMMNl3XDReCvvC882R1JC2K1hUMcewxOS4VKFTHrFFz8?= =?us-ascii?Q?T0U4in/fXpZr9zi3h4OeMYWs3dtzNsfdsAWiNNbcdhC20mUsnC/XPz+8TgN7?= =?us-ascii?Q?teU7LTrWP4D0lWpC24XhRbYgHnmGniQ6hVFtYZhRLkgLgRHYZvlkYcuurylD?= =?us-ascii?Q?5Nqs2YYNAJFwLzmL+x7hPRZyoOPyTzEGJnDPxSF8QSnMAtSKZ/XxHfly5H3V?= =?us-ascii?Q?dm6ce8wkp3RRCOGFeJa7+UbysvcNAn8f/DyAlSEgLfeTZj0+KmZsNXcHobEl?= =?us-ascii?Q?of4uAyyEScDhCdKCVKAP/21sxGXXY7A4D8lREVNGTtqjhIFFs2vrHlCsg6Ah?= =?us-ascii?Q?UM7b+kK9+V/r8OYrwKQYaLa4sNcBeXp5wEFNVItGttr1YJXM9YnsEW/3MDtv?= =?us-ascii?Q?z4pU6MOGRFny9HAb2u6wOJ1YwpK/2MjS7BDzQA8mGEtswEkKtpWr1dUTYwSO?= =?us-ascii?Q?Hj9omBk2dRypxK+Of/vduAfp8JHjn48MAD+LB+gWyUyzzIJ5k9Dk/ca5YV7H?= =?us-ascii?Q?SJLPxCb2dShDX9M4ymbD0wi6motqDLhJHrc6we31PPySzAgfmrth66QiNgAs?= =?us-ascii?Q?H3xEAKLmnETmupcEBB12Qj7iKJkkfBJ3mEHz7u6vGFigZNrxjYkatcCsheEj?= =?us-ascii?Q?HoA2vGXkHRwUWmXJGL/HfmVhVYVUBI0aidVgAvU2RfupgU3p12mlsRUxRL5r?= =?us-ascii?Q?ivSic7WeWo6o1+IKZJ9Bijws+WO/Cc3M+93BQUo9PxgqavsPCgf+rPD7szC4?= =?us-ascii?Q?rlIxcqeqTUTH3KXJee+i5bbSMiL/BxoJGw+qMHAvGFkTdVKSRfNZigq/i68b?= =?us-ascii?Q?8vfCJmpa4Ndwu7ltWOvhAT5iXy0QKbdNo/1Z9+A57QbmUkitbE9r+E0lG7bu?= =?us-ascii?Q?dSSN+luZhz0/S1zxr7b0kxtFoW7UIDwEfP3Wwtse?= X-OriginatorOrg: vivo.com X-MS-Exchange-CrossTenant-Network-Message-Id: e226fe6c-183b-4f67-6080-08ddefa70152 X-MS-Exchange-CrossTenant-AuthSource: SEZPR06MB5576.apcprd06.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Sep 2025 13:44:31.9663 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 923e42dc-48d5-4cbe-b582-1a797a6412ed X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: QdD3Z3pf24yv7lWqyc7K7zhgVNIYxmTq2ctVMfxHGidFyS2bs5IKpHh766SI22iIxSLl65iHv3wpBCphtvhzuw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYUPR06MB6025 Content-Type: text/plain; charset="utf-8" Incorporate a check using has_enough_dirty_blocks() to prevent redundant background GC in Zoned UFS. When there are insufficient dirty segments, continuous execution of background GC should be avoided, as it results in unnecessary write operations and impacts device lifespan. The initial threshold is set to 3 * section size (since f2fs data uses three write pointers). Signed-off-by: Liao Yuanhong Reviewed-by: Chao Yu --- fs/f2fs/gc.c | 8 ++++++-- fs/f2fs/gc.h | 10 +++++++++- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/fs/f2fs/gc.c b/fs/f2fs/gc.c index ed3acbfc83ca..4a8c08f970e3 100644 --- a/fs/f2fs/gc.c +++ b/fs/f2fs/gc.c @@ -120,7 +120,9 @@ static int gc_thread_func(void *data) =20 if (f2fs_sb_has_blkzoned(sbi)) { if (has_enough_free_blocks(sbi, - gc_th->no_zoned_gc_percent)) { + gc_th->no_zoned_gc_percent) || + !has_enough_dirty_blocks(sbi, + LIMIT_GC_DIRTY_SECTION_NUM)) { wait_ms =3D gc_th->no_gc_sleep_time; f2fs_up_write(&sbi->gc_lock); goto next; @@ -1750,7 +1752,9 @@ static int do_garbage_collect(struct f2fs_sb_info *sb= i, =20 if (f2fs_sb_has_blkzoned(sbi) && !has_enough_free_blocks(sbi, - sbi->gc_thread->boost_zoned_gc_percent)) + sbi->gc_thread->boost_zoned_gc_percent) && + has_enough_dirty_blocks(sbi, + LIMIT_GC_DIRTY_SECTION_NUM)) window_granularity *=3D sbi->gc_thread->boost_gc_multiple; =20 diff --git a/fs/f2fs/gc.h b/fs/f2fs/gc.h index 24e8b1c27acc..1ef234c2702b 100644 --- a/fs/f2fs/gc.h +++ b/fs/f2fs/gc.h @@ -36,6 +36,7 @@ #define DEF_MIGRATION_WINDOW_GRANULARITY_ZONED 3 #define BOOST_GC_MULTIPLE 5 #define ZONED_PIN_SEC_REQUIRED_COUNT 1 +#define LIMIT_GC_DIRTY_SECTION_NUM 3 =20 #define DEF_GC_FAILED_PINNED_FILES 2048 #define MAX_GC_FAILED_PINNED_FILES USHRT_MAX @@ -177,6 +178,12 @@ static inline bool has_enough_free_blocks(struct f2fs_= sb_info *sbi, return free_sections(sbi) > ((sbi->total_sections * limit_perc) / 100); } =20 +static inline bool has_enough_dirty_blocks(struct f2fs_sb_info *sbi, + unsigned int limit_num) +{ + return dirty_segments(sbi) > limit_num * SEGS_PER_SEC(sbi); +} + static inline bool has_enough_invalid_blocks(struct f2fs_sb_info *sbi) { block_t user_block_count =3D sbi->user_block_count; @@ -197,6 +204,7 @@ static inline bool need_to_boost_gc(struct f2fs_sb_info= *sbi) { if (f2fs_sb_has_blkzoned(sbi)) return !has_enough_free_blocks(sbi, - sbi->gc_thread->boost_zoned_gc_percent); + sbi->gc_thread->boost_zoned_gc_percent) && + has_enough_dirty_blocks(sbi, LIMIT_GC_DIRTY_SECTION_NUM); return has_enough_invalid_blocks(sbi); } --=20 2.34.1 From nobody Thu Oct 2 22:54:02 2025 Received: from TYPPR03CU001.outbound.protection.outlook.com (mail-japaneastazon11012026.outbound.protection.outlook.com [52.101.126.26]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7C69C3431FF for ; Tue, 9 Sep 2025 13:44:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.126.26 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1757425480; cv=fail; b=lPu1dWHwh9lqQ5srliMrO7QoTq4wGCfuSnQNL+z1f3U/+XXlxFBmJ7z1Ftz+Zi2SgOEBpRByN+3kL1ZsVdA4RFXaiuY9Hj/J2+gdlUSbyCV3u73tS5gB7znEeRVjqUjAzMpp++bbCVkBQZvfe8oR2ESI10Vg9DUEzcX3qgEqlcw= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1757425480; c=relaxed/simple; bh=dMVSi2qP0mUAlJOkSuc80eyzsdqTI2JOI/+bYPnTbxY=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=uP5AzIPKTIJeu3CXMuvXaZFhz7rNuRRCwqvIc0KVl3Szfej6qBjmKdcQ7ILFv51OvLhopIqf+ojNaDLjOfRPiHuPRoTuOIkvH2IkQ9x8lRQj/WEJ4XYhARX56bXRaP11Zxb2FUtrLd+N+DuKvLpmEMzTHDXALGyf1+hsRRiHYLw= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=vivo.com; spf=pass smtp.mailfrom=vivo.com; dkim=pass (2048-bit key) header.d=vivo.com header.i=@vivo.com header.b=a2mFiUb6; arc=fail smtp.client-ip=52.101.126.26 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=vivo.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=vivo.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=vivo.com header.i=@vivo.com header.b="a2mFiUb6" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=m8zK2HNWULGgHTSqGay9B+qJ5Mj8V3+9f/Sieclm0IOq+8p2Ui8HjYHJl7+FWIbZXrL2fa40uOT9DqEO6MvnO9+OWTN4ljO8evGoDl5gUL60emOvm0+HIdQN5O+NyBrzeCUQlsFdaW7zrlKWSc7rnc3dzY+NDh46+YROOYwwJVpD2Zr8zOIjXHiYYy2mSxlHPn/URtpOrI2ObVMUZeUgHWc95WOemo0FUpEG+fFo9f66W5Jkgf35zWDDYTC07+iwwmW+HM40WB6WOaoI9xG741JuT6EoGzXdiY20TLVd3Jb64ivw7aFB432AakB0FZxek3gLk+X6SwPQJ4ZKTzWoqA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=mfchuBOx0RM+asffhPXYJ+yajgPPePstjU3abSabOjU=; b=Ay2HI5m6V2rOnxPA7+AomRTNhqsG+ARcnVaAC8uUMVnpe9tgU3EUcN9Utg4UpEZZXT24Y0RSG4PVZ2uy6PeeiqlSDD9QfmvT7+1rc2hjjRpY390XXW13OvD29dd1qYgt+nhxTj8Hz2OKEjeLVMt2/RbNsQ/d4HVyRI6dvgxdzqTLEmgyh0JmY9XF7gZe+T8rZhzjlJv2OvA1aZI/FC96h+CDT0qRcY/v40E4+YVZ+HyvxlTfas7PZvngN5/czv1x+j+CQ89bP4NDPTcFPSirRM5GjhCJyvN+aWhk04mhZdftcHoAd/9q5HmlZn50fTjbwoROB+/akrwn31CzKgvSIA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=vivo.com; dmarc=pass action=none header.from=vivo.com; dkim=pass header.d=vivo.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vivo.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=mfchuBOx0RM+asffhPXYJ+yajgPPePstjU3abSabOjU=; b=a2mFiUb6PYnfWCKt1sGL69zECmL0zy+ozT5JlJUNuHwwffdobOc0Qm3V0U5biwCZXn29BGuVW8lGE08Ndknxk7VRvaq3q2Dh6FqvR8hngrYVR/RR5fGoswZMbRZ2/XBNcKWhFQJrYvm+DFG+TLBjPWZo+XFQSk1v+ay7FiHvhzm62WaEGfEPr0N7QOtDnJZ59AVqp56AvgCgRdvPeMRWYBaJsYIM3MvzOeFxfBTc7llOtw1YXqF2faXV3yOcs4uqTHb119t/2l7xm3l3fZ+UeR7zsg5jLrlpR83W4B7s4CSTU+Qznro8JZH3l8MP+LtxUdq2FQcWkHs/PTbyrSlDyg== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=vivo.com; Received: from SEZPR06MB5576.apcprd06.prod.outlook.com (2603:1096:101:c9::14) by KL1PR06MB6109.apcprd06.prod.outlook.com (2603:1096:820:d1::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9094.22; Tue, 9 Sep 2025 13:44:34 +0000 Received: from SEZPR06MB5576.apcprd06.prod.outlook.com ([fe80::5c0a:2748:6a72:99b6]) by SEZPR06MB5576.apcprd06.prod.outlook.com ([fe80::5c0a:2748:6a72:99b6%4]) with mapi id 15.20.9094.021; Tue, 9 Sep 2025 13:44:34 +0000 From: Liao Yuanhong To: Jaegeuk Kim , Chao Yu , linux-f2fs-devel@lists.sourceforge.net (open list:F2FS FILE SYSTEM), linux-kernel@vger.kernel.org (open list) Cc: Liao Yuanhong Subject: [PATCH 2/2] f2fs: Enhance the subsequent logic of valid_thresh_ratio to prevent unnecessary background GC Date: Tue, 9 Sep 2025 21:44:17 +0800 Message-Id: <20250909134418.502922-3-liaoyuanhong@vivo.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250909134418.502922-1-liaoyuanhong@vivo.com> References: <20250909134418.502922-1-liaoyuanhong@vivo.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI2P153CA0012.APCP153.PROD.OUTLOOK.COM (2603:1096:4:140::15) To SEZPR06MB5576.apcprd06.prod.outlook.com (2603:1096:101:c9::14) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SEZPR06MB5576:EE_|KL1PR06MB6109:EE_ X-MS-Office365-Filtering-Correlation-Id: d792a988-962e-4979-2bb4-08ddefa702ed X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|52116014|366016|376014|1800799024|38350700014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?5tenRBlIYIoBlHfAUNiLA+N4NX1mOTm/k3U++r6segUs/tT8q2zTkxl82407?= =?us-ascii?Q?JXL0/FsPpN2Wt+/GQ3Y6D9Q1zNYczmSlHnYDeCMMMhGujxY5+/UJGy90ltsi?= =?us-ascii?Q?gvPxEHALMY0DK9VXzGTzByoppQ+CPNXV7Q4SChNWmUsZsIqtheWLmx7bbe0V?= =?us-ascii?Q?ND5qMXScPvRG+AevCELgbBProd1VUks9BCTts6AM5cmOhM3qIs13Ab6aprnv?= =?us-ascii?Q?S9FJ2AD7H33W9SNM6aJHf1bRnif9UbJiB/lrz3XF5P8WBU9p+dy4H/HzYXY2?= =?us-ascii?Q?/+tjD0tQ/Y3s2399pGcRL6RaVFep4WHJxBPGzgioAIB3tbOW9MRfJbg5RHuC?= =?us-ascii?Q?PErK9URU3R6s9ze2cfuMHVyFMMH2PjVyNcuiaQuHduwCN8Fy/E+1EZercH+L?= =?us-ascii?Q?Ja9hd6AkuX2c3qYqaxmk51ZbUEBZdFQOCNtTXJHQ/IzR30/R/xe+gHwrDHwc?= =?us-ascii?Q?rs2y3tcxDLjB3lprVPjyj/t0P9Blyw5115SJYSPIQR/su+MJI/TgcZD4o62b?= =?us-ascii?Q?/9pVfxFej+4EI+U0wCmPO9E06TBrH3pwI+RwigxO17xpwccmijRBTl/DqNFn?= =?us-ascii?Q?X/pCTheqC4ZaCXaLemdB6Kj2xGjJj2wicE2b2523bNsyHNAqUOJ2Wr57k40b?= =?us-ascii?Q?2x4e9tzqk++Pm2luHrAM+lFVvxovQgIOSr7u7bgmxuz0vw0YteA+DJ8fVEp7?= =?us-ascii?Q?bfWGEzYlPaH2m8AAHU27NBKWIhaX/Bdz93EoASsRUQY+c5L5cqam2moksFEP?= =?us-ascii?Q?9l96a+UiMjCeYqEObQVsjmSjjjNYH+EnhUSGIPH7zhKJmN1RbsaXG84IVxxO?= =?us-ascii?Q?BHmNhyJGNn1UV0elsfUQjkiNo2VqtXAXeHSa2qB3lVh3XDbMaLlOnzCixjpz?= =?us-ascii?Q?owQqgZx73b+tUVmFzZdTVUcwO6sQt+Fzb7nd1BDh7XEIbx/kclSRwrG17ibv?= =?us-ascii?Q?ZNd/PnFI1Jo9aLegqieLZGHbycvC/8a/baukezxSP/quuWLcxjQyKZbOXLQr?= =?us-ascii?Q?oRiCJvENw3gnAI5fn5R5/LJ4T4nqi0rGGKFwElJgwQB/6TihStwSx69/9aFE?= =?us-ascii?Q?n0kV/eT0K1GBoTaVrpcmKf9BGq4iGsVAuubk6v3hwy3MMmHeHMydcoz/0UoE?= =?us-ascii?Q?Y8BIzphid4fKFLRgcwjFU/wcP2Ng3jOcyldfloojLlKA7tgx5rQZ3uOSvXeW?= =?us-ascii?Q?HaE6EwO+FAU5LLdTcNLmyJG9FA43EtVSMGGjC1gQst52QFpkf1cKV3iK1d8K?= =?us-ascii?Q?2F4k5gH/oPljQ6tC9UR+z5iyLfrhGsZckOFXPtRMGeBDstXRx953FtrPkhfx?= =?us-ascii?Q?ruzxgi2dt7NJ+lXHNEJOrUFVJBut6lTmxiAyc144eUVFlNhV/lyQ//byN329?= =?us-ascii?Q?eBPJqnEuOzOpjfCBKAY4D16QQxk5OiTPWhNyk8tWgbb58wXjEcr2foGfF8op?= =?us-ascii?Q?s1B93ZDF/WHknEUs+ylU0gYySzZNFLL0oIx9Y4Kl6fTN75UGreCgoNHHDq1D?= =?us-ascii?Q?y+UPaggpShqAj90=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SEZPR06MB5576.apcprd06.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(52116014)(366016)(376014)(1800799024)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?0whX5aUzAo85CNwRZTaZfjVj68xXuIZM5sTHy3InMT0ikTzK962aJ6vvVhq/?= =?us-ascii?Q?RHU4D1o63ToX/or7X0PO66jT1ktvKtxXep483myM/vt+0ZHQb1/6Q7kogp98?= =?us-ascii?Q?+8N88qT+rvtD9OsJZrsn1deRHuQVWtUcTFkTjE6N9hNn/O/LpLItpCQ9ja8M?= =?us-ascii?Q?pR/j/sFteMfINKa0ahvWyB7ufh1EykwhnSrsRYXAmm8+fALcO9BAYlM9fvly?= =?us-ascii?Q?60PtcQIJreTGKdGf5jIIktRilyroXiNqtIgkomJnBehdbne6maRyjlC/MT0k?= =?us-ascii?Q?yYKPzd8dzw/e2Ha5+DC2gbN9HIMShQv9+Pf57hU/TkRZAF35m0ZN8LL99oZM?= =?us-ascii?Q?qsFyAvat6NsRdOb+/J9/axo9tj/9tJ6rFgABoWrtxUsKpu3usot1SZ01KFfm?= =?us-ascii?Q?nrWrem60ZmXjCpB2O/yU2cE/3yJEmsRq/KCpeiO3Gx0Y1impSWt9rBY2yGFu?= =?us-ascii?Q?7fqgfnmN0Bcp+Bh7YQHhyqfVpGfI7+7CEy8KMLl8v8YU0NER7PHnOGX1GK3a?= =?us-ascii?Q?wLjzpY8rjz5HqyT5fB4NGEbaalJ4CuvBn7laPU9VaiMKwUU63q2wYsbZyVWk?= =?us-ascii?Q?lqZgauVLiTYqGtKTvlG1e4TNRZrRRGXz1rnJbEURnaTZ/CCZD871GhKyhSQa?= =?us-ascii?Q?bZ7BX+EGERO1wi1kTgNjV1EzYK1u8Ju2retLpu4xTX0FXh5bEHluljx4GTuA?= =?us-ascii?Q?c+JNhQsbT02fM6bmS7LIWh0knjqFlnuHDEtwzSPz0iV2ue/GL+BvZBjlLW0J?= =?us-ascii?Q?2rv+hfqCE2wp+n7gIy5R0uUZ6gTnx0caOxoUQflv9KC0tQsH3xdDDK55CKSw?= =?us-ascii?Q?m1vrVLHK9yrHSR1DjyXnGv5wdSqzNOaMoexhMpuUwry1bZFfCgk5m+3bjkbV?= =?us-ascii?Q?Dydxmw2fgsEW4gH8nIqNvy8lsTk7S1hhrk4nuuZKmbKXT+lGW2wk3PZsuFT0?= =?us-ascii?Q?8x4LkhfR5OVEey7QLTZs08dVs+9DDaFOURpFaRkZcQ4dzvPMrkj8sjMbdM0a?= =?us-ascii?Q?FshoQSIgzpKdGbQBYU/6IE6dQGG9Tq+DFR9XwBzxIDytr7q892to5h6kgOPd?= =?us-ascii?Q?6BaecsB7LD4UbtDrAlfNZKfnEIs5cLAbFfrMd7fe+DpP2Soe0RGZMaSGyYhS?= =?us-ascii?Q?pYXHWsbTmpsBfsNTJOochAQH3QgEdQEk+vL/uwBwEKi2LK0KkF3yvOUSKBTa?= =?us-ascii?Q?S4c3vfz6BRTJD7s/raTgHIrDls0DvcucSooNCnKaZUHIhw5TM3Wowe+7egw5?= =?us-ascii?Q?dueQXfHS4pN41POTzkl0jS2xENio/h0skSPnHc9sQ1unqq5IzJs/UtRzxJ4I?= =?us-ascii?Q?tIhhVp1ug4cdeRkDxPxkL3ouWByKIN6TCDzt9t2GZJJsDWEiPYbt1Al7/iKp?= =?us-ascii?Q?OlEZgKa5/aW3JzWLaWf+3naBgerjtOwU+KzRHI3/AIvJW7eISY73PAsB+gIZ?= =?us-ascii?Q?/c87VMFRDr5q2PVVlH/M6Y/fuKeIXv1atbIoEVGi89fI/wwVY+FGPoksJGI4?= =?us-ascii?Q?fMBdknlB8x2pn82JjtHmhv20Y/Ps1hVWULX79xhx/zxJ+eyjJPg8ALo6g+xH?= =?us-ascii?Q?DN0dT6gvqSLvy5dqA12MFjtYJZRNpWLBWzpkEinV?= X-OriginatorOrg: vivo.com X-MS-Exchange-CrossTenant-Network-Message-Id: d792a988-962e-4979-2bb4-08ddefa702ed X-MS-Exchange-CrossTenant-AuthSource: SEZPR06MB5576.apcprd06.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Sep 2025 13:44:34.7956 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 923e42dc-48d5-4cbe-b582-1a797a6412ed X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: oE98ocEAUS2PYxaKqx3NnipzOcQSASEVdPqsvwPy9mpcriOC6DrTJ3gmzJPhytjzfhrBgrrv0bEO5vd0hUnYTA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: KL1PR06MB6109 Content-Type: text/plain; charset="utf-8" When the proportion of dirty segments within a section exceeds the valid_thresh_ratio, the gc_cost of that section is set to UINT_MAX, indicating that these sections should not be released. However, if all section costs within the scanning range of get_victim() are UINT_MAX, background GC will still occur. Add a condition to prevent this situation. Signed-off-by: Liao Yuanhong --- fs/f2fs/gc.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/fs/f2fs/gc.c b/fs/f2fs/gc.c index 4a8c08f970e3..ffc3188416f4 100644 --- a/fs/f2fs/gc.c +++ b/fs/f2fs/gc.c @@ -936,6 +936,11 @@ int f2fs_get_victim(struct f2fs_sb_info *sbi, unsigned= int *result, } } =20 + if (f2fs_sb_has_blkzoned(sbi) && p.min_cost =3D=3D UINT_MAX) { + ret =3D -ENODATA; + goto out; + } + /* get victim for GC_AT/AT_SSR */ if (is_atgc) { lookup_victim_by_age(sbi, &p); --=20 2.34.1