From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from YQZPR01CU011.outbound.protection.outlook.com (mail-canadaeastazon11020104.outbound.protection.outlook.com [52.101.191.104]) (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 D96DD15098A for ; Tue, 21 Jan 2025 11:49:34 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.191.104 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1737460177; cv=fail; b=orAglUqEqd64dsMIkAjmBzrbwSyFR9lw91bz767JcaBX5CmEK0DL7VfKnudQH5dnFk2W5htx3qAcUvbUpB69mT0Ll/rdYTdO5fsmYrZ4s+/0SLl3Fc/Gwutw2Wvyg1SKVCMMfk4fKtcsuc9AlR2Nt88SQro5VXtvUMwwJuChza0= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1737460177; c=relaxed/simple; bh=XktHVzNWONLhD161yeElTyJpPIjOlVgYgHXEZEK9nRs=; h=Message-ID:Date:Subject:To:Cc:References:From:In-Reply-To: Content-Type:MIME-Version; b=l2H9w99bXons2R3suoBVIM6fAidQYmGgh+3z1zJnVO3B2IWEVadUy16iaZF+PvdbnbeBJTE2d45/ONiizihlg7EEic8WeF8k+HFLbZq7pLlkRJr044P9Dhoca7ZQ6MAck+XpcBI9mfkpczzLLrwI2tu/JhJnO8Q20A7KY3bAQNQ= ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=efficios.com; spf=pass smtp.mailfrom=efficios.com; dkim=pass (2048-bit key) header.d=efficios.com header.i=@efficios.com header.b=EKY2Rhxb; arc=fail smtp.client-ip=52.101.191.104 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=efficios.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=efficios.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=efficios.com header.i=@efficios.com header.b="EKY2Rhxb" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=HNCBk2EhkoW6vH9UPKUI3xiqJPT9ubgqJWeP7F+EpFwWEjTJaF8Eh7detvkzNIM7ikiMiiwUm/1y+oPLTKPsdVjf9pfTR8gsxOKTlUA31swkae51TPi3el/XeNPewR0qE8HDSyhdx2HCp6VRwWJ0JD/Uoi8KenoxKm+8y0i7xFN8uuZ2pdmZK3irR5ymEKeYD1I+VTqoefbD76+Vxt8EVmfADuhQbM/D71WNbh0YLNHqSCnpKfhBJC/RtG7vOwN2oNKuG8mDrzukQAEfWCm4ZSS95VVqmqMma2aJ+fpvVofR26wcwbH7V1igDR1fahg1GuNYjiXgsI0dAnohLv9QKQ== 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=HUvj5RJ6D8wTw/JFu+jAxvgZEQjC/Q7atLbDMiSQOxY=; b=PPeSdEoyOnrYlmb7FJzwMXICrc73Y4a/16VJug0PoUPKTzzTe+5vSE9fP5qL42SubjsuBhcvrLDgnhr747F1BCTVnWvLug2oEzoRJ0e/XrT7ShjvJSd7sZvExzojDQGak4FfmJtnTb6PnGLI4sOXO3GfK116UUr6l2hiO7EQqWejrdrEKigbkPYl0PxDDRBHkoUGIrdl4s8ggXYvqptcRpV2+z/k/rY9UpcbWkqeVI10KjfzzgHgT8CvwXGQtsJTZMjs0VeB9Bp6KyDvTheedltddvImepXUayroY3Okm0aC7grfUn3nWmYUliyaXEdJNhV7w1kIORan/LNzsvloYw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=efficios.com; dmarc=pass action=none header.from=efficios.com; dkim=pass header.d=efficios.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=efficios.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=HUvj5RJ6D8wTw/JFu+jAxvgZEQjC/Q7atLbDMiSQOxY=; b=EKY2Rhxb8mnyOcTjpRgx/QIlQavK6R7QGybuhE3Exw0tP++E3zPyornv1+6WD/hTPgjoSqQuiBl9WEaW+uIxtj8zCAq3de44SRi59VT0OexQ7EEPdtEe3YRsxmZ9Z1apiGwwSGAiRBHkXmYpyx7wltoAqfYcDPru397T4KZcW+N8vwmowgvA0NDpAh3MMAs5kbX/XRzFKz6sJ6nIpMAJlnFxDuFYVb45Yo23kisbsOhWBkFlU8+1De6m8ak7ysJ/YOuV/DYhAOxO4fBkRPjR9pQ4n198nB48Mvc8lPXAZ/WtrQPNRvXt5/w11modE1/l8IRn0Lh7lRw8xMqaL2Npgg== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=efficios.com; Received: from YT2PR01MB9175.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:be::5) by YT3PR01MB5954.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:5f::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8377.17; Tue, 21 Jan 2025 11:49:31 +0000 Received: from YT2PR01MB9175.CANPRD01.PROD.OUTLOOK.COM ([fe80::50f1:2e3f:a5dd:5b4]) by YT2PR01MB9175.CANPRD01.PROD.OUTLOOK.COM ([fe80::50f1:2e3f:a5dd:5b4%4]) with mapi id 15.20.8356.020; Tue, 21 Jan 2025 11:49:31 +0000 Message-ID: Date: Tue, 21 Jan 2025 06:49:26 -0500 User-Agent: Mozilla Thunderbird Subject: Re: [GIT PULL v2] Scheduler enhancements for v6.14 To: Ingo Molnar Cc: Linus Torvalds , linux-kernel@vger.kernel.org, Peter Zijlstra , Thomas Gleixner , Juri Lelli , Vincent Guittot , Dietmar Eggemann , Steven Rostedt , Ben Segall , Mel Gorman , Valentin Schneider , Shrikanth Hegde , Tejun Heo References: From: Mathieu Desnoyers Content-Language: en-US In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-ClientProxiedBy: YQ1P288CA0012.CANP288.PROD.OUTLOOK.COM (2603:10b6:c01:9e::6) To YT2PR01MB9175.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:be::5) 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: YT2PR01MB9175:EE_|YT3PR01MB5954:EE_ X-MS-Office365-Filtering-Correlation-Id: bf2ae3ce-d57a-49ef-51e6-08dd3a11ab1a X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|10070799003|376014|7416014|366016|7053199007; X-Microsoft-Antispam-Message-Info: =?utf-8?B?QVorRTBWeFo4L3dGRnRRZ3BoRFJ2azBHVEIzSmszREZHaFBVTVp5WnlwN0Qx?= =?utf-8?B?b2VucHRXYS9ETXJ2NTV5VTc5bHMzdVdVVTN1T2haa3JBK1AxZ0c5N2VJSHdO?= =?utf-8?B?T0JDWi9HUzR1UXFTUTdmTmJzSVZyOWNnYmF2MXBUL28vdW5GOVBqZS9oMGV1?= =?utf-8?B?bk9DQWd0WEJOQjBkWThJSXk4UDA0Yll0NHhpSXoxSkNXY0o0TDJ3S2Fzblli?= =?utf-8?B?OUllK3EzK2RjRzVjMlpVcWpVMU5Ta1MzYWMzTGlxSGtzV0wralpTckJnNEdX?= =?utf-8?B?M3VXZkVNVTZ2WWtOck9GdXRLZWNoSEVmeGt2aDRnRU1aMnFKWXpzaGtzdDN1?= =?utf-8?B?N3ZRVUx6RU9vQ0JRd2x3aFlxMC9oeTRLRkVGNWR6TXNEUWdvWmtvbTVwK2lG?= =?utf-8?B?YVlOUHF3OUwzWkRmdHdiMzlTK3JFUlM0V2x2dC9ITEE3VkpCYUJwYndESERS?= =?utf-8?B?aVU5QXRmT0tnWDBwUExZVmhXOU1RYmIzVGRIbGp3ZzFhV1lOOFJmNE5pZ3hu?= =?utf-8?B?UDM4djcxYTUzT2E5eEtEaGkyZlBlazdmNVFqcDk0Z3hiamVrZEVWU0JnTUxr?= =?utf-8?B?T2lOL3lVSE5BOU5ZSWJpd0RtZjQza2ZhU2VHSk0rYUgybzRYQ2xEWElZZkl3?= =?utf-8?B?c2ZISi9QaWNjaGFzZGxNUkNPK3k1YzRKNmdzckhvOFVud2EzTE5rZUdBeUFz?= =?utf-8?B?N2ZCSkFucTYybkRQYm9GcDUwUUFtMytBM01tWTZhWDJGT1d2eThNNEFtWWpK?= =?utf-8?B?VkQxeGRaY1IwU1E4SkErMElwN1Q0dWM5bGpZT0s5L1BWQjRmbGhQTTljZVNC?= =?utf-8?B?aVBqTURVWkRNVkVzV2dSMlM3QTA5Q3ZqVlBDWUhvTWx4b09uRjg4aFhzbVow?= =?utf-8?B?TVh3RzZRNS9vZXVJUmw0eTVWZG41d2RhOWxvQWhqa1UvSG9CSDVlYjQrcFJI?= =?utf-8?B?S2VaZnN0N1F0aUhZdHpCSGpoVko0bDM4S2VPTXBYY0hqUk81YUV2NWFiUVBh?= =?utf-8?B?dnUvbGd1NDd4UnZXbGdEZTRRd1pvaWpCR1JsdjY5MDJBSWhNa0wzMkMxM3N2?= =?utf-8?B?aGQ2aXBOYVVnZ2xleWFRNFcrV3BCL3BRY0NEQ2loenVBa3JZU0gxaE5EUVJH?= =?utf-8?B?UDRTbm9KdXhSaGZyVXoxSHg3eUx1QVVmZWlpQU1kQzhVQ20vYkVSNmhKSmFa?= =?utf-8?B?bk5qTU9MeUZCV2Q0SjgxamZmeGZGUHZkV1ErWmw2T3VBbFoyeUZSbVZNQTAw?= =?utf-8?B?bVJaSitQOXhkS2FLVmlkSWtBZVF0UTlOZ1FiS2NQUlBXL1crdmVmT0RTNzRk?= =?utf-8?B?MVpHNXVlZS9VMGcyV2VWQlRtR0VtMHMvNitNTXFYeEFycUNiRmhVT010eHBy?= =?utf-8?B?Z2Fmd1E5Wm9zNEdrSmtRQ0ovcXZJZXl3czJRaVphWER3cVR5cDlJakYrYTR2?= =?utf-8?B?V0t0U3BCSkhzRXdFN2crV1N2aVZ4KzlxMzdGakF1MXJwdktTcEM2ZVhpS2lQ?= =?utf-8?B?NHdnS1BRZHFCUWcybUVGd0kvQ1FJL1VCMjJiTFNNQUVqM1F6bGZFRUZJMGha?= =?utf-8?B?eThNb3d4L0xSSldCN3V5aWY2dWtObWtuWFh0enhxV1NWeVVlVWkvQytaU1ZX?= =?utf-8?B?Z05aWmlXbVdWY0g0UjMva2RBRjZhb1pPOFBKZ3BlcEt2eHMyc2pLTSt6TUV2?= =?utf-8?B?dFp1djZCSmhlVUFQeWEyRVlZREpnODR1YWtkWFp4b0dqRk1oN0ZIT0h2dlFM?= =?utf-8?Q?EYw5Id0C+f6t/8lpUyirojDRA3OzjwdRBlgmhLY?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:YT2PR01MB9175.CANPRD01.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(10070799003)(376014)(7416014)(366016)(7053199007);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?ZDRacTloRGtaWmxRdnpkYWlUV0w2cm1uekVwai9LcmErdW1kcmZMeHJDYkE4?= =?utf-8?B?My82NGdHcGhEV1NGVnN6NDMxNWpIZDFLWVpJa3NDYjRWeWhadE1ibHBad1VE?= =?utf-8?B?R29TQm12QjZrNDZqb0NNRVMvcXQ4QmdRak0zRlVrSFBSSDVxSzBkU0hSQTZu?= =?utf-8?B?SUdFN1FzSWc3blVzSVNPU3VjeXh0Z1Zwa3I0SUhkWWVLb0N2WHlhT2tqTFpI?= =?utf-8?B?ODhnaC9QUWxaR0xnbkN0NTd1WWtsZi9wOTkyUXVoTjVRKzNSSFAxalB3b3pP?= =?utf-8?B?SmhVWTZUU0J4elBaRDdNQ0hkejBkem81b093RkNNT3RoeVNDOCtKbmx2TmpW?= =?utf-8?B?SEVoWWRFb0NyQmZtWEpxbmZjWVhkK3YvaEpxU1UweEZkTEhFM05vMWFIVTEr?= =?utf-8?B?K3dDOERIME1xRnd6TlkrU0VSNGZwSGc5cGowY0NEOUJlRGxEd3E0enhxMTRT?= =?utf-8?B?dDdyZ2ZHbFh1NllqT3hwTVM5bDZ6QVFYbWNtQTk5dXgxc05vVHdENjZrUHU4?= =?utf-8?B?ZnNNSDErWEhCVHN6aTFsem9tMUg3MkpUSk0zY0Uvc1F3NjF5K25TVWZud0RO?= =?utf-8?B?T2ptak1SRGtIUTcydU5lRkZCN1FsYUhnZStjdzYvZm04b0lyckg0S1FEcWl2?= =?utf-8?B?ZkNPR2tBY3NSQStucUpIOEtDL3JVSllCRy9IVUNCWHloUjVlSVA4VlBLWE8v?= =?utf-8?B?ekRLRGtZNDBrZ29nU1Frd0tVQWpCdm8rOEFSUFFIaHo2RWZrNlBpN0d0Rk9W?= =?utf-8?B?LzQ0ZDJhVEEwT1hnbHgyK1pHUXEzYmZiMW80OEZIV0twRUd3ODMyMUVTNkJl?= =?utf-8?B?MUhvakVSTmNlcmNEemVERFd0NzZZRFdpRGh5WEY2WkRkc1FpUHR0OGZrYzZM?= =?utf-8?B?QzlCcXkxeER2Ky8yamVTYUQzaEZ3eXhlbnRndUNOUUp1NlZjUVJmc1B4OTI4?= =?utf-8?B?Rzh0WVR5RC93UWVjVkVmVEpUaGcwV1ZaTExqcU04STMzVUkwWVBiUmZ5SlJJ?= =?utf-8?B?RHNyaHFNZjhFVTFXeHlpcjFxNjVnYVdsdlhpbGdnVDJ6Z1B6b01tdUtKQm90?= =?utf-8?B?MGJHK2lHZndUNndPL1c3eFNjYUx3aFFmb3V0c2hEUUdleWNoQlh2RjdydWoz?= =?utf-8?B?UXYzV0RCNmJVMi9DZEYwREF0eVFXZU1VM0taSERpNXUyWG5wSldmVmZmM1Nz?= =?utf-8?B?Z1lOZnVVZEZNdEhuT2lQcUZOMEhKOGJFV2dnblpuV0F5T3V2bkdaVktPRWJz?= =?utf-8?B?bjZ3OXNTSkNSNXpEdi9PbzdkdjcxWEFEVlUwTExDdDk5OTFmS0o1RnZPU2pR?= =?utf-8?B?UklSNUJqcDcvWURCajd4a2F3U0trMlBxejFlTXI1bGVTV3QxODVpcFd6SzVv?= =?utf-8?B?U2RDNjEwR2pETGhESlQ1TThzK1UzV0JpSWhmM095eGdSL1FOemNkdFVMK3VF?= =?utf-8?B?Z1l4VDJxS3l5SUk1clJ4dGVCd29OVmhKazAzMXJKVGx0K3N0dTMwY2Qvankv?= =?utf-8?B?WDd0TEhweG1lWW9pRmVmYmJtSHZXNERjQ1JrRVRRVEVIbHhlZTdBdy9EM25N?= =?utf-8?B?TUdncDNJc3h3VmpQNytaUTBiN0syaytJajZNOU1rc21XVnE1SGFHbVN1Y3lX?= =?utf-8?B?RWVwQk9EU3RMQmRPdVV0ampXRFUrZUlqWlUvYUxNUER1YitYWE4rVEZjSHRp?= =?utf-8?B?elVQZEI4R2dxSWN4YnVpMnRuTWVINGlIS0U4N3pHSmcyczk5aHViRmQ5M1pC?= =?utf-8?B?bExhYVlXMW91aUExclpTbEFueUpGbHhVc292M3ZMN1YwN2xqTlhPZlA4K2FE?= =?utf-8?B?ckRaaUxUWEp2cmVhbWJMaTJjcFNnTy9pdHhnb3NIajVySHV5T3VLa290QitW?= =?utf-8?B?UHdDb2J0dm1HS3RIOGpncGwycWZNWWVUN0hYMWY3b3IwR2laeEJObGRLSUJG?= =?utf-8?B?TnhMV0pTallrRktJek5zcUUrOGY1V3N0ZU1tVWluaSt4alhOUVdkK2ZlRVBW?= =?utf-8?B?bmQ1d0RrYzZkVThISmMyYjYxeks0QW5wRWZCdnQ1N25td0pnWUxVMmZOSVZV?= =?utf-8?B?ellwdnhIK1NXa1FPVTNiVml3YXdmV3J4N2pFRmUzR2hEMGozOHdjS3E2UzF1?= =?utf-8?B?Sm1ZVFNVV1hZb1cvVzJuOTJtaWJRbEJydkI2QWQyK1NqSUsxNy9mb2lNVFRw?= =?utf-8?B?RkR5RE5wMEVybUdRNVRhTlJqSEx1U3ZJbEtQRy9hUXYzbFVGVTlqVlpvS2hM?= =?utf-8?Q?9qYqZ2AT6htajgYTEo0qW9oUhpQBo6UYytk7uxw15c=3D?= X-OriginatorOrg: efficios.com X-MS-Exchange-CrossTenant-Network-Message-Id: bf2ae3ce-d57a-49ef-51e6-08dd3a11ab1a X-MS-Exchange-CrossTenant-AuthSource: YT2PR01MB9175.CANPRD01.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Jan 2025 11:49:31.7096 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4f278736-4ab6-415c-957e-1f55336bd31e X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: Kp/Xg5eBMPk5ap3K0BScWmFemo7IGyoTAAAn1oAhhpF216QDKKm+q0wyex+u2tfdt8ZZ07BbWkcDR8bxB8r4ztUZm8JCnFhLSpeLVHunvZs= X-MS-Exchange-Transport-CrossTenantHeadersStamped: YT3PR01MB5954 On 2025-01-21 02:23, Ingo Molnar wrote: > > * Mathieu Desnoyers wrote: > >> On 20-Jan-2025 12:07:41 PM, Ingo Molnar wrote: >>> >>> Linus, >>> >>> Please pull the latest sched/core Git tree from: >>> >>> git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git sched-core-2025-01-20 >>> >>> # HEAD: 7d9da040575b343085287686fa902a5b2d43c7ca psi: Fix race when task wakes up before psi_sched_switch() adjusts flags >>> >>> Scheduler enhancements for v6.14: >> >> [...] >> >>> - RSEQ enhancements: >>> >>> - Validate read-only fields under DEBUG_RSEQ config >>> (Mathieu Desnoyers) >> >> FYI, a regression introduced by this commit was reported by s390x >> glibc developers testing against linux-next: >> >> https://sourceware.org/pipermail/libc-alpha/2025-January/163993.html >> >> I've sent a fix here: >> >> https://lore.kernel.org/lkml/20250116205956.836074-1-mathieu.desnoyers@efficios.com/ >> >> The commit introducing the issue is in this PR, but not the fix. > > Indeed - with the bug RSEQ_FLAG_UNREGISTER would fail with an incorrect > -EFAULT return. > > I've applied your fix, and updated the pull request for Linus further > below. If Linus has already pulled I'll send a fixes pull request > separately, or Linus can apply the fix from email directly: > > Acked-by: Ingo Molnar > > Or he can pull the sched-core-2025-01-21 tag below safely on top of > sched-core-2025-01-20, which will result in a diffstat of: > > Mathieu Desnoyers (1): > rseq: Fix rseq unregistration regression > > kernel/rseq.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > Since I booted the scheduler tree on generic desktops and it was tested > on other systems as well and nothing appeared to be broken, I presume > RSEQ_FLAG_UNREGISTER is used only in libc syscall-testcases and in > specific applications? Nowadays, rseq unregistration is used by specialized applications (e.g. tcmalloc) which disable glibc rseq support with the glibc tunable and register it themselves. (GLIBC_TUNABLES=glibc.pthread.rseq=0) A recent glibc (2.35+) don't use explicit rseq unregistration, it's unregistered implicitly when the thread exits. I'll make a note to add a test case for GLIBC_TUNABLES=glibc.pthread.rseq=0 in the rseq selftests and librseq to improve test coverage when using a recent glibc. We have all the code in there to use rseq unregistration, but it is skipped when glibc 2.35+ is handling the registration. Thanks, Mathieu > > Thanks, > > Ingo > > ===================================> > Linus, > > Please pull the latest sched/core Git tree from: > > git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git sched-core-2025-01-21 > > # HEAD: 40724ecafccb1fb62b66264854e8c3ad394c8f3d rseq: Fix rseq unregistration regression > > Scheduler enhancements for v6.14: > > - Fair scheduler (SCHED_FAIR) enhancements: > > - Behavioral improvements: > - Untangle NEXT_BUDDY and pick_next_task() (Peter Zijlstra) > > - Delayed-dequeue enhancements & fixes: (Vincent Guittot) > > - Rename h_nr_running into h_nr_queued > - Add new cfs_rq.h_nr_runnable > - Use the new cfs_rq.h_nr_runnable > - Removed unsued cfs_rq.h_nr_delayed > - Rename cfs_rq.idle_h_nr_running into h_nr_idle > - Remove unused cfs_rq.idle_nr_running > - Rename cfs_rq.nr_running into nr_queued > - Do not try to migrate delayed dequeue task > - Fix variable declaration position > - Encapsulate set custom slice in a __setparam_fair() function > > - Fixes: > - Fix race between yield_to() and try_to_wake_up() (Tianchen Ding) > - Fix CPU bandwidth limit bypass during CPU hotplug (Vishal Chourasia) > > - Cleanups: > - Clean up in migrate_degrades_locality() to improve > readability (Peter Zijlstra) > - Mark m*_vruntime() with __maybe_unused (Andy Shevchenko) > - Update comments after sched_tick() rename (Sebastian Andrzej Siewior) > - Remove CONFIG_CFS_BANDWIDTH=n definition of cfs_bandwidth_used() > (Valentin Schneider) > > - Deadline scheduler (SCHED_DL) enhancements: > > - Restore dl_server bandwidth on non-destructive root domain > changes (Juri Lelli) > > - Correctly account for allocated bandwidth during > hotplug (Juri Lelli) > > - Check bandwidth overflow earlier for hotplug (Juri Lelli) > > - Clean up goto label in pick_earliest_pushable_dl_task() > (John Stultz) > > - Consolidate timer cancellation (Wander Lairson Costa) > > - Load-balancer enhancements: > > - Improve performance by prioritizing migrating eligible > tasks in sched_balance_rq() (Hao Jia) > > - Do not compute NUMA Balancing stats unnecessarily during > load-balancing (K Prateek Nayak) > > - Do not compute overloaded status unnecessarily during > load-balancing (K Prateek Nayak) > > - Generic scheduling code enhancements: > > - Use READ_ONCE() in task_on_rq_queued(), to consistently use > the WRITE_ONCE() updated ->on_rq field (Harshit Agarwal) > > - Isolated CPUs support enhancements: (Waiman Long) > > - Make "isolcpus=nohz" equivalent to "nohz_full" > - Consolidate housekeeping cpumasks that are always identical > - Remove HK_TYPE_SCHED > - Unify HK_TYPE_{TIMER|TICK|MISC} to HK_TYPE_KERNEL_NOISE > > - RSEQ enhancements: > > - Validate read-only fields under DEBUG_RSEQ config > (Mathieu Desnoyers) > > - PSI enhancements: > > - Fix race when task wakes up before psi_sched_switch() > adjusts flags (Chengming Zhou) > > - IRQ time accounting performance enhancements: (Yafang Shao) > > - Define sched_clock_irqtime as static key > - Don't account irq time if sched_clock_irqtime is disabled > > - Virtual machine scheduling enhancements: > > - Don't try to catch up excess steal time (Suleiman Souhlal) > > - Heterogenous x86 CPU scheduling enhancements: (K Prateek Nayak) > > - Convert "sysctl_sched_itmt_enabled" to boolean > - Use guard() for itmt_update_mutex > - Move the "sched_itmt_enabled" sysctl to debugfs > - Remove x86_smt_flags and use cpu_smt_flags directly > - Use x86_sched_itmt_flags for PKG domain unconditionally > > - Debugging code & instrumentation enhancements: > > - Change need_resched warnings to pr_err() (David Rientjes) > - Print domain name in /proc/schedstat (K Prateek Nayak) > - Fix value reported by hot tasks pulled in /proc/schedstat (Peter Zijlstra) > - Report the different kinds of imbalances in /proc/schedstat (Swapnil Sapkal) > - Move sched domain name out of CONFIG_SCHED_DEBUG (Swapnil Sapkal) > - Update Schedstat version to 17 (Swapnil Sapkal) > > Thanks, > > Ingo > > ------------------> > Andy Shevchenko (1): > sched/fair: Mark m*_vruntime() with __maybe_unused > > Chengming Zhou (1): > psi: Fix race when task wakes up before psi_sched_switch() adjusts flags > > David Rientjes (1): > sched/debug: Change need_resched warnings to pr_err > > Hao Jia (1): > sched/core: Prioritize migrating eligible tasks in sched_balance_rq() > > Harshit Agarwal (1): > sched: add READ_ONCE to task_on_rq_queued > > John Stultz (1): > sched: deadline: Cleanup goto label in pick_earliest_pushable_dl_task > > Juri Lelli (3): > sched/deadline: Restore dl_server bandwidth on non-destructive root domain changes > sched/deadline: Correctly account for allocated bandwidth during hotplug > sched/deadline: Check bandwidth overflow earlier for hotplug > > K Prateek Nayak (8): > sched/stats: Print domain name in /proc/schedstat > x86/itmt: Convert "sysctl_sched_itmt_enabled" to boolean > x86/itmt: Use guard() for itmt_update_mutex > x86/itmt: Move the "sched_itmt_enabled" sysctl to debugfs > x86/topology: Remove x86_smt_flags and use cpu_smt_flags directly > x86/topology: Use x86_sched_itmt_flags for PKG domain unconditionally > sched/fair: Do not compute NUMA Balancing stats unnecessarily during lb > sched/fair: Do not compute overloaded status unnecessarily during lb > > Mathieu Desnoyers (2): > rseq: Validate read-only fields under DEBUG_RSEQ config > rseq: Fix rseq unregistration regression > > Peter Zijlstra (3): > sched/fair: Untangle NEXT_BUDDY and pick_next_task() > sched/fair: Fix value reported by hot tasks pulled in /proc/schedstat > sched/fair: Cleanup in migrate_degrades_locality() to improve readability > > Sebastian Andrzej Siewior (1): > sched/fair: Update comments after sched_tick() rename. > > Suleiman Souhlal (1): > sched: Don't try to catch up excess steal time. > > Swapnil Sapkal (3): > sched: Report the different kinds of imbalances in /proc/schedstat > sched: Move sched domain name out of CONFIG_SCHED_DEBUG > docs: Update Schedstat version to 17 > > Tianchen Ding (1): > sched: Fix race between yield_to() and try_to_wake_up() > > Valentin Schneider (1): > sched/fair: Remove CONFIG_CFS_BANDWIDTH=n definition of cfs_bandwidth_used() > > Vincent Guittot (10): > sched/fair: Rename h_nr_running into h_nr_queued > sched/fair: Add new cfs_rq.h_nr_runnable > sched/fair: Use the new cfs_rq.h_nr_runnable > sched/fair: Removed unsued cfs_rq.h_nr_delayed > sched/fair: Rename cfs_rq.idle_h_nr_running into h_nr_idle > sched/fair: Remove unused cfs_rq.idle_nr_running > sched/fair: Rename cfs_rq.nr_running into nr_queued > sched/fair: Do not try to migrate delayed dequeue task > sched/fair: Fix variable declaration position > sched/fair: Encapsulate set custom slice in a __setparam_fair() function > > Vishal Chourasia (1): > sched/fair: Fix CPU bandwidth limit bypass during CPU hotplug > > Waiman Long (4): > sched/core: Remove HK_TYPE_SCHED > sched/isolation: Make "isolcpus=nohz" equivalent to "nohz_full" > sched/isolation: Consolidate housekeeping cpumasks that are always identical > sched: Unify HK_TYPE_{TIMER|TICK|MISC} to HK_TYPE_KERNEL_NOISE > > Wander Lairson Costa (1): > sched/deadline: Consolidate Timer Cancellation > > Yafang Shao (3): > sched: Define sched_clock_irqtime as static key > sched: Don't account irq time if sched_clock_irqtime is disabled > sched, psi: Don't account irq time if sched_clock_irqtime is disabled > > > Documentation/admin-guide/kernel-parameters.txt | 4 +- > Documentation/scheduler/sched-stats.rst | 126 ++++--- > arch/x86/include/asm/topology.h | 4 +- > arch/x86/kernel/itmt.c | 81 ++--- > arch/x86/kernel/smpboot.c | 19 +- > include/linux/sched.h | 10 + > include/linux/sched/isolation.h | 21 +- > include/linux/sched/topology.h | 13 +- > kernel/rseq.c | 98 ++++++ > kernel/sched/core.c | 94 +++-- > kernel/sched/cputime.c | 16 +- > kernel/sched/deadline.c | 119 +++++-- > kernel/sched/debug.c | 25 +- > kernel/sched/fair.c | 444 ++++++++++++++---------- > kernel/sched/features.h | 9 + > kernel/sched/isolation.c | 22 +- > kernel/sched/pelt.c | 4 +- > kernel/sched/psi.c | 7 +- > kernel/sched/sched.h | 37 +- > kernel/sched/stats.c | 11 +- > kernel/sched/stats.h | 4 + > kernel/sched/syscalls.c | 18 +- > kernel/sched/topology.c | 12 +- > 23 files changed, 720 insertions(+), 478 deletions(-) -- Mathieu Desnoyers EfficiOS Inc. https://www.efficios.com