From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from CH4PR04CU002.outbound.protection.outlook.com (mail-northcentralusazon11013050.outbound.protection.outlook.com [40.107.201.50]) (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 BC5EB2C181 for ; Fri, 16 Jan 2026 14:22:19 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.201.50 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768573341; cv=fail; b=c+y9RAZn0RflXBRrBWR23g672GC/JU8S2iTKgnfXEzQg6NttRoh5GGzbtRgZyOcGJpzhMZuuR8s90LlVFLCxMeqsNq5jYevQql44KXGvJFp6JTRSfliHEjtrAwC2wrt6n3bign1f205M3xT1tq+P1kkPsLfsjnhPbTOTpYdF1fE= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768573341; c=relaxed/simple; bh=fx/AYCk+6sUwUsb/rgx/2cqr4OG9dab9Qtfshr9rm98=; h=Message-ID:Date:MIME-Version:Subject:To:CC:References:From: In-Reply-To:Content-Type; b=dhYlSfO963p79I6Upqn87+Ewrqx2EHI3go8Lq27UBcCvaU9TKDtatA+Iizmsmesyhnpf3q4d0kTEYFdO/yl9k/1JQPcfxwpA6Q8Ged5KcmhV2ChcFdG+YFG+J3a6JinSlst9COKhY4SqiQt98q9K5JQSooXZvLttjlFy1q0hR6I= ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=Wjjojl1i; arc=fail smtp.client-ip=40.107.201.50 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="Wjjojl1i" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=GV/gr5+mI/6WsSggyeRzvdEsaF/Xq1lW52+NscXkG3BZw+j+kXH3+pyU9Wvzn4QN0EWfzNSmjSI876ef8WmlczjMTQfW0uhP0EwZXwXHiMDKe//eqTa0EOiIpPhTllfCDQN6+r6mU1p14dLyySewezgNN8k3Sl26hbt88DcFth6VczeK7rRLWCyzZn4pZztT6LlUorY0E9Jy1n0rv9UvBI2sn15DrbgZta3A5GrCjdwjUvjlfG2vZwkzZ4WtJjGKzE2hsOEIa8TLligwINEDEflDHFnRJorey1y2gfJJzCWJktYULBZHt2MRZORIiZlV36pYSLMiyt+BW44VRuVcNQ== 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=6kMMKRtuU4WsW9ua2IkunxRCo49DJxhxmvcGYBj25lo=; b=hSAkgFhYV9nyVieiaAa3pXKMnhgbUwUNA8T52LcUCO+n4Z7kuu1BMYyoAP/YYIyt66eTLrfJ+EtYivEnHO66693EIfUV/bzIEyl+PSCGKrOfVWSmvMG7ij2DEwGaGvNKaQYWISslp5lvleOoB/JtZRDUagbJ/WpMOPXrvUUruW6OUgpRV7FzIOZx+n6FiOr1BWFHx8uEoazumRzdx9c5MNHLB0sdkN2HpiuGG3+G2pDFHAYexP2QBywBRRA9zAeThhkb0Xe0bjSkc/E9R2lmfA/0zvC53L/hdrSHd9mK0n3RQfnm8Q+gPU9+6Yp/FrCEgimizuMRPnrJVZ3VeasWpw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=linaro.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=6kMMKRtuU4WsW9ua2IkunxRCo49DJxhxmvcGYBj25lo=; b=Wjjojl1iQbHl9kmWe+C843+UwO0Dk1Eb5MJ3x5mCvIVuFWkVMz+Xx/PuWZUyiU66lUw5mOw/G0JpBmT96lLtSvuFmHICROIsqUJae59IOpVHQ3uBRoppmwdfUn0MD96iHh7CtRBDT68y8vZ1T/9C8OMlkURpV+mc3A+Tn/Ufnds= Received: from BL1PR13CA0340.namprd13.prod.outlook.com (2603:10b6:208:2c6::15) by MN2PR12MB4109.namprd12.prod.outlook.com (2603:10b6:208:1d9::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9520.5; Fri, 16 Jan 2026 14:22:17 +0000 Received: from MN1PEPF0000F0E4.namprd04.prod.outlook.com (2603:10b6:208:2c6:cafe::81) by BL1PR13CA0340.outlook.office365.com (2603:10b6:208:2c6::15) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9542.2 via Frontend Transport; Fri, 16 Jan 2026 14:22:13 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C Received: from satlexmb07.amd.com (165.204.84.17) by MN1PEPF0000F0E4.mail.protection.outlook.com (10.167.242.42) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9542.4 via Frontend Transport; Fri, 16 Jan 2026 14:22:17 +0000 Received: from SATLEXMB03.amd.com (10.181.40.144) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.2.2562.17; Fri, 16 Jan 2026 08:22:17 -0600 Received: from satlexmb07.amd.com (10.181.42.216) by SATLEXMB03.amd.com (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Fri, 16 Jan 2026 08:22:16 -0600 Received: from [172.31.184.125] (10.180.168.240) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server id 15.2.2562.17 via Frontend Transport; Fri, 16 Jan 2026 06:22:12 -0800 Message-ID: <648b2b54-7432-4578-b785-030d98f6e31c@amd.com> Date: Fri, 16 Jan 2026 19:52:07 +0530 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v3] sched/clock: Avoid false sharing for sched_clock_irqtime To: Vincent Guittot CC: Wangyang Guo , Peter Zijlstra , Ingo Molnar , Juri Lelli , Dietmar Eggemann , "Steven Rostedt" , Ben Segall , Mel Gorman , Valentin Schneider , , Shrikanth Hegde , Benjamin Lei , Tim Chen , Tianyou Li References: <20260116023945.1849329-1-wangyang.guo@intel.com> <95f2091c-273e-4e36-b543-735748efd5fc@amd.com> Content-Language: en-US From: K Prateek Nayak In-Reply-To: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit Received-SPF: None (SATLEXMB03.amd.com: kprateek.nayak@amd.com does not designate permitted sender hosts) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MN1PEPF0000F0E4:EE_|MN2PR12MB4109:EE_ X-MS-Office365-Filtering-Correlation-Id: bc39dd54-1e9a-4db9-83f1-08de550aa705 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|36860700013|7416014|82310400026|376014|1800799024; X-Microsoft-Antispam-Message-Info: =?utf-8?B?eXhncWdiV1dtRHlCNzgvS1BpeUNQZGljVXlVTE5GWXVuUlhvcFB5bFdZbVVs?= =?utf-8?B?VHVhRWw0NkF4SGFiUzFvSGV2clVTcklvckRTR3IyRVVZeGg1RXdYai9wSTM1?= =?utf-8?B?R3BDVjM0UTB0V0FDNFE0dERiTDNzbmxvV1A2RHJnVnZaWFQzN3ljSExJYUJy?= =?utf-8?B?YjVCNU50SUczUnUzdGF4Z3JzaTBOcnRLSk9JQ2hXU2haYkZ4d3lsT0h6d3BR?= =?utf-8?B?VnVtZWdBMkFBWm0wYXk0Sy8xL2ZFeDd0L2szUlI2THhTcGlZM3RaYTFRS3ly?= =?utf-8?B?UFNIY0hGa21CYWxPNlFDS1ZWaEwzRHdkSVBMQkVCdVRlaXBVMUh1bVNHd1RP?= =?utf-8?B?UDNTSlNBSWwyWW56TmtESjJSaC9LeVF6Mjl5OVN4SGpuOWtpTjhHaGtZb09T?= =?utf-8?B?eGVGQnV0ajB2UE5USUw1UlFxMXRLaGpneFhkdHFYWFU1Wk93dmZYQXZRUWZu?= =?utf-8?B?QUVINFQvb2NDTnpTMkdjWHY0bXVIMmdFMThWczAvNmd6Z1dEQWIwcHZOSGdT?= =?utf-8?B?TDZLVXYzUVZUeXd3ODlWMFVlSGZRbEw3TzFjdlFzNm40UFlucXpaZXU1dzVI?= =?utf-8?B?UzJYUFVMWE5UWnhsblJmNTZLZFZNL2s4QVI1YWsvTlBaWXR1RjVjSDUzaTZz?= =?utf-8?B?SElmOS8wZ0ptNDRxbnlTZ0hyY1cxL2Z1YkRZTitwdUpIdTdCWWxnTFRwZC83?= =?utf-8?B?b1E2d01sU0lhWG5YcDZSUEtQQk82aEFJWksyUjFvTjNmWGV4TDdjTUluRktM?= =?utf-8?B?VVkyZitBTnhvWjlkYndrQm5qc2FUeXY3eUp3dUtrMHhsbUlzMysxMmNjZGlm?= =?utf-8?B?aWFOMms0bTVCOXo1Y1hxaElJUVVDa3FWV2RNMFBSa29FZk83dC95NUJHbERJ?= =?utf-8?B?ZmlXUVdvUUhYcXFzQzNjbEJMVWRGN3BKNlZuMllReFR0VWpKME9jUE94YThm?= =?utf-8?B?a1BYT09Sb0N5dHdKU2RiQ2NlcC9PV2Z3UGVjbFVFaXh1RFRJRitwdnRVV0Va?= =?utf-8?B?MnJmdGFrYlZyWFpCNklMbldYcWpXbFlOVzNRd2ZNbkFPQWp3STRnS3ltN2FF?= =?utf-8?B?WFFoVlVVZzVHS3U2RXpvTjd4cm0xQVBZZ3JMOHlJZXZuYmp2ZHVUTi94TE5p?= =?utf-8?B?UTR0RFA2dXlqNnpFWXNHdnhwRmo2b2V6ajFOSXE2ZHBhN21OQ21lY1BtbFB5?= =?utf-8?B?SUN6T1g3bGpOMzBTUFF0TzhIdERoam9TM2Y0bC9uZzNWVW42aWpNNmtUeElh?= =?utf-8?B?N2FxUzB3SXFNRlgwOS9wVjBVQ3dCeWFiZm9oanU5T2VVbjdmeWZmMzRPOEE1?= =?utf-8?B?Z3NVYW05aVJON2UxVUxwMHZ4bGtUNzBHS2h1Wm8waTFLSzlWRkVZc2UzZHVv?= =?utf-8?B?UE9ZM3dqZVZyajZhb3M4SmRkNmtUcm4yMWw5emkwQWNYYUJpRUtHWmwwZXMx?= =?utf-8?B?a0FNY2c5SG9VanBueTArTGxQa2lwUnBvdzZmZXduajF5VzU0VGVmaWtLQWQz?= =?utf-8?B?SXlVR0NDa3dJdEorUlZVa1VvZ0YzNlprSzV1YkU0Vk1ieFdjT0RwdGJXVUhF?= =?utf-8?B?bUw4WXdhWnMzY2NYVW1xd0VGOFZzOUw3UWxEZTVibmpubnI0SC9WSnc4SzBN?= =?utf-8?B?eGpUVXFHU05vOUIyWEE0WDQ5dXh4SlE2Tzc2bFVxTkhRQTNFMUMwRTYxVzdJ?= =?utf-8?B?WExlY3VrVEdVd0JiNEJJMlhIVmlycE8zb2ZVVTJKL2VSQmFDSm9oL1U2RWsy?= =?utf-8?B?eWRXaWNnemdCbDBsSlY0WXdqMjZhNmJWRkhlZXg3WHVPeEo1QThaN29FUTY0?= =?utf-8?B?SHB2S3k2TWlsS1hoY1BiM09OWjVla2hMcWFjaGhIdzduZjFDTUNmcERiZGdo?= =?utf-8?B?aXZKT3BhRXdNT0NXK1VhUXlWUldtWGVqM2RvQzFVenFaTVBnbHdVcEtuRUpK?= =?utf-8?B?YzVKL1lzWGZQVmJFSXFKQndKb3NOU3ppYSt0cUFjc28rNmhZcURPa0ZmUzJP?= =?utf-8?B?ck5kNkZVQzNjYVZlY3ZLTXFGRitKbjJOMXlhN2c4OVFvMDdISksvanZyU0xm?= =?utf-8?B?OWhUY1pWZTI5M0hQT0tiOWxVaExBZHpMOU85bXdId0VvZFAyaU5yKzkxeEww?= =?utf-8?B?RDNYVTEvOURaMW5XdEJiYW5iMXJ0R3ByNGd0WDJKUXhaaXRaaTJ0UE1PUERW?= =?utf-8?B?TmNzSGQ2bU5HamdnbThSWlcvNlRtcldJL2FOUEJ5eldWRURpMWJtRXg0cnZL?= =?utf-8?B?MHBPRnowYTRHdVdneXpIaUNzcW93PT0=?= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700013)(7416014)(82310400026)(376014)(1800799024);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Jan 2026 14:22:17.2939 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: bc39dd54-1e9a-4db9-83f1-08de550aa705 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com] X-MS-Exchange-CrossTenant-AuthSource: MN1PEPF0000F0E4.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR12MB4109 Hello Vincent, On 1/16/2026 3:52 PM, Vincent Guittot wrote: > On Fri, 16 Jan 2026 at 10:43, K Prateek Nayak wrote: >> >> Hello Wangyang, >> >> On 1/16/2026 8:09 AM, Wangyang Guo wrote: >>> */ >>> DEFINE_PER_CPU(struct irqtime, cpu_irqtime); >>> >>> -int sched_clock_irqtime; >>> - >>> void enable_sched_clock_irqtime(void) >>> { >>> - sched_clock_irqtime = 1; >>> + static_branch_enable(&sched_clock_irqtime); >>> } >>> >>> +static void __disable_sched_clock_irqtime(struct work_struct *work) >>> +{ >>> + static_branch_disable(&sched_clock_irqtime); >>> +} >>> + >>> +static DECLARE_WORK(sched_clock_irqtime_work, __disable_sched_clock_irqtime); >>> + >>> void disable_sched_clock_irqtime(void) >>> { >>> - sched_clock_irqtime = 0; >>> + /* disable_sched_clock_irqtime can be called in atomic >>> + * context with mark_tsc_unstable(), use wq to avoid >>> + * "sleeping in atomic context" warning. >>> + */ >>> + if (irqtime_enabled()) >>> + schedule_work(&sched_clock_irqtime_work); >>> } >> >> Your approach looks good to avoid the scheduling while atomic issue. >> Just a small observation: The only user of disable_sched_clock_irqtime() >> is tsc_.*mark_unstable() which calls clear_sched_clock_stable() just >> before doing disable_sched_clock_irqtime(). >> >> It makes me wonder if we can just reuse "sched_clock_work" to also\ >> disable sched_clock_irqtime()? >> >> Peter, Vincent, do we need to do enable_sched_clock_irqtime() that early >> when we detect TSC freq / sched_clock_register() or can we wait until we >> do __set_sched_clock_stable()? > > By default we don't need a workqueue to disable sched clock irq time > but only tsc clock needs it just like when it disables > sched_lock_stable > > So the enablement during init should remain the same. Why would all > sched clocks delay their irq time accounting just for tsc. Yeah it was a stupid idea to consolidate the sched_clock() enable, disable with __sched_clock_stable enable / disable. Clearly I missed the whole CONFIG_HAVE_UNSTABLE_SCHED_CLOCK dependency. > > Furthermore, __set_sched_clock_stable() is under > CONFIG_HAVE_UNSTABLE_SCHED_CLOCK > > I think that disabling irq time accounting if it was enabled in > __sched_clock_work() should be good I though about this and you can have this particular case as a result of when TSC vs sched_clock is marked unstable: tsc_init() enable_sched_clock_irqtime() # irqtime accounting is enabled here ... if (unsynchronized_tsc()) # true mark_tsc_unstable() clear_sched_clock_stable() __sched_clock_stable_early = 0; ... if (static_key_count(&sched_clock_running.key) == 2) # Only happens at sched_clock_init_late() __clear_sched_clock_stable(); # Never executed ... # late_initcall() phase sched_clock_init_late() if (__sched_clock_stable_early) # Already false __set_sched_clock_stable(); # sched_clock is never marked stable # TSC unstable; irqtime_enabled() is true The current approach from Wangyang covers this case so the v3 should be good as is. -- Thanks and Regards, Prateek