From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from OS8PR02CU002.outbound.protection.outlook.com (mail-japanwestazon11012049.outbound.protection.outlook.com [40.107.75.49]) (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 1925946B5 for ; Sat, 20 Sep 2025 02:49:27 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.75.49 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1758336570; cv=fail; b=p/4GFSJIsvDP9ZvxOvECQ+LAlQlcsTVhbxxWokwN26kGiFwcbUDrw+CCHk4bVQSioZ/gjcWj4HVp2PcjiIA222Ww5NQ5Spd6Zd+6pRGj/TvinjxLxP1XJMC4WwdPCCg/o4+gSjrMXowyrmw2COP0GfZI1+Jy/tnbAC3mtUf/RLc= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1758336570; c=relaxed/simple; bh=DyFWCiOwyqs71MAMlBaB1uadxbhPyZQfggIxeUPHYv8=; h=Message-ID:Date:Subject:To:References:From:In-Reply-To: Content-Type:MIME-Version; b=dUAyLxSJdQiv+nbuGlfnhzrkg/AR5BwxR3p4LpCN2PufiNztb7jDFmwaxJD1QoR9n0bUQSeXeTiMVmeRaiLSIcxYtqEm+wFAVM//H/ETmBvcJWQCSgo7QNV1TPlXVbGM8zjvjBaBDScTxvHPzILZ62ZryEsR6y7DNFufOp9HftE= 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=SmF9B3eD; arc=fail smtp.client-ip=40.107.75.49 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="SmF9B3eD" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=KKBNgQuD3gU6DgDsYr84F0vpJ3cAR9nXU3lXd3YOwIvzPAR9xN243wUUZfo8EPo/cc3mSkP70VcMT/tRfMfzOgxRtIHbX8Y8vN7d0S0uwBwOsr9yzVmbUJX4YFF9yAvPmk5p40HIGq+t0J56wYgANeAqAx9sAWHbCCDxdyDTYAqeinHZxTLYHqflBHgt9654JMLfDJFZCHqcl70VRmXgrNoUZA1LXRfLH5gdG1ruxkk8xqey/xVs2hCpiiCg6EvT9lgJvmg4zuRzExcAoWPbixrOGlN1lHAod4qwyPp1E40b/+utwoDwB+bHklNKJwtjnn5C/jH2Q14yhj28sW04Uw== 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=B7MhZtiElejpcaEAUpqGFT8IprbrYhixPfH6+qD3ZT8=; b=fNLDCixRLBYHxN2WuJm4FSl20hl9LLVyj7mx0q2cjD95QcdByTMptPRTiPe0YJJyMYhlUTfqjZuFWK7sPxCmwAsQtjO0r2TNKeiWzgc4bGaLVXsQYa4IVKCYx8SjaRXpu2frmmJxA0PuRFwWaRvL0Ros7DXTPjX25Uvwei4pSVe5XE9WYQC8XsZaJvVROLg5COcQcrC70qTA/l6ci6pEisvnMsAu7AEg8N+4B3zUEahsmNA3yl65GulB0Wy6c3i4Lp7wTA77JtFngK7EuRMyEAE1s/XnW5gVbQ8N7IbIrp1P9xQ9V/kigSGVe0tvMOxU6v3MsnanzH1WaF5JbODZng== 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=B7MhZtiElejpcaEAUpqGFT8IprbrYhixPfH6+qD3ZT8=; b=SmF9B3eD5QpvtbenufK3XR9pmMWFfCHmdgy5eVfz6kccOFwxf2M0UcKjzllbi3aJw37TxWUi6wtGQKPJemdvvk+4qvKmsPQHHGEafR052UvthfEr9QUNERsfGCMVu+1iQi0M8GQGEaeX77Yxfv+bUb6qIIX9DiLgVwT/6vtr0Xhjq0PEupHwQEYGrSFrFHZFFAF+moTLhWzM8IZUJPRt/d1Xiil97/YhRg2uEXLnG9/QtLmYgrF1sUqrwzrWh059ZDwbBG1tBfP95LLkRu90E9uo+vYORumQ43MWJDNKT6392zvvKH5VmrAKeb/dk6B3Id3Io1wqXUiEj5gwlaVGRw== 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 SE1PPFF06F8354E.apcprd06.prod.outlook.com (2603:1096:108:1::42e) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9094.22; Sat, 20 Sep 2025 02:49:24 +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.9137.015; Sat, 20 Sep 2025 02:49:24 +0000 Message-ID: Date: Sat, 20 Sep 2025 10:49:20 +0800 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH 2/2] f2fs: Enhance the subsequent logic of valid_thresh_ratio to prevent unnecessary background GC To: Chao Yu , Jaegeuk Kim , "open list:F2FS FILE SYSTEM" , open list References: <20250909134418.502922-1-liaoyuanhong@vivo.com> <20250909134418.502922-3-liaoyuanhong@vivo.com> <22d9f9d1-1db0-4bad-a782-212ab3da630e@kernel.org> <3cd3bfb5-857f-4b61-a1c1-55805bed4609@vivo.com> Content-Language: en-US From: Liao Yuanhong In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-ClientProxiedBy: SG2PR01CA0132.apcprd01.prod.exchangelabs.com (2603:1096:4:40::36) 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_|SE1PPFF06F8354E:EE_ X-MS-Office365-Filtering-Correlation-Id: 62e88c36-0c5d-49b5-6e74-08ddf7f04e99 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|366016; X-Microsoft-Antispam-Message-Info: =?utf-8?B?YkVISERuSmpMdDdoZElVUzJCUEtZak03UGRrTCs0YUNaY1BQZTVPNmduRytG?= =?utf-8?B?RU1yd0tsOGM0aDZtTk5BdVNXb01za3BzZENRaXQxd0tpNXA2elFLcTFJMjl5?= =?utf-8?B?TFpyVTVrbzRCWWRGT3FMZW1pc0JFcWJDVHV4eHRVbGJZcnM1WmRaQUMyamR3?= =?utf-8?B?eFNNK2RBMEJUdXVDZXhMdm9Sd25ZY1k3ekN0cW50eEdyMFUvRm1aTkZtTnVt?= =?utf-8?B?YVE5VWFkcWt2YjczOVkvOVVmRGNrSmQ5a09KQWhSajZQbDJuYkZhY0tJQmlQ?= =?utf-8?B?blVRWDU2Sk1xV2VuMWJlYytlc3dOVzhUWHp0M0I5Y0pwRkk5UkV6SE95YkI2?= =?utf-8?B?MHl1bDVSeHY5M1lMekl4RUhMYnlwYldYQ29heExCd2d2NEQ0cFZMVUVTaFox?= =?utf-8?B?NWdZUVZYNytLMUxRMXhrTzdmZS96LzE0Y0J6Qnp6eXZXUkk2cFNIdE05TzJ4?= =?utf-8?B?U1ZYOEQ4SVozcWg2OFYwNFVJWDQrTjh6Qy9md3VIWDRpSXFYOWRPTjFHN05p?= =?utf-8?B?SmVHemZZaDJFOTJIMWw4UjJOSUwySWNseHlTc2FYc1I1aXVDMU53cjUyZW91?= =?utf-8?B?TlprMk5qNzNDR1l1Q2lESjkxemRFT1NseE1YZ2pQbWY5MzRKc0Q1VTNUK3dh?= =?utf-8?B?cGF4YUJPbGd2RmpTM29CcnVXYXhBa1VLSEhNRXN2Mnh3b2krRFpXQzQrU0RB?= =?utf-8?B?Uk4rVFp0UWNVN24wN1ZuMU1pd0cwSFBBdDcvbmN0ODVzZmxDbEp1NVp6bm81?= =?utf-8?B?azFsT2JqSVFvT1g2VFVYUVNFOUFsZDJwWE1KUUdUdlZFSzNidUVRNmNSZFhD?= =?utf-8?B?U1Z4MzFZQ2hmc0F2WDREQUEwOVpCRmVXYjdBVEVIMjV0UTRDODgva1RTWm03?= =?utf-8?B?c0o2TzNwN01ES3JSYm5QM0pmemRlSXpjaWZPczJmRmtWQ2FlWWtBOS9mdEVm?= =?utf-8?B?QThmQjZIY2E5T2JlS2hJdEZMTDVqekdQejBaUVZUYlh3bm5oOEk1RHNmb0Nm?= =?utf-8?B?WUxTbTFJYzhiSnFUejM1Q0NTcU1GUlBwS1ozaEJuSTlCUldQUlVZL2dtcTRZ?= =?utf-8?B?SlVaUzhjWGJnTnovMlhmQTVTUVM5bWh5QUJNZHd2R01XSUptcWtVRFZVUzNt?= =?utf-8?B?RDUxTGFLYnh6Y3dNOFI2TlNDODdsSVJRUXR6anE0MTgyZFdVaTB4cXNhWWIv?= =?utf-8?B?SGFVMlArNGdIQTA4SzNjelN6TSsxbS9oMW8xMmNJSjA3OUZtNFBScVFwV2pa?= =?utf-8?B?VDBjNVZ3c3g5V2s3MzhWWkVHbzZrTGVROVhXUnJ2dS9pdzFWemNuSGdCZEhJ?= =?utf-8?B?cVpSUmljVXhKc0hWSFczN3ZyY2VZc1U2bko5WFo2K0NIcEc2QWFSMUl0eURX?= =?utf-8?B?QzFITllpK3psVk5Idk5IT3gwWERoVVJIeFJ0dFN6M3NIODlJS0tRaW9VOXVm?= =?utf-8?B?Yjhob1NOWHZ5Z3p5eXVzZVR2UlI5a29mOGx1TnpkOWd5ZER5T1FBY3o5dkl5?= =?utf-8?B?V1NETEovZE9rZXpHNUpqdkh6SjlZSTQ5dzV0cHd3bWcrUG5TcmRjcXZ3TklJ?= =?utf-8?B?Wi9JeTJNTU83Y0FLSnY1OEdmQWpON3Y4WWNhdUVsdFRuR2JLSnlEaUVjWk1k?= =?utf-8?B?RGxNVkhWWE1BQitxK1U4Tm1McEhoWlY0RlBLQld5cVRXLytMSmVOb0o4cVVR?= =?utf-8?B?dW9aM2FFNFh4UjFVaFVXMXVSeFVXNWIrUVpNeUF2bkh1L0pLRE9KaXNKbHZq?= =?utf-8?B?cnI2dUlJTnBBQjdIdVFCSmxIdTZRQ3g2MmJycnVtMkcrQWg4RHUyWkdlWjcw?= =?utf-8?B?WHRPU1JlOEkyc2Zmd211VFgySzIwVlNkaG9odHE5QzRaRUZmTCtVVjRUUDBx?= =?utf-8?B?TkorRThuOGxwWEpqKzZkYlo3TStEY2ZsVGMrWXhpalpuZXRWYW1FV3p5SzdE?= =?utf-8?Q?1Hq3UEj3Ikg=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)(376014)(1800799024)(366016);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?U3V5Tk54aTlrdmhhak5iU2RnQXFXZEp1N3NxTzRQQnNuVkZFcnR0RS9LSTVu?= =?utf-8?B?bGU0b3BjQVpROVg1czhhZGcySGViUGdDSUFhSjg1c0xzUEVNY0IvbWgzcmxr?= =?utf-8?B?UnNORDhRMHFLVUZWbnNoVUdaVktHeXQxT0JsVElsSTBjZ25EYnp4anZKdC9a?= =?utf-8?B?YnVYR3o1bW5aY3BXRjljNEFZNjNXUTZYUENlQ2Rsc01VMVRPSEZ3RWlGRXB0?= =?utf-8?B?WmxySU05cytmQko3eG5BTGVrcmJIV2dmR0MrS09nbXZ2ZTF4cmhtK055Yk5t?= =?utf-8?B?VXg4Qk5iZFQxZ0ZVRHVPTTB4Mmo5eDdZMHRsU2kwK1J0ajFKeTB1c3NaSE9Q?= =?utf-8?B?amdIV0lpdFVlc2xjdlR4NW5DNTFBelBhWWhlRDR5Z094RXUwWmErMmhHem1F?= =?utf-8?B?c1ZDWDFKNUx0am95ajB1czB3b2dFQzhLaFRwYzl6MFNaZkpxNGpLWGFTeXJS?= =?utf-8?B?UDlGRnhFNGhaallnYTd1cG5iaGZQcVQ5dHZxWEJxeXdaZC9HWm02RncwU0dx?= =?utf-8?B?NkJ1YU1lNHVzT0VzL1V6TlFGMUNqY2V5bEh1YkRtVmkwRUkrdys5cTBVbS85?= =?utf-8?B?WEpJTk82R0d5SFl6TzlVNTJDYkgyM3ZJcmVVM1Y2K281ZUNEblZma1o0RVU0?= =?utf-8?B?cGd6eXRFODRlWktSdzFMSWxMRmM1dUs4YWdwZ1d1OC9kVGFPUnVCTjM0VVZL?= =?utf-8?B?c255VVN2b25YZVRseG5LdlFCd3krZUl6dEc0dHhjVUFkelN4OHhWeVBNMlJo?= =?utf-8?B?d0JmYnJXUkpBeFRyZWJOUHRSNlRpa3NkMk9HRkpCR2NrcG91TmxlYkE4NjFh?= =?utf-8?B?dFFLM0NONVdjaDhMR2poZHJqdmxiaWVsRTZxTU9pdGtTYW1rOW82SXdha0c5?= =?utf-8?B?bVpuNGp4UHk3M2RMcFBhZnhDQ28xa1pqcUNjQ3BFZmhiaEdQZ0crMnFjbDg0?= =?utf-8?B?OUNiclJ5azJVYW1LMEtUN3ZhWlkvL0o3RVFBWTlxbHY3MUZvY1lFSVlraDBH?= =?utf-8?B?SmtncUtSNW9UZnpKckVTMHVkYnkrUHVpY1NLUjZOeTQwck5MdzZOR0I1VHVJ?= =?utf-8?B?VnQzdk94SE1Ub3lhM1I4eEoyaU9CQ1RoV3JmN0lGZURUK0puWTA4bUY1Q010?= =?utf-8?B?K3gvMkRsN0xUTFV0NUV5QnhDTGNSU2FiYnEwMVNxK1hHSlh1NVdzM29pdUdr?= =?utf-8?B?c0hlMDN0bWJqOGtuS3R2c3J3b0ZFMVY1WTMxV0paSHBFMVJ6S290dlJ1SXk0?= =?utf-8?B?WnN5b0JLSDZaaU11OUJONkROeXpXNVhVVVF3emU2diswZVp0R1hTRW5LTlN6?= =?utf-8?B?NHhZRlpFcCtoc0JmS3ZOZ2VkQ2g0TUEyZEpwd0ZCMWdZMnI5Vk5jM01jVW9u?= =?utf-8?B?Sk9neW0yWTl5a1FPa3FXaUU0VkhZNFhtUFluQ2pQY0JTMU53MFFXdGpCTWI4?= =?utf-8?B?NVk3ak14NTRGeDA0N256TFJ5ZkFhUkNIZXppVGlBTSsvb0Z4NUlCRHBiT0cz?= =?utf-8?B?QzRPTVlpTUVSYVptaW1lUjlRczZIOGZpTXhVeEFsblJRZE5ycDVDaUVjam9U?= =?utf-8?B?cjhtbVl2a0R4TmdJZHhKMWRNU0J2RzMyYWc5QzdhdFBTaHJwSkQrcWpwZmZ4?= =?utf-8?B?TFFoRi9BRTQwQlMveC9rWnFNQVM2YlM3eE5FMFU1bkJpbFF3a1h3WG9ORHFk?= =?utf-8?B?WWRvcjZLVXlpdlhENXkyam9DSmNwd2s2YVhhYU5PQWhYeEJaN0RGNDZ4eU5G?= =?utf-8?B?bE5SNlREajdYNFNnTThyeWNOcDcwU2hnSkxMaDdLQkxrdmM2OTk0NElQZWJt?= =?utf-8?B?KzlrSzVBeDFaU2FaQ2xZM0VwKzFGOVpqT0Y5b0EyS0d0ZGV3a0ExamtPdUsy?= =?utf-8?B?NVRBQnNTOHRpRjM2czNrcFVJbGprUkt1enkzRXp3V1ozU281ci9yM3ZBVkVT?= =?utf-8?B?cngxUXVEMHZjSC92d21CL0NTY0kxVkFIZnVmdFlPTm9FR3lPdUdVbVRFaVBN?= =?utf-8?B?Z2FjbTRWeXFQWFpJdnFQaFdGSHViWWMxa2xxODVYOWZicC9NSnpxYTlIN3lY?= =?utf-8?B?WTZXeGVxeC81YmVBYVA4OTNHSmxMMUE1WnBOQVd1VzRrS3dCSGZqSktmU2xt?= =?utf-8?Q?j1uH6VTeRVrh2eP+DNOF5gye3?= X-OriginatorOrg: vivo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 62e88c36-0c5d-49b5-6e74-08ddf7f04e99 X-MS-Exchange-CrossTenant-AuthSource: SEZPR06MB5576.apcprd06.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Sep 2025 02:49:24.3770 (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: +tB+x9z7ylkb9wOPFMEn6dxENvX8KA7HJs2MdrabyTN58jK8LAIS293vzypq15aceTS4aELE2Jq7J8u4/M1/NA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SE1PPFF06F8354E On 9/18/2025 10:16 AM, Chao Yu wrote: > On 9/17/25 16:13, Liao Yuanhong wrote: >> On 9/17/2025 3:57 PM, Chao Yu wrote: >>> On 9/17/25 15:08, Liao Yuanhong wrote: >>>> On 9/15/2025 4:36 PM, Chao Yu wrote: >>>>> On 9/9/25 21:44, Liao Yuanhong wrote: >>>>>> 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. >>>>> For this case, f2fs_get_victim() will return 0, and f2fs_gc() will use unchanged >>>>> segno for GC? >>>>> >>>>> Thanks, >>>> You're right, segno won't update in this scenario, and this patch feature is redundant. >>> Oh, I meant, if f2fs_get_victim() fails to select a valid victim due to the reason you >>> described, f2fs_get_victim() will return 0, and f2fs_gc() will migrate segment #NULL_SEGNO? >>> Or am I missing something? >>> >>> Thanks, >> Yes. In this scenario, since it won't enter the|p.min_cost > cost|condition,|p.min_segno|will retain its initial value|||NULL_SEGNO|. This is consistent with what you described. > Do you have a script to reproduce this bug? > > Thanks, I didn't explain it clearly. What I mean is that this patch is redundant, the original code is fine. Thanks, Liao >> >> Thanks, >> >> Liao >> >>>> Thanks, >>>> >>>> Liao >>>> >>>>>> 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, >>>>>>            } >>>>>>        } >>>>>>    +    if (f2fs_sb_has_blkzoned(sbi) && p.min_cost == UINT_MAX) { >>>>>> +        ret = -ENODATA; >>>>>> +        goto out; >>>>>> +    } >>>>>> + >>>>>>        /* get victim for GC_AT/AT_SSR */ >>>>>>        if (is_atgc) { >>>>>>            lookup_victim_by_age(sbi, &p);