From patchwork Thu Mar 6 01:25:06 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Joel Fernandes X-Patchwork-Id: 14003700 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (mail-co1nam11on2087.outbound.protection.outlook.com [40.107.220.87]) (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 C4265224FA for ; Thu, 6 Mar 2025 01:25:10 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.220.87 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741224313; cv=fail; b=JRgyzZ71EdHpGiWMllIqoCO5YH5pMWPNudCyTdyQWJvc8EVlzYgB9dybFS/nTcSiuJi/edIEb1XpQwQ4A4wHpe1vgC5nftYUVsNikEmx/QiVuiKlTjMi9UR+yYL0pvO5q4ghj0eiArv6F8xlvOwy94akfpb5myZb2bFnzZNvizE= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741224313; c=relaxed/simple; bh=iNqzw6I9ZrnXAi4yX5JvPhJBob1kaXOBR4FaYwg0HlY=; h=Message-ID:Date:Subject:References:To:From:In-Reply-To: Content-Type:MIME-Version; b=Z3XTlJv1ZaJATy7yjYxAPcz6Wxa21tKP/gjJLCSnUCpvyOZ8PG8zIAb+6tJUG0bjDt9+tJ7yHwxz4zldXvsr/4p593s5LNWx5ssgrMFn+y9uCtzjTdASVqj2aShhnE2W5ljK4512iBrCGnm8SpNy9hPBvtLHJuWk6zPOqk/xBQ0= 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=VXskGOCR; arc=fail smtp.client-ip=40.107.220.87 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="VXskGOCR" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=CUrRQL+OoGU2O+Tcb7efzBpn3IZBOGAxjqStmaFylHxfTsjfuD/+b5v2hu6s0xB50ktVTvYi+DnTWGeoZCw+4guZEjBO5GdCmFHCSlO/4xC8oS0jOFOBdcQUtQcUuF8ro303IxLBjIkqU6z4tDNmt1bOOnkga+aAgp4mnIfXvdRc2DreB6I8lkr3WkY/s8IcTNMGblMRdYHkwRdtBxdQpB5Qvrl2t+pQn77VpwbpJpxqk/AwaQnvCJuMr7AzGSooLTCLf36x1jKiEIde2NBtFIKFp7ppP/7Q0T0c95m8D3ep7ns8G6AU9Q1c+Zwxw83Homsu1PXtwiHcw0E50wwDtQ== 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=PF+NpD+lrAX1gMhWfMUXV9bGUplyuiD/LBApKtNJ4K0=; b=PP8+CKHoIZV3dUXy202a0ZEDmWnPcJfJNeO+t5ZYeN5PTUYaswgHtyx3Qnqi9pakbCADEgKPOy/KCKQTXo9VjQrn8VPkWkuY1V9lWbmek6+5aKt2o/M1wgo5ZLi52ysqobpCF5m1bS8qioPCzgQec95VxDm7dUjhJCxrI4YW1QHtl/W2bvhI+xE896Py7peqXjLkbGyczX9gbqiDnf2eI75aqdFrPrqNayUnbgB7A4FUxE2/G7Bc0xS2O+kW71PLFw/IWQGQpTX+BGtmEULEqvdOfd3DGGuLmjV3zVfnlVvquILtEGfzBZ5h4PTUkjyqjvommR/bhHXo7hBL3mY3EQ== 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=PF+NpD+lrAX1gMhWfMUXV9bGUplyuiD/LBApKtNJ4K0=; b=VXskGOCRHM855lUyYIp2s4mauhd3SuZuj7nMU3xV5zBIAYNe0JAc8aEn+mvvT583LvIFdOLehL1ynNMv04XvHiRh3U7/xn+z7tnYxBHA71UKwCkFMhz3KRXY0SmWw3sFHG2SRvb39RYRy37eFK3ocU0vWY/UaON59BKhSn1RShO8GNfe6a5z56R+EoAyEotu38oxWFPrpeK1hSA89MpH7U42GmrSnvnyKfB7sBZIS38MMvr+0w36KitLfJGsZtwy7VfnuM9PW9uDIT/cx8amuXpiPbufkdpyc01iTMq1sVQiKH6kCjV+0RVaiUmNtfXK5XWZeviLzw7ThW+7Bv7vZQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; Received: from SN7PR12MB8059.namprd12.prod.outlook.com (2603:10b6:806:32b::7) by DS0PR12MB8368.namprd12.prod.outlook.com (2603:10b6:8:fe::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8489.30; Thu, 6 Mar 2025 01:25:08 +0000 Received: from SN7PR12MB8059.namprd12.prod.outlook.com ([fe80::4ee2:654e:1fe8:4b91]) by SN7PR12MB8059.namprd12.prod.outlook.com ([fe80::4ee2:654e:1fe8:4b91%5]) with mapi id 15.20.8489.028; Thu, 6 Mar 2025 01:25:08 +0000 Message-ID: <078dd26a-9118-48f7-b9f9-c5476b168f6a@nvidia.com> Date: Wed, 5 Mar 2025 20:25:06 -0500 User-Agent: Mozilla Thunderbird Subject: Fwd: [PATCH v2] sched/fair: Disable DL server on rcu_torture_disable_rt_throttle() References: <20250306011014.2926917-1-joelagnelf@nvidia.com> Content-Language: en-US To: rcu From: Joel Fernandes In-Reply-To: <20250306011014.2926917-1-joelagnelf@nvidia.com> X-Forwarded-Message-Id: <20250306011014.2926917-1-joelagnelf@nvidia.com> X-ClientProxiedBy: BL1PR13CA0285.namprd13.prod.outlook.com (2603:10b6:208:2bc::20) To SN7PR12MB8059.namprd12.prod.outlook.com (2603:10b6:806:32b::7) Precedence: bulk X-Mailing-List: rcu@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN7PR12MB8059:EE_|DS0PR12MB8368:EE_ X-MS-Office365-Filtering-Correlation-Id: 0b5e4f8b-2c54-4bc5-b32d-08dd5c4dbb3e X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014; X-Microsoft-Antispam-Message-Info: =?utf-8?q?/aDJt0HvyApzocAGYlYhq/M1+QbAyNk?= =?utf-8?q?ErZdZERX4Zh9JA54XukhNnU1oLsf1B8IuTlYKyKoyXD8atCzVMxct4MtrDg2FUbOI?= =?utf-8?q?zw/fB/VGxorva0DkjqGGRWFJf4qNsEMIgQfKwc4l7YidTxsPM/NtVo1T1hOMsVPlI?= =?utf-8?q?M/OG8+O9al1ulKMH/0JSunP+2/AwoX4hLXrDqeNBPFWCUvYxRJHQSjC8/jYqHq0RZ?= =?utf-8?q?dfyWTEaH2OwQdFPGjK+1zRmHzZkx2A5olBx6V3D7B+kjlh2WKmUi7gyWAGyIhAfPr?= =?utf-8?q?Ktu0gyqGFRxnMy+SCR6gQxnVq0mY63Md7+c987CNzVI+vV0hbmHnr/FTB/P7GEVMt?= =?utf-8?q?Yi5rbhIHfaVYUF0+axl/7rQPzXYf7llo6IDwPSOMR7wsCdh221VEC1/Ryb6zyu6Es?= =?utf-8?q?+MnVaJfGy4T94Uis4AKh3m6Hr4eCLdt9zFcdk8w4YM61pdFnpanTSEWZMhIlpjnEG?= =?utf-8?q?vFdvMbrHGaXvgXe68gXk5jSn5jiJiqJPplesmFO5TUNkc/PeD8c4pe+TZEqCBZqsr?= =?utf-8?q?2nTlhhfHbnnsSN72ed/2MIz2qpNzCGHS7Z9zkVUquYZ7PLxLf7UkBdmTES4kZfeBW?= =?utf-8?q?KYtdiNszLsMGpyswAZTET25c3IN5Jr0JKBUHhsr8D7IR3KWIQ/V8QT1sKBVcjajwK?= =?utf-8?q?AE+sLTsFNuu8k8OjZjCAaaRSDvstRBQUarqLWWHE7xl6D3aTrGxWJkG6qIir3CI5V?= =?utf-8?q?8BLF3IXhwkdrSxB5PSQyBRGz0VTpUb29mzh3Vt9/VMMvu0y0yxBcPsmJaOH6dr6aD?= =?utf-8?q?uyJCUMGjOrn1H2vBE65o6v+ukIVeeAf1uZgM2CPqa8Z7HDAOs44lMjncbVR+CVeMW?= =?utf-8?q?RLXhds3gH+L5s63Thac4oFCul7N0jO3OmGMybfMMjjDL0A9B99+7xVZDiBCf/so2o?= =?utf-8?q?UL5iAMHTNoL94LHrTCqILk7NmbsFgFKApFtgWYQYSsSw1UJwnmQ0vl6bxdzhzAEd+?= =?utf-8?q?XaBW23ldoKycSG1doQbyH3RykNhnCyWFoXfuJs9HtiAdWFajvXk+iZfQNS4DG2XDc?= =?utf-8?q?cOvLTOtl4+/9VXhsvyhBUj9R9SR0CnC8OsjafonY7pD9XmpUYBhspe8VwK43KNCHc?= =?utf-8?q?UsWGAERX4ifX/Hk0n5lkGAP6t+/XMzxX4b2uHNzbIs6EuQx70NjakJJ7C5pYdyRoi?= =?utf-8?q?6Ey8DRFYvYV0q5L1q3ia6GgAFO3ULilzq+STXHKolLVw2f9gCpUmpnzPjYISBApuc?= =?utf-8?q?g7oXD+pkxV147QBmsQVi1XyQvtzO7ndmRs2R/wNp1Qqng6lrny1jErbuWn5fm6sTD?= =?utf-8?q?zWNiBBkt2woo/RSkeDFVBuQKgZI91ZY6Bj3YlWWRKYTIQjXS+1jec/a5wx59ikTwW?= =?utf-8?q?bVCX14WWFqgB?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN7PR12MB8059.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?jr+WxmaP5ssXkL703xoaJ3rhAf4Y?= =?utf-8?q?ujBY1lv5FVUf7OKqcxy+PNfHIQcSOPfRhoh4atSHwXTWfy173Qf5xJ36YZrQYvgA2?= =?utf-8?q?RHfaEH+espP2NAwXkuDf5eWAFw4MBSddrhoZd2oOIB5MBFeKLYtrX3m7JF8GeCMSD?= =?utf-8?q?gYx1nhFWklIqpXvJQtItvObV4mb75Si94UeYj2yDpyH5BmFLPH1Gib9KESrZGF9Yk?= =?utf-8?q?YYgU/bKyGPTm47LmPT8PBHGhvWJoXztHFhekMU2rUN1Eg0KpnsxN5cdRHXxgeJxLg?= =?utf-8?q?Lmk+nz7Hq6NpDRSKlUzMXcn5hprmh+1Y0+7A+St9mIy50BL8969cXB3bPqDY7wLmj?= =?utf-8?q?KmW8ZFYWuZLmUmq/4b5Nb2rVA5gkCPHM2e2zcCkiVPlLvAP/uvLlQNuMGWj7kJRJa?= =?utf-8?q?58J/Yzz3QO+BBzlej+tIQmnKGSfmp/4MnguE7duUoU6XHJpzSJg1YHSCEFu7YNnNJ?= =?utf-8?q?R+G01XVkp6nSpWc3MihamUXuLlf5xH0d4HdYTJG+TmNIFX4r1DaqLQ2lF/c97tiiA?= =?utf-8?q?OcBnafC3iZvozqS/daa+sUFO9IaoJD7P2bq0J6CLFKk1sY/6HXQEVu5oy9FwWxVUj?= =?utf-8?q?g0XTGplVgdhRHYqSWs3q7hqJGLiuOwy7gT/1Amy2zz7naM4akKCZjBW35nVqplbsY?= =?utf-8?q?UZ9Wjc+/iSpxMqCvznQHruqku8k5Wj/+IqadK1DtKqtmxYWi44HaeQPef2O9uV1/Z?= =?utf-8?q?BpmY8mJ5TAnQjY0smRWsE1iEIz9JRgwonEg0shEGnBklnFzkZoK8dCsMJMLM0mye/?= =?utf-8?q?Hu6NO1Q9fD/H/sIXfv9BKyRogw6Ua7c//u5UdMJTu+ON1jIur+c+yNi7dUSLWVpTi?= =?utf-8?q?NrOc1K0bE2txSAYOZAgwbpVpUZT4OJluNqTb5+p9evx4O0aPKnuIPZJkVh8eSNkcC?= =?utf-8?q?XQ72fIMiADIn1nCcaoPaxQseDYaCWzlOWNJR15jmkm0K+MQzQ0znfSc20yYSnuNvW?= =?utf-8?q?Qo5qsZ9kI4dyUgtLgHl8EX64W7qP8XBr/DCLrRFtnHHAfQe2zc0C8CHs9d69DZsf2?= =?utf-8?q?5KKwcAs5Id1ecopPH/bXuxc9e91rpwcgEF0AdPYts52MF8EhFqW652Dn5XNM+bcT0?= =?utf-8?q?fIft/yej6Ysq6W9Y5MDnKy167NTwSQB4jRWECUKG18wqRHHyw2orB7Aiv9fJmUeqh?= =?utf-8?q?euoHTKawt6RvICE5j+L30hGCaBDdR4Uo/Dpzr9iV043rf1q+LL9Ol16g3pfdqwzdq?= =?utf-8?q?BDInX3Htzhi2ifTKZPZCLPZcmH4RGjcpj+HYd6zsaEyI7YD87f1EDa2UXOsbxdLGN?= =?utf-8?q?8b/A6/6ZSsfhfopbllkvWut3Nrbi9liCtBCGve31RADh1dPaq6giOFgogbPpNPx+7?= =?utf-8?q?RAiB90WQ77mMXpgzDRLYLhxveTtuVRJt12xAYBhO30nC8WBnZ/hrXxUZSGIsnjuud?= =?utf-8?q?Wo5WqC426aRYYapgKedjkVV5TVC0kAYiGTwTlxvEO2tYs/xn896b6F9izzgKRYrsc?= =?utf-8?q?NiiiOt8KChm7/gD6/C0/lxD84ln1kSKE4UtoUwg/GTegxOumyvh7YbUEeW1lilwal?= =?utf-8?q?ZAC1uwDHaTK+NjPWYPUysxLMs6n7qkQhPQ=3D=3D?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0b5e4f8b-2c54-4bc5-b32d-08dd5c4dbb3e X-MS-Exchange-CrossTenant-AuthSource: SN7PR12MB8059.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Mar 2025 01:25:08.1537 (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: xXHjYw+2uExiCM/yJd5vglKTFsbsKKTAmFZkIA7zcAgxSA2FCnzzm1lLEjROQ8+mUfnViWnBWmDZM3AJ/HcPhQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB8368 Oops, forgot to CC rcu@. -------- Forwarded Message -------- Subject: [PATCH v2] sched/fair: Disable DL server on rcu_torture_disable_rt_throttle() Date: Wed, 5 Mar 2025 20:10:13 -0500 From: Joel Fernandes To: Ingo Molnar , Peter Zijlstra , Juri Lelli , Vincent Guittot , Dietmar Eggemann , Steven Rostedt , Ben Segall , Mel Gorman , Valentin Schneider CC: Joel Fernandes , stable@vger.kernel.org, Paul E . McKenney , linux-kernel@vger.kernel.org Currently, RCU boost testing in rcutorture is broken because it relies on having RT throttling disabled. This means the test will always pass (or rarely fail). This occurs because recently, RT throttling was replaced by DL server which boosts CFS tasks even when rcutorture tried to disable throttling (see rcu_torture_disable_rt_throttle()). However, the systctl_sched_rt_runtime variable is not considered thus still allowing RT tasks to be preempted by CFS tasks. Therefore this patch prevents DL server from starting when RCU torture sets the sysctl_sched_rt_runtime to -1. With this patch, boosting in TREE09 fails reliably if RCU_BOOST=n. Steven also mentioned that this could fix RT usecases where users do not want DL server to be interfering. Cc: stable@vger.kernel.org Cc: Paul E. McKenney Cc: Steven Rostedt Fixes: cea5a3472ac4 ("sched/fair: Cleanup fair_server") Signed-off-by: Joel Fernandes --- v1->v2: Updated Fixes tag (Steven) Moved the stoppage of DL server to fair (Juri) kernel/sched/fair.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) sub_nr_running(rq, queued_delta); /* Stop the fair server if throttling resulted in no runnable tasks */ - if (rq_h_nr_queued && !rq->cfs.h_nr_queued) + if (rq_h_nr_queued && !rq->cfs.h_nr_queued && dl_server_active(&rq->fair_server)) dl_server_stop(&rq->fair_server); done: /* @@ -6056,7 +6056,7 @@ void unthrottle_cfs_rq(struct cfs_rq *cfs_rq) } /* Start the fair server if un-throttling resulted in new runnable tasks */ - if (!rq_h_nr_queued && rq->cfs.h_nr_queued) + if (!rq_h_nr_queued && rq->cfs.h_nr_queued && rt_bandwidth_enabled()) dl_server_start(&rq->fair_server); /* At this point se is NULL and we are at root level*/ @@ -7005,9 +7005,11 @@ enqueue_task_fair(struct rq *rq, struct task_struct *p, int flags) if (!rq_h_nr_queued && rq->cfs.h_nr_queued) { /* Account for idle runtime */ - if (!rq->nr_running) + if (!rq->nr_running && rt_bandwidth_enabled()) dl_server_update_idle_time(rq, rq->curr); - dl_server_start(&rq->fair_server); + + if (rt_bandwidth_enabled()) + dl_server_start(&rq->fair_server); } /* At this point se is NULL and we are at root level*/ @@ -7134,7 +7136,7 @@ static int dequeue_entities(struct rq *rq, struct sched_entity *se, int flags) sub_nr_running(rq, h_nr_queued); - if (rq_h_nr_queued && !rq->cfs.h_nr_queued) + if (rq_h_nr_queued && !rq->cfs.h_nr_queued && dl_server_active(&rq->fair_server)) dl_server_stop(&rq->fair_server); /* balance early to pull high priority tasks */ diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c index 1c0ef435a7aa..d7ba333393f2 100644 --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c @@ -1242,7 +1242,7 @@ static void update_curr(struct cfs_rq *cfs_rq) * against fair_server such that it can account for this time * and possibly avoid running this period. */ - if (dl_server_active(&rq->fair_server)) + if (dl_server_active(&rq->fair_server) && rt_bandwidth_enabled()) dl_server_update(&rq->fair_server, delta_exec); } @@ -5957,7 +5957,7 @@ static bool throttle_cfs_rq(struct cfs_rq *cfs_rq)