From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10on2045.outbound.protection.outlook.com [40.107.94.45]) (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 DE5371ADFE4 for ; Fri, 10 Jan 2025 09:08:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.94.45 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736500110; cv=fail; b=gckxaMSmoZzdoQqodVF5aBIQDBAwlMU7bDdkUbk+NEgMg8p5ivo/7CLkkwLm0CwtIwDS1IXNpXvJUvEp2Znf0VYWzs7w9uFnTzj4R8UuYkgi/qHmbQ6w+xqKmBxCJa7wX4PiIqZDW+lxCx21ei1u3sD6blnD0JoS+IlSe+iX2lU= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736500110; c=relaxed/simple; bh=ho+yqZNTNYTZBwY1iG/IbQa6Cu5TIlXjy6el11WPHTI=; h=Date:From:To:Cc:Subject:Message-ID:References:Content-Type: Content-Disposition:In-Reply-To:MIME-Version; b=quJmXlqfh6iZpSSwWaOViNQUYFNkwOXzmzkXvWdxLC0igKi1vHbNn+fa4QQWdRIIFLXGZ/SMHJa7i4GEKgrHa6iKdZYHvAoUEXgNU0Oe29ov3/VwKjj9A8u3nR7sBzBWvbYyNesCaL3631sm1gLbZTEfxZnUht+G09SKI4v7Bb0= ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=ApfHjtWq; arc=fail smtp.client-ip=40.107.94.45 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="ApfHjtWq" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=HzBw9pQU6XU3AWTjjXHrRblAVuSruojQHGgGXAD2LYDJi8/Rs+0p2GasVahB6rkSyGKMnWv7JanitAQ1hlcfg8QWNMvZovH5uTwNTxb7T4qRCFxISRBbkhj+zj0wlmr0jvORSEyGVjKIVP2c9vX/kFtVjOcjEktOpATRubRQ8N07o3LOHx+SThdCU6RaGBtEI5boKVdrP4emaOEVrPfTic0b1Ssjz1BoR3f3zshcM6K4H4Aaa9yLo+WKJVpa3gZkf7jB24H/Jh01aKgWVt48ucjeLIl1JKqCO4TgAkeEwkc3WjNggSkcPQafsDyZwUGBR6TkGyOimcA2/sLNbLduzA== 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=TCH6p8KqX6PeghMPhtKAKzAnNCpO2agbq0BZP473Eak=; b=RE9txwoDa0h7XX+/Zt/9VKCeAWCFABfu5sTf7e0zMWuHr83KxXeIYv/qY6ETZLVNgehLzHlafMzntVAuiYb+SdFnPS+bcbnYHuosV+vA0R7s2py63RR2Oi6H0A4J4JV2tMtHQu5Kg+r+y/QvKEdPS6eWLJK1rDoyxFUnh91zujLonFWGoe8sdJIfZtdBGIW4ME/pEyyqvMb1eA/aoBjWSgSvArZdVm6PwwiLwUMc1yeiAueV/xzyyOL98Dy2/hV0xmfYx7pdamzHmaTPC+b9m8i7Ma/tzmpuiuYfFBzFnspXfE0XlFX+qYdzYg6cE3qF2MgoAbXrk3c9+ndhP209/g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=TCH6p8KqX6PeghMPhtKAKzAnNCpO2agbq0BZP473Eak=; b=ApfHjtWq+4FJNtjJHX6T4ZwJssuJ+3aQC+7f70//ljCr37aAiAjUOUyTXnvAFRwZ78fhaU+Nes69xrQWH2cv1QQj6z/IaPO6lvprckWEAGT7ntFcSpsqqchM0ggR47tjYHtYTlHMGcWoMmA51eWZzfwzqxIeCOW14CzWMBbD4ekoWYsnZSwAhiutEo6QyAIpLpsPs61RFUJxi8Akg5vIufPw0aWb0JpuIX68cClFMOZnOrxfVfAETl+z4yyChC6CL4wswtxDM6HsQMj6fSD/2vOqi829IdY0bZHOCWL3AKKgVAlsMICztcvqdPKY9fG8GA2QztkVDuG3tNNnXP1VGA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; Received: from CY5PR12MB6405.namprd12.prod.outlook.com (2603:10b6:930:3e::17) by IA1PR12MB8334.namprd12.prod.outlook.com (2603:10b6:208:3ff::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8335.10; Fri, 10 Jan 2025 09:08:23 +0000 Received: from CY5PR12MB6405.namprd12.prod.outlook.com ([fe80::2119:c96c:b455:53b5]) by CY5PR12MB6405.namprd12.prod.outlook.com ([fe80::2119:c96c:b455:53b5%3]) with mapi id 15.20.8335.011; Fri, 10 Jan 2025 09:08:23 +0000 Date: Fri, 10 Jan 2025 10:08:19 +0100 From: Andrea Righi To: Changwoo Min Cc: tj@kernel.org, void@manifault.com, mingo@redhat.com, peterz@infradead.org, kernel-dev@igalia.com, linux-kernel@vger.kernel.org Subject: Re: [PATCH v8 0/6] sched_ext: Support high-performance monotonically non-decreasing clock Message-ID: References: <20250109131456.7055-1-changwoo@igalia.com> Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20250109131456.7055-1-changwoo@igalia.com> X-ClientProxiedBy: FR4P281CA0276.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:e6::6) To CY5PR12MB6405.namprd12.prod.outlook.com (2603:10b6:930:3e::17) 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: CY5PR12MB6405:EE_|IA1PR12MB8334:EE_ X-MS-Office365-Filtering-Correlation-Id: 4afb36e0-006c-4c77-d53d-08dd315655c2 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|1800799024; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?iYM+17LqWEposmDS9Madntra4MF5B9POzOhOZjdyaork8ozxO+naV8R7bO/5?= =?us-ascii?Q?BBthEDiaDHb8LPT7fpT7Wp7/1Rw/NHbuVZB08ROsRZLa/3RBDVri/lTh75Ec?= =?us-ascii?Q?zodBpCNBRuAIyjSCC0mJgcpiuco+W0eP9M1RDktBe1eDCDliGdtik9fHdcw6?= =?us-ascii?Q?PIlAJUm5hGL3vVlB1q1PsKfbC1ELsiSCVAYpN35lBfNoQqcI0CtuGvjkPsaR?= =?us-ascii?Q?kqWsIv4KJihzuzjEdXGw3uMWuuvmAGS7G2UK1/L2KTOP5cUBloBwVm9QQBww?= =?us-ascii?Q?brgMzrTt22MUpasLKKZ6uHb+lBBYE0CUBSHkWJfpEE5qQhN4VSgYggolMQxI?= =?us-ascii?Q?J2ZiGfrmeiWDx1RELSuBcTr3+wpOA7iLEcXUf8uv+dI1yj1A/Xc/i/dHFQRN?= =?us-ascii?Q?rwJbtjTJO5K6174u0qqbZEiG4qcMDkB5wjCb3uRyuh/IidtjbTeyQsnWsiix?= =?us-ascii?Q?Nf7w1Yp87qkIXQkK8n01tVj+rqlNd6UUOn7ub2iAIPbrCh3eIMg2LXS2DjXz?= =?us-ascii?Q?dOySBplPO+Nru0B7dDBWZdeaD8QIEgaUkdWkM09fCKxl1QYu5naX0DAg2vfz?= =?us-ascii?Q?AmEcT7I0pBU4nvNn65phax2UlNvXFwnSH8tO1PZPPR7uwm2Ai7yc4actyII+?= =?us-ascii?Q?pir807OLdh9e5q5Y8e1QvUklXaFhw8MyCeaLWU8NOqfPhZRBRMMjlsWWNpKD?= =?us-ascii?Q?4a8EnsAs68IsnIdW4x/TxTYA26BQSgkZkwSIJztEQLoLC7Z63xELYUUZ1EES?= =?us-ascii?Q?y59IMboyESKg/8SmiA50x7QVUJK1gt8vcHQlRMyGQCZ73QZR3f2I+8AuWQsT?= =?us-ascii?Q?YnBMmQcpEpOWhluWaVxlGCh1pyTDUYu6XCit2xfs4FL4lOdpQhqthlhoPylL?= =?us-ascii?Q?EcJJzocp5KDmOkDabPGK4sc4JUZsTb0akMcgQhIxS8Y/xMzD482EfiIdEGHe?= =?us-ascii?Q?+KF0h5CtBPd1LOhmKL96CHniCaWMxHH6KK6k5GDak2sWRqaCDvgvt8UVsYzx?= =?us-ascii?Q?w4f64O0iHlkp4iMILE0oGdkgCSLif111Mpkay9GmK3Uk184umTQqhPeEgMfE?= =?us-ascii?Q?348Gc8sQdolP1ZaOFBxs1GfM0xo7rd23mvhsFLYtU8BTLuDS/UcPAg5cGK2f?= =?us-ascii?Q?iCdf/JYVACW/RBf/PTbSPh8ydYp8CuyKsri2KNprIMwDpKKyd9bmvJ8qb08r?= =?us-ascii?Q?oAtgPcScgXRM9Tx6jQVYiz8GYZxFFsJTgyyaJG+bPaHqy+xRZO8l3e+eJnUc?= =?us-ascii?Q?5ig/FAvOsG6lUsTPUS5cumC534zkAKAmuFfdM4XonWQLRLgfmGQbDwcpRFJp?= =?us-ascii?Q?Rvo0NuT3naIojTcwLOBWIFQ++qILY4DXsUz+Mnz8FZjbWYMIJviQyOitXCYB?= =?us-ascii?Q?SMBXn/bl5Sam41bfiu5L1iS1cLUm?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CY5PR12MB6405.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(1800799024);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?svfuimTDuxmdODqWxEKaUOuQb8KHRs9L0zL1lqL2g9LYV/bicD8sa9f/BgDq?= =?us-ascii?Q?Qm3Zu5+cYs2oXaz5HriQEw3FOax3HrVq1NmWDQsLbH59aJ3xNfporNCKB8iO?= =?us-ascii?Q?bLqrJghxhes1D7Q+x9zEfbHqoPwEdoP6Po3uDLpMAGvKnxhsjO6IONfN1GnN?= =?us-ascii?Q?5CcskZlIii0wXmbAFKP85ALBz7NgSUvz89XJ96iNXs9ZGtA5e6wAZLtfatAq?= =?us-ascii?Q?S4kD8u8YfeEFWvu+jmoi2BqqV6ICVIBUfrKXpqoX4di/Ku6K8W5zpDZs1SKS?= =?us-ascii?Q?vp1NxnERXkej3EYqlUawykbdUSJkrWuiKV1e7bQop2/XMsN42HbB70NC3D9r?= =?us-ascii?Q?iY3LVc1Z32sjncShWoHXQLlKhpMj7HjW+ci79BdRAWVx82/o5eqKv6Vu+KQ5?= =?us-ascii?Q?iS6CIpx/Elmb1jEA1ABXUNud0lJ4t9aqOUiUDrTge/GCXBnhdBAwGHPTo1Um?= =?us-ascii?Q?XobrsH1AUb0w4Fw+tX+nqkrn+XNTFB1EZrb2XTwRf0HVT0T5a+OZYmzezQhh?= =?us-ascii?Q?hAUUlthNxCXJ0Uypu9YiZZ4imC6J9gGDwq9tHQv4NFwWMupdwehndoBmF0rm?= =?us-ascii?Q?XogmTgz6eQf4wVGoE5XPqdEhr2JCw4AgmFeCgFA3zMCcSdxuP2M1jXELSA0X?= =?us-ascii?Q?OJzLYAwg6Q6D9tmFzLFKJxmiug8JcBeSQ7o8wX44ED9DuNAH3CdPDtevBk28?= =?us-ascii?Q?cO1nUwJBnmgDn0y+VrSePGCn83GJeMfNEUDF/i8TJjlvDO/d9na+cZa1CPNc?= =?us-ascii?Q?Pns1nQIDvufmQtUNO0Mk8SNnewpQynAtCRzPpLAp83vr5YeV6pSXngv9MbpT?= =?us-ascii?Q?D75a10IX8QT8TgV+OvfjJEJ3c0Xl6xz9rgR5iE1Q8es2tKAUC4svZ2jEBenT?= =?us-ascii?Q?adJF1VxQe+KHUHuBMdWGIu5h4wBtGQrU7okypwS1OfPvhitoea/phGdn9JZz?= =?us-ascii?Q?rKQHyXoRGKzdBrZt/ZyZUfKExzXkrvtYlpcQ49JdgIJsnGK4kfhdsS8UDD3u?= =?us-ascii?Q?h84mdyHU1EpTeFqGnHTMNz5kbFoRqGJsqeZC7rQ2b/E4OuKvrLg5SulAP8JA?= =?us-ascii?Q?WZ9C/W+6mAiOtFTuvm+W+Ura5/VVEBZao5+ZMFkc2qbwaa9WrGTntXjwedPk?= =?us-ascii?Q?PUB37UH5JUfj0x0IIwFDB/u2p6L9MK/cuYD7dR3dnxr94/CvNbjlfs+FqlWc?= =?us-ascii?Q?ed1rcI6pmun6fJqZICdV8aGZoDG4TNEfnbhlEeviJDWX8rSJBxPUi2F88F7j?= =?us-ascii?Q?hgkk4IuqfkWCuOuX+KXj10RlKzyM239nhMhyNORTeyP/L4HtyYISKV8MmBSo?= =?us-ascii?Q?3GFDrGZc8ZGy2+BXAk0BeJ9Vh+JaUO6ECs/uMxzsj6HIQ2CvCb4zL4wLyE4W?= =?us-ascii?Q?nxNQIQkcnm6OH5jIZCPKof6wAyRO2/5fJ/ukfwimCAH0/SGL4jhsKobwg5xU?= =?us-ascii?Q?ggaSSrZ6MTV7KaryiY1RjDUqb3H+7XgBNfKvIMGz3p1bseM1AeeByirsB4IO?= =?us-ascii?Q?h82XR0gszI8sC5aPTcA9pkH+RKfXJkB4pdOlDW9monja4bWL1KF1wCy/wXrT?= =?us-ascii?Q?6TEGZB4iF+quvTNR2gs9fmjQPw/RIb0+T54nu9qZ?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4afb36e0-006c-4c77-d53d-08dd315655c2 X-MS-Exchange-CrossTenant-AuthSource: CY5PR12MB6405.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jan 2025 09:08:23.3033 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: oNd5Vx+kbXEcT//gCnlrS9o0nV7RwgSg9aimw9/XueJszwgg4uY276035M50+OBdehyiLTtkOGnuabGU/rDYew== X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB8334 Hi Changwoo, On Thu, Jan 09, 2025 at 10:14:50PM +0900, Changwoo Min wrote: > Many BPF schedulers (such as scx_central, scx_lavd, scx_rusty, scx_bpfland, > and scx_flash) frequently call bpf_ktime_get_ns() for tracking tasks' runtime > properties. If supported, bpf_ktime_get_ns() eventually reads a hardware > timestamp counter (TSC). However, reading a hardware TSC is not > performant in some hardware platforms, degrading IPC. > > This patchset addresses the performance problem of reading hardware TSC > by leveraging the rq clock in the scheduler core, introducing a > scx_bpf_now() function for BPF schedulers. Whenever the rq clock > is fresh and valid, scx_bpf_now() provides the rq clock, which is > already updated by the scheduler core (update_rq_clock), so it can reduce > reading the hardware TSC. > > When the rq lock is released (rq_unpin_lock), the rq clock is invalidated, > so a subsequent scx_bpf_now() call gets the fresh sched_clock for the caller. > > In addition, scx_bpf_now() guarantees the clock is monotonically > non-decreasing for the same CPU, so the clock cannot go backward > in the same CPU. > > Using scx_bpf_now() reduces the number of reading hardware TSC > by 50-80% (76% for scx_lavd, 82% for scx_bpfland, and 51% for scx_rusty) > for the following benchmark: > > perf bench -f simple sched messaging -t -g 20 -l 6000 Looks good to me, I also ran some stress tests using scx_bpf_now() with this new patch set and I haven't noticed any issue. Acked-by: Andrea Righi Thanks, -Andrea