From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.14]) (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 77202357D12 for ; Fri, 31 Jul 2026 06:58:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=192.198.163.14 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785481114; cv=fail; b=VWjGXOLzlGIiZFzDq22NSu3uamU8hMIuBHa5Q7ObuEC6phCTNuzoT2gN20u5c64k3atIPremNazLVl3Nz67Tfjp7ofQOLASUN7ZiMMm4jGgoLExmlqAlIQM2zrr57Kh/63MVL4IClKXoy99fLWKkf70LeZegGkAN8AQ6cuTtbm0= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785481114; c=relaxed/simple; bh=g7C7NPMEnO2B1mdULHRXrMOh3yDVTWB5xEsGOJ8RNjY=; h=Message-ID:Date:Subject:To:CC:References:From:In-Reply-To: Content-Type:MIME-Version; b=YN/rKqJjoVJITgnwzi57vFjsyIDXy+TbVKXRRMOSbmR3lm7MVvgGNJ+EqSDptIeykGg9sSjTkl/+FQjJNuUEiwEM26KExEsoQsT9L7QeX566dfI0Cj+jIbI4Kzj87NQtUzV0QtkSecVpbbvtu3DtKQMmFybaBOGhDFZWnOQTNGs= ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=Ggr67RM4; arc=fail smtp.client-ip=192.198.163.14 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="Ggr67RM4" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1785481113; x=1817017113; h=message-id:date:subject:to:cc:references:from: in-reply-to:content-transfer-encoding:mime-version; bh=g7C7NPMEnO2B1mdULHRXrMOh3yDVTWB5xEsGOJ8RNjY=; b=Ggr67RM4jCklEOBsge2II+pZYBgEcaiCcxO7uFyPlRcO6uknLgH5lTwj ILsft6DNPObI9zGGyr58qUpj2MOW4YfkimvIdEWIuiVGl5ZMeir8abulW frqFv1Q/eWBE3t2O4+Ac3rxhr7qRLaONcyCV4TjsRx+4PlDLZ2gNR1yrO xJUQXPGarLtDGG1P9EUI7M2GS4i6/gjg44N4jYgXR1iZU48G3JZJDbgBT 7Cy6IZQEKSUPTbmpMZ8vdN/voYyVmXv1VaIc+W4En2iRIOR4VRtRTd3Yq 7OWnkIOH8yFfRqNisakdLTTLAKXHfOGipqHrC5Rvwk7eijEZs/3O9F+K/ A==; X-CSE-ConnectionGUID: ro+iXhI5R7Kyt1frgyZllw== X-CSE-MsgGUID: DcuM7yIuSp67OQxkrdYKjQ== X-IronPort-AV: E=McAfee;i="6800,10657,11860"; a="86141706" X-IronPort-AV: E=Sophos;i="6.25,196,1779174000"; d="scan'208";a="86141706" Received: from fmviesa001.fm.intel.com ([10.60.135.141]) by fmvoesa108.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 30 Jul 2026 23:58:32 -0700 X-CSE-ConnectionGUID: vE9c8SgCTkW1aCu5nME7Mg== X-CSE-MsgGUID: wAEL7TaHTzmWhmOs4hk+2w== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.25,196,1779174000"; d="scan'208";a="285106346" Received: from orsmsx902.amr.corp.intel.com ([10.22.229.24]) by fmviesa001.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 30 Jul 2026 23:58:31 -0700 Received: from ORSMSX903.amr.corp.intel.com (10.22.229.25) by ORSMSX902.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.45; Thu, 30 Jul 2026 23:58:31 -0700 Received: from ORSEDG902.ED.cps.intel.com (10.7.248.12) by ORSMSX903.amr.corp.intel.com (10.22.229.25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.45 via Frontend Transport; Thu, 30 Jul 2026 23:58:31 -0700 Received: from BN8PR05CU002.outbound.protection.outlook.com (52.101.57.9) by edgegateway.intel.com (134.134.137.112) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.45; Thu, 30 Jul 2026 23:58:30 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=JY7jxGS0eGmDzF3Olhb8PvOnkDzFZau+6e9xBROCo0pqKNwdRogG8z/4U5rilWQBLnUtObyUXD32OmGGHwhne/Qyhlig4Nrh7Z6f6FfFomVDyZchqsg/Qe2s2qXqY6ZVHFYDUYlywnlkhH7pbfw2b8T6RHJl0HRF3EK8mCAnxII1Ldt1ujOqVxaepqyDArLCEoVsd7b3RhHyKyiRemzGGoB1wmWQVCQWcdsYoUaJNxT/nGF5WQyPiM6hvkSESR4GDdFi97xrAT8Y82xvTbjKV32NmnP6mzGs9LgN5TFX+6J5UId7Kg8RGajHUMQbPA9rAlNcghfOp5brHqpFRZtR+Q== 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=GWtMzp39MRHDOh87qgco4q+d1iagjxv1PuYeNgAd23Q=; b=UkOI7t5i8e9OMzAWrTEKyOpae8Qd1j5Y5ZBU0gXQO/PYlBOXf9zquWE2ECu27XwUggIsqWEpa1EwAqxBtdoAVRDA5EUnGtXH1wniQFjUIlK9RCJvrQVvjVgd8InqrFJ+zkQV4vd4QffGcy/QaahV1pC7eeblxwRl4Ub2ldUX7L0FX8h5dJI8jV4AFjYxMny6JxuW/o/BuBT2TGLfR/BZMXIW9HyG15E6dZh2+xcyqBBfAteuM6RBojGgesb53U51BZ6io0JN7GGtj3TR+4hfKtNzNbk9bsz6vva3QspZvCieVU9iEv741t+8Xxdlg2rhnYqyhZYBL9JEozn3IMmpSg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; Received: from DM4PR11MB6020.namprd11.prod.outlook.com (2603:10b6:8:61::19) by SJ2PR11MB8516.namprd11.prod.outlook.com (2603:10b6:a03:56c::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.270.16; Fri, 31 Jul 2026 06:58:26 +0000 Received: from DM4PR11MB6020.namprd11.prod.outlook.com ([fe80::3058:1480:e4ac:5765]) by DM4PR11MB6020.namprd11.prod.outlook.com ([fe80::3058:1480:e4ac:5765%4]) with mapi id 15.21.0270.015; Fri, 31 Jul 2026 06:58:26 +0000 Message-ID: <84f81335-796b-4eef-9d01-510af9d9cf14@intel.com> Date: Fri, 31 Jul 2026 14:58:15 +0800 User-Agent: Mozilla Thunderbird Subject: Re: : [PATCH v8 1/2] sched/cache: Reduce the overhead of task_cache_work by only scan the visisted cpus To: Tim Chen , Luo Gengkun CC: , , , , , , , , , , , Chen Yu References: <20260723040429.630176-1-luogengkun2@huawei.com> <20260723040429.630176-2-luogengkun2@huawei.com> <1dc03c84-9bc2-4db1-bab4-3f603fba54cd@huawei.com> <8b7cd508-3b89-4fc0-85fd-5a8d35ed06ca@huawei.com> <7d1ae7709bbe052f1d5737b6f0ef6cddf2f5e541.camel@linux.intel.com> <2d191aead79140de43022f480c3b542c101613f1.camel@linux.intel.com> <0ab7ec57-750a-4eb8-8697-aeafdd0f1786@huawei.com> <94e4418e7545df9509a0b8bd1233c0b00184455d.camel@linux.intel.com> Content-Language: en-US From: "Chen, Yu C" In-Reply-To: <94e4418e7545df9509a0b8bd1233c0b00184455d.camel@linux.intel.com> Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 8bit X-ClientProxiedBy: SI3PR03CA0008.apcprd03.prod.outlook.com (2603:1096:4:297::14) To DM4PR11MB6020.namprd11.prod.outlook.com (2603:10b6:8:61::19) 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: DM4PR11MB6020:EE_|SJ2PR11MB8516:EE_ X-MS-Office365-Filtering-Correlation-Id: 95e2efeb-0178-44af-1e07-08deeed11ead X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|7416014|23010399003|1800799024|4143699003|11063799006|10067099003|18002099003|22082099003|56012099006; X-Microsoft-Antispam-Message-Info: WbuvYrnk4jLwYoO+E+o+grcwAFowTq5DtSM6cZLFv71dpCokNGGJ+AlB/oHScYfAKWhkeSanETNKz1Vkine5IVLjCd018Ag5MOE0GskLf18q8i2igfrEpYpMvWqOJJIvh7HuFh/dmTqMqLk1cdSlAyhQQtfSYhzM0zhuajNckmWCVEQGXdAqFoINE96uA6PWPGO6XLcU8xTXnRf4PxU3ymX3KgaBKT9EwusXgJVkm6HS+0T7cAYSWm9j28Q9X3IU178Nk5nouPuOA9t6Bdg2Q1gXU70ghWO6DRYMJQqS4flA4FeezinUqxBUHjXZlvdsnIiNQEDc68S6tJ1Q8VcWpuEF9VrRG71F91hypBnTuikSdP3VfqZ+CXuLSxrd1FdC9nh6GrCOG3Mt+2VqIsns/XSNMpKDCpFi3LoQ+ybiQxCCYLJEEHC+PMJUMJXZjbIB5cBwqXwHSUQD6em53WdXmYUF4dfcrGF4ZXwUKkw6LBjk5KR1ynH+tp4Sc/n01e93HYwRXF4s/6UOoclHp1LbjprS+bEmfdFAnCfzMtrBkP6bDlI1x4SFuGEQ+th/8o3JARXoMycCgaTloF5ZgZk8aUe0Dl1nds+b7xLcZQ0+2BfkpC+5t1xqjGhtVaB8RtarLQQNpUi4KE8UdVpLY3fuioQye45RuDCbvsKxq0SJPqI= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM4PR11MB6020.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(7416014)(23010399003)(1800799024)(4143699003)(11063799006)(10067099003)(18002099003)(22082099003)(56012099006);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?ZDZDWllrMFppL0gyNFY2VnZHTEh6b2w1Ritxcm1semRvTU5hRVZtVW5xQWdo?= =?utf-8?B?dHg2QVFNcnV1TE9aNXVmSkVzTEQxRTMxMVlBMGtnR2xpd3FwWnF3TmhTZGlw?= =?utf-8?B?VXNyOVk5aVp1Y1FMakwyYjZCZ09FajB3VXY0a2pTbkIrZWhCMkpkLzV0TXVr?= =?utf-8?B?eTFPQ0cyYVJsd05lMThBdzl2UFZMd2hsYVptb2cyT0pwOTJvc0JzRHJsSzNV?= =?utf-8?B?L05wbzFZemVxbDBteFBGdnpqNGN1VFZsK0hpYWNKdWVYTHQwR3k1TTBaTkJF?= =?utf-8?B?OWVaejhkTjRtU1hVRGF2MENLVDVzd0RxSmgwbDVHQmVnZy94M3o3RG9ONTF4?= =?utf-8?B?eWFVOFN4MjlDejNsU0VwNUJ6N1BubzRwaUFkUEh0cnRoWFcvc3ZLUUxLZkRs?= =?utf-8?B?bWE0czZSSFh2NTNFSDduZjd0Mll0MDY0NGFRR1Q1NnIyMWdYa25wRlA5Z3hS?= =?utf-8?B?Q0tsbXN3UVNoT0RTR0hFaWxqdndsV0tzTFp6Z1NPb1h4UitrL0d3TzcyMmJ5?= =?utf-8?B?ZzZ0ekdGWUxGWFc0MnViWXBIb3kzQzhtVCtremlaenNvS1JWVUJScCtmVVBi?= =?utf-8?B?RCtuL25sZUNReS8wZC9NWU5VUUtuY2JRN3hwdDJuQ3B4NTlSWDJuNDVCeVIr?= =?utf-8?B?Wk9jZUNJa0J5V09sQU9tMlc5WG0zdkJmRVJyWk9FK2FNeXZ1R3BQSnFodGY4?= =?utf-8?B?cTM4UlJhZjZnSXB1V29jS0JSUThrdEtiWTJ0UlF4T0RiSFBZWFh2dSttcEZH?= =?utf-8?B?ZjhMNm9CV0NvQmhmOXVSUi9HK3BRWnNhWlVHbll4NUg2U0NxYW8wRHZsSEw5?= =?utf-8?B?OTVtR3lXaCtwRmFKQ0hqb0xPcHRncGtkNGwrcjc0NnV6NnpJdTlqMXJkUlU3?= =?utf-8?B?VmxXaFZYVnAvY2pjT2JEc3BYTW5CSWdLN3RQV0VZV3NMNGlSWU5BUDlWcjFj?= =?utf-8?B?WmVKbHBQOWxzZlc1TGtFaXdkQ002WEkxVjNnNExmell6eWRtaHpyTzVTR1J2?= =?utf-8?B?anZvNGRqOVp0RUhIT3JNallKN3A1TGsrRGsvVXlveWFVMVRaV0YxYityN1Ur?= =?utf-8?B?VS8yZHBVbmN0WDFJbjNTbHMyeDN0SGdsaHFtTVRjVy9QQ0NZVWhoQkF2S2x6?= =?utf-8?B?YW5JSDdGaWFKT2ZFSlhFc3FiZjk1SVJYNVRzUTY0aEl2elkxT0gxUXpsaUtU?= =?utf-8?B?Q2xVMW1MM1ZWWFlRK1htcDBaZFY1WkR1cGZuOWlzTTJkV0R1MlFoTmdaOEVL?= =?utf-8?B?WGlWVkd2TU5qbWN6ZElDUGNDNUVPQm5ZNm1pdklnTElkMERMOHdoVmFJbGxY?= =?utf-8?B?K3VLTDRWcnpyUHZNaXZ4THRndGZoaWZmZWg2cjc3MzBzTHFVcEtPdnJlS1Jz?= =?utf-8?B?QlpqemZXQlc3ZDNsb0swTWw2Rk0zV0c1ZlpSR2ZybGxJa2VhQnd2QTBxajZx?= =?utf-8?B?eGdESzBKMnBnank1WXB3cXdNNGJXcVRWMDQ0QXdncGtXNkRuSVZSVEs3SWF4?= =?utf-8?B?Q3dXWDRlN1lrckJYWVdraFJxUUhZNHEwWWVoNnUzZ0Jlc1FXYktsb0Vvb0Zj?= =?utf-8?B?QjB1VzZwenFQcmI3WGszUHJPc29WQzBFL2lSWFVndEhIa3ZiNWp6bi81MmNP?= =?utf-8?B?dUhRVUJsVjNUU1BUSVRneHMvMzhPVWtoVEo5eFpJTlZaN0hmWmdMaW5pR2Jy?= =?utf-8?B?b0JrNWh3ZWhRQTJ0bjFlNDY4R0JoUnZOeDE4OXhweWtkdmUxN1hGM2JuZjl3?= =?utf-8?B?NTBNc0RKUTlpeXZSTmcwK3piUmszclhxYWt1QVl3Z0p3M3FSVHNxQjk5aVp6?= =?utf-8?B?OVNnMGx6YU9DdWFlMjF2L2h0TXRtWHdHeTdBU25BOVVmU2FZOUs0V2V1MFBp?= =?utf-8?B?anhzN085MUlZSHRoUzMvdEJ1TGFabTdFTUNqb1ovZmJ6blhvOGRQL2Zza2g0?= =?utf-8?B?THE2d0UrRndKM3NuanBHcVNjVXRKU3BGS2c1dnFXRlh2ZkRUQWFMMXQwcXVJ?= =?utf-8?B?NTd1ZGFQK2F3U0x5UVIraC9ZMkMzc0dCTVdCMFBPcFZDQzNHVkJMWUM3SUg4?= =?utf-8?B?MHhqTWJMdUNDVTVEVzNzeGFHaUdZQWUrdStmdlV1R21KQVdRRnBQUzZyWVZq?= =?utf-8?B?UVVwNlJRT2NGMys0RTJ5dExKay83UU5RY0V4NXdDdmxwS205dmdaWGszRUJa?= =?utf-8?B?WmRQZXRiV2UzaFpUZ3JuNkljTmdSVDExSjlJbDhmUU9odjUzNHVMdGZjcldo?= =?utf-8?B?ckJXNHpyZzFGZGMzTjAzYldSYkRmZ2lDa2oxM1RtQU1XZVY1K2lVL2UyNDkv?= =?utf-8?B?K2xtdUFhREZTZDNSSVcrdmJ1QzlNNmhMcnRLVlpVMHFGTTdKSjdOQT09?= X-Exchange-RoutingPolicyChecked: O6tdNqrftfxYrxjRwY8Xngw+4g34nANFCiwheZuT56WVLtwngRs3AsWe8FGZHI0Yi058x8oP0g6wy5l07rZuS5lQ9Ai+bkqJEZ8XIP5VLUmn7uQ6GA8Dlmu1Ro4SDeXTRa1w/l33wDnGvIBHxa+LTEE6zBrAWixeQ2xYhIwlB3083xWB9ygSMa/TmlZqIJxDTB57YUWxgWWpo00y59gGTj6YwR5guIxWiDbykZdGH9BbqpuGFYGtX4wgcbcuahS7kq2I0b8VK0eWk5PwOIRtRgrTqZjBBXBr+gbYAWJrECEeskBlRFCPPffPyAl2hxdMkQeFIqzapejQ4BeV3go5sA== X-MS-Exchange-CrossTenant-Network-Message-Id: 95e2efeb-0178-44af-1e07-08deeed11ead X-MS-Exchange-CrossTenant-AuthSource: DM4PR11MB6020.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Jul 2026 06:58:26.6471 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: RNcnIINw+FhxxG4ZNzO1Lv/4tNYClLxSM6snYEFKz66lzuqCx2iXDHvzOfkw5l8WuZu5BTIQf8bFpeAymu5cmA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR11MB8516 X-OriginatorOrg: intel.com On 7/31/2026 12:57 AM, Tim Chen wrote: [ ... ] >> >> When talking about mm->sc_stat.lock, I found an issue that may be >> worth paying attention. Below is the relevant code snippet: >> >> task_tick_cache() >> { >> ... >> /* avoid moving backwards */ >> if (time_after_eq(mm->sc_stat.epoch, epoch)) >> return; >> >> guard(raw_spinlock)(&mm->sc_stat.lock); >> >> if (work->next == work) { >> task_work_add(p, work, TWA_RESUME); >> WRITE_ONCE(mm->sc_stat.epoch, epoch); >> } >> .. >> } >> Actually, I don't think time_after_eq() can effectively avoid moving >> backwards because this check is performed entirely outside the >> protection of the spinlock. The following sequence diagram describes >> this race condition in detail: >> >> Thread A (CPU 0) Thread B (CPU 1) >> ============================ ============================ >> [ Initial State: mm->sc_stat.epoch = 90 ] >> >> task_tick_cache() task_tick_cache() >> >> | | >> +-> Read rq->cpu_epoch = 100 +-> Read rq->cpu_epoch = 101 >> >> | | >> +-> Lockless Check (90, 100) -> PASS +-> Lockless Check (90, 101) -> PASS >> >> | | >> | +-> Acquires lock first >> | +-> Writes mm->sc_stat.epoch = 101 >> | +-> Releases lock >> | [ mm->sc_stat.epoch is now 101 ] >> | >> +-> Acquires lock >> | >> +-> work->next == work (STILL TRUE! >> | Because cache_work is per-thread, Thread B's >> | submission cannot clear Thread A's local state) >> | >> +-> WRITE_ONCE(mm->sc_stat.epoch, 100) !!! <-- BUG: Epoch moves backwards! > > > That would not happen because in __update_mm_sched(), Thread A will be > reading the updated rq->cpu_epoch and again check > whether time is moving backwards and will skip the update if > that's the case. > > Maybe the backward comment in the code was a little confusing. The "avoid moving backwards" logic was introduced to prevent a negative timeout value in commit df0d98475954: if (epoch - READ_ONCE(mm->sc_stat.epoch) > EPOCH_LLC_AFFINITY_TIMEOUT) That is to say, by design, we want mm->sc_stat.epoch to chase after the CPU's epoch and never jump ahead of any CPU's epoch. Otherwise, the subtraction above could result in a huge value. Later, in commit c1e7fe5e75ed, that negative delta was avoided by: if ((long)(epoch - READ_ONCE(mm->sc_stat.epoch)) So now, mm->sc_stat.epoch is only best-effort to not go backward. If it actually does go backward, in my opinion it’s not a big deal. thanks, Chenyu