From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from YQZPR01CU011.outbound.protection.outlook.com (mail-canadaeastazon11020117.outbound.protection.outlook.com [52.101.191.117]) (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 6E95729408 for ; Fri, 13 Mar 2026 12:18:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.191.117 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773404288; cv=fail; b=rJvZbwwv56AdNUpOyTDIuTBQGwbK5Cg/MEq35YIGLFQ9DgWRJ1GTT2qocGpBC8T0y6NP6M6ltASs+qA/nrndwkxk6r/OrRlY9hNLqRfTTABMdXUFgtUrCxEP+qGPICrooIRQaSKwUdvVNzwWjd2vIWULxsXUve37j++lqsHkHV8= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773404288; c=relaxed/simple; bh=kstUZexv/LQUQzeWG5Qr8VAFN9H/c7NWHcZWipK1eLc=; h=Message-ID:Date:Subject:To:Cc:References:From:In-Reply-To: Content-Type:MIME-Version; b=kIB3hIZkUU54W6OA+mi4oZ1gneGK3MyHecueWZBGwLrgd5dq5UxCoyiakXs4P3ghXu90Ok2qqZKCCMfMpTMDPWBEae1jJXioBJFaKz/D4c9sezydqaqpxrUNVVq27Dsy13y234vvltEMey0YAGyq1lboUiSFyINNp97A0fe1J74= 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=G0Lv0o20; arc=fail smtp.client-ip=52.101.191.117 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="G0Lv0o20" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=XkC/ZL3zWkRTBHcaMNbwHaMx72STpwJrPHC57bxOHFkJR5Yme3mSnWrhP+ULNnbQKgKk1F1K+9tcSqz0Yhh8L0A7B4O2TiX7aOQRaohy482KBDdoIwBLuagdEgjlu/lMtzFfe8o/B2MzIIPQXSLIkuSM27swioNyWgt6FA2mZ6futA2sSaLkXYjBbHideFppdxD1HhBBxYSvTKTsSLWK+xyxDBQMOKZUQW1C+kp8tg0FHLSAfZIlQoSkoKnqT4SJX2GDtm7sXVT+UGZrqBfglepFssX6/rwX7bH8jLa+tbLxn2C1bnea7i5ap4HxY0pLEKyJhY5/3vQ+wZZvU2peRg== 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=tujFoyxP7tt/+xnUQcMmQT+EoDJKVYCTkbA99XilAGo=; b=ZoQY78ZKziAEidV1APMRU/QEFIfpihqHWDd//7QBUCMwcdpCQPNGgVSRBtnapxILp/NK6Zr9svYBoeXlJ3ibAB9cLJ7LwcyznP9Dnsm46vTjRMs+5SmMSs8xJoF7yEusoULAmZo2KHY0ca63SBSAyQ9pDmFwXOgirmXMtRQ64hAK7XyZpiXo05TAX5wy1Uo5JjSZSKVcspfopcYT/GRyAsVC+gXZWfzq0naBr0zsygtK3/eqq5q0HreQEeljllcbWY2gKktGZcMPvbbyYLyRvI/lMnXNAo6M3sXHAuSeytmjBOnrX5f0AXjptfMEkNiGHjVfmaZpKlrboqVyohWVTg== 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=tujFoyxP7tt/+xnUQcMmQT+EoDJKVYCTkbA99XilAGo=; b=G0Lv0o207pgtZO2njZGljdZF9sReY9cKMSo1ehw//G5K7VJNSfj/JhFFWmF8z+Ssdeg4CA8QwVLcpdH1n74T6f4VVoPKCUGtLfy2rg/xVTqqdeP0voy6+tkGBSGTaYVzdxqDesHTeEz3bif6D8InLEa94dw+4JHFLKu9OYBZiYJ6z1lzEdiAJ0Qv2GdBR4A9DLfuYlSy4qhbILVFEyDWzyqozhRr9KVQ2EH9H0dXWMEuadmygkWlBYrTpOXv08/0DClO6mWRaiaOzptFdoXnu1eRB/e9bVFtQGTHM1jxsm6S6UNqykuzAgmJbr2HHpExVH2lbxr+/BTfXugI1SWWIw== 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 YT3PR01MB8114.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:9b::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9700.17; Fri, 13 Mar 2026 12:17:55 +0000 Received: from YT2PR01MB9175.CANPRD01.PROD.OUTLOOK.COM ([fe80::6004:a862:d45d:90c1]) by YT2PR01MB9175.CANPRD01.PROD.OUTLOOK.COM ([fe80::6004:a862:d45d:90c1%3]) with mapi id 15.20.9700.017; Fri, 13 Mar 2026 12:17:55 +0000 Message-ID: Date: Fri, 13 Mar 2026 08:17:57 -0400 User-Agent: Mozilla Thunderbird Subject: Re: [RFC PATCH] futex: Introduce __vdso_robust_futex_unlock To: Sebastian Andrzej Siewior Cc: Thomas Gleixner , =?UTF-8?Q?Andr=C3=A9_Almeida?= , linux-kernel@vger.kernel.org, Carlos O'Donell , Peter Zijlstra , Florian Weimer , Rich Felker , Torvald Riegel , Darren Hart , Ingo Molnar , Davidlohr Bueso , Arnd Bergmann , "Liam R . Howlett" References: <20260311185409.1988269-1-mathieu.desnoyers@efficios.com> <87eclopu0j.ffs@tglx> <20260313121259.XYZi8U-j@linutronix.de> Content-Language: en-US From: Mathieu Desnoyers In-Reply-To: <20260313121259.XYZi8U-j@linutronix.de> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-ClientProxiedBy: YT4PR01CA0054.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:111::11) 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_|YT3PR01MB8114:EE_ X-MS-Office365-Filtering-Correlation-Id: 3d0b91de-8ed7-43ae-fdde-08de80fa8eac X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|376014|7416014|18002099003|56012099003|22082099003; X-Microsoft-Antispam-Message-Info: SK2b3WOs4svrLqdOxiAlQl7azd22TZooHPIBSn30ohhKx00C/5WAts0CN9+q+5vG6nNWvRqZFvbMKA4EH42NqlP8RfYH8Cs4dOeN3c5jUSJKeETJIUv8OnzQ1CCs4c7bzxv1howQ/sFKdc4FnW5fYdjzdl3px3vJRHZp12db0fkO/9vsU9hMxJrrtzM6duXc1SPCyNjuq8b+esJ/aC+0hmSOlAsMFMRw3aotayQ8ygeg3vgvfQaEAuBrvfGMae76E6cttRcLKn72932I0mff4bVcrCg7gP8fPwKJAHTh81xjwSpYmDsL/Gae4BKgRcAGGOW8L2FDb5RCTM0yWXgcoVs1UAOedrNz7ojB6u+6K0/087r/v913fk/AY2XFKxeNNNZGUZizg+v7GdTolQ6aszr1H2JzrcfFb6ZtIknI7qnpUM8EPNG07nl6S8u3JuRREDj7+LDo1quA0x59SGrZ7286n8cGVABa40YIuQdeDyC0oKhtyKhydUtIrEgZDJMAAfutQ4uCI5Gas2Vfmgx1sP/qa/Rn6GzH7yuqpCHPlb/B++NBx1HFKvUJGtfLt/fxDHL/NXPltpHzmW/muI6XZleooMdd9Luq/4DwvVWMLA5AVwyEdwzOS/Hs1z8yrK3+bxHGQj/nU9kSkFj0qRhLjzXzsAriKdjMErAv//ArR5hQ2XTl6SHTNRxwdnG4ojft 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)(366016)(376014)(7416014)(18002099003)(56012099003)(22082099003);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?WnFIU2lHWnJmUDVSZWxtY3lYdUVpeGZNUWZ5OTlENFpKUTBkSit1anY1Q2FJ?= =?utf-8?B?Y2duWVBRWWZ2TENBNHFJRVFUQjJrWXBNeUlUb05CM0laSVNwcnQzTXNxSXFX?= =?utf-8?B?MVgva1hERVNwZTJkbmg3cWVlMit2dE0vMVJDa0JhL3JhNUFlUkNnLyt0Vkc3?= =?utf-8?B?UXJERW8yNEd3M3NuaWlKbGo2Z2VtREZKYTE0TmJrZGpjdXlncDlHQmRZTTBD?= =?utf-8?B?RUxMRjJldGcvQ1hWS3orSjRySXRVR0QwaHVpeUh6UGphQzhQQmNhdGRhT2hk?= =?utf-8?B?a2NpSXgwQWl3WlpsWVhRTWRJTmJaWUZvOWRvNTBwVXV5bGV1RERlc01oQTF0?= =?utf-8?B?bHU5NmNTVzA4bEhNWitjamF3eitCbjI1ekJ6VGNEZmIwOXRqK0s4ZkZ0WUlS?= =?utf-8?B?TUNlMTdtb3drTTM0WndqdFVtWDYvaUQyemRUeHdPUmU1eVBUbVF5Y0lJQXJB?= =?utf-8?B?a09GVkJmeW5oeXVzTlhvcEV5WE42d0lUQ1A5Y2VyNHBFUGtmZ0N4OU1CSm1L?= =?utf-8?B?OTlFZlVmNlAwUThPKzdoMjNGRFd0QzNPMkRYaUMwRE9sUWk1RXkzVWVha2Vm?= =?utf-8?B?RGh2aXhVdXR4UC9CWW5DdlFaSTFJTmVBV0hCV1V2QkVCdEhINFpDZlg2SXAx?= =?utf-8?B?U0M5OTc1ZE82clV2VWNSVER3a2VLZCtmWHBSdiszb2svYjlycFhMVkFiS21u?= =?utf-8?B?eHVDcG5ZYnI4QnZiR1piL2NxTG1CTFJsbm01a2pEUm5ZYjY4Vnc2SUgzL0tp?= =?utf-8?B?V09yNFE2UHN4YlBUZi9xNk5OaUY5S09hYkJWclFzb2FQSng0S3ZPVDFMR2RU?= =?utf-8?B?QmRPbUZPTWo4UGoxbGNHN0JKY2h1U2NBNVJEdFc5WGxUTVRmcjVWWDM4SC9T?= =?utf-8?B?ZkNCU1BidjVjQ21NYnNNSXdSZ25XbGc3Vi84ZkNQNG1JUUdBT0NUUkhpTzFr?= =?utf-8?B?UE9IaGZUaW5ZRXVnNWc0NE5Ec1ZIR0I4Q1M0bmdhd25Ha1lZZXJ4bXBoMHB1?= =?utf-8?B?Wk9QNm1DWjdiUHJ0NWVtZ2xMY285Y3JJL3FYT1NkRmo4NDArUWtRWHJxS3Qr?= =?utf-8?B?MnM2QVJMdXNIOWVMaHNaRWRqZ2MzNWVkWXRTSkFmSVBYSTRiOEpUNHg1K2RF?= =?utf-8?B?TlIvcWVYUHJzelhZYmhqT09CbUo0V2hvVmFDSkJ2S0tSY2FLOG1INFc3NVFt?= =?utf-8?B?czMxYndJQ0VGREg2NHVVelBKNnhiK3VmSm5jNlFjbXVnOHRaUTl1NGdHUjh0?= =?utf-8?B?WFRsVW1WTHJJcFFSRXRJbHIvR0ZWcitXSUpGdmZsVTBvdmNsSEE5T1ViZith?= =?utf-8?B?cTFOTWZLUVp3OWY5RlBmR1g3cVlTWE1QWFRaNkJUcXhjMDNuUGJKa3R4bmRG?= =?utf-8?B?TlNVWFpVSW11WWVRNzdHWlorNEhRa2E3K1RVNEw2VHhLb2NBQ1Q1SVB6cUZo?= =?utf-8?B?U2RWRVV2TmI4dUJHTVl1RkdjY2lrRVY1Y2xYSmppU3lhSURqajM1Yks3UlVp?= =?utf-8?B?bUZXcnJNeTlPaU1ua21jNkJoamtCOE1DVXdramZ5WFpvcVZraUEvWjQxRi9u?= =?utf-8?B?Uk1vdU11L1FjSm5oZEd5MlQ0YkFLdTV1WmZrQk5XR3hzVDRYU1JoSnkyRzhl?= =?utf-8?B?azBUZVc4bjZMcjgxcmVzWnFYRXROOXlnbjZrZ3NSMGRLLzVwWGU4b3I3WVVS?= =?utf-8?B?U3l6SDBjdVd3Y3hXcDQvWmF5eVdUdklHVVF4ZU41MHB0WWRmUkgvY1JOZGRj?= =?utf-8?B?Y2VBdHNvSE9sRmVDNHEzdmZScEs1WWNRdUh4NXZ6cEhJYVRkbWRKdEdMNWpa?= =?utf-8?B?M0xXTEs3MnFPQlp5RWtnS1FEQnhqQlhGWitBdjFFWVZ6OVlLMk4xMWlhajdw?= =?utf-8?B?YzNVZmVIWlFqamxmdVBRT2k4Tkt5NHM4aFBFeWRaY1NpUUdUQWhtZnN6WVN2?= =?utf-8?B?NHFvcHFDSTdiVENBTDUrY1hBZlQyeXFPRUV2YUpsVndVSkhiVGpiVVMwL1ZD?= =?utf-8?B?L245T0FZWlEvajNGZDlVS3M0NmhVT0t1NXJzenlhdnF3MjJmM2tJWG4zZURy?= =?utf-8?B?NHF2YjV0aWNtd2swY3o1eDQ0QUVRbGNDN3NYakdSSCtNdlFVSDkxNXE5Mk5B?= =?utf-8?B?Rkh4dmxTcXFJWWhxUUhoNlRlNGFtQmVSQlZDM0h2b2F6Y0cvSWJhWVF4dmJT?= =?utf-8?B?d3ZKdUdYOWFFTDI1bmpZWWt2M01YUi9yYk12REZwSXNSMW5DUW9BekpIcjh3?= =?utf-8?B?YjFrVWMzc01oRjZLUUNKWTRhNjBzMEpwaEtHQ05lb25pNzRnLzRjQ1dFMlBm?= =?utf-8?B?QmdSS3RDZWVMR0hsMWllZGo0QmNZSlM3OEM5Nk5kZXowTzFhSktPMi9USVRy?= =?utf-8?Q?Wze4fLejuF7u8RGthoU+n0SAhbgR28XH/RVf5?= X-OriginatorOrg: efficios.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3d0b91de-8ed7-43ae-fdde-08de80fa8eac X-MS-Exchange-CrossTenant-AuthSource: YT2PR01MB9175.CANPRD01.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Mar 2026 12:17:55.8530 (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: tRoAnHX+QEPWhip5d/WQbncEQ6QH2yWHYa63qFKn04CgEODMkUDKRjMorfXXgewNBa1t3OyS5/yPN1IrxPdMkFcdCx3EnY5MUOGz9DaOm7g= X-MS-Exchange-Transport-CrossTenantHeadersStamped: YT3PR01MB8114 On 2026-03-13 08:12, Sebastian Andrzej Siewior wrote: > On 2026-03-12 18:52:43 [-0400], Mathieu Desnoyers wrote: >> On 2026-03-12 18:23, Thomas Gleixner wrote: >>> On Wed, Mar 11 2026 at 14:54, Mathieu Desnoyers wrote: >> [...] >>> >>> TBH, all of this is completely overengineered and tasteless bloat. >>> >>> The exactly same thing can be achieved by doing the obvious: >>> >>> struct robust_list_head2 { >>> struct robust_list_head rhead; >>> u32 unlock_val; >>> }; >>> >>> // User space >>> unlock(futex) >>> { >>> struct robust_list_head2 *h = ....; >>> >>> h->unlock_val = 0; >>> h->rhead.list_op_pending = .... | FUTEX_ROBUST_UNLOCK; >>> >>> xchg(futex->uval, h->unlock_val); >> >> Here is the problem with your proposed approach: >> >> "XCHG — Exchange Register/Memory With Register" >> ^^^^^^^^ >> >> So only one of the xchg arguments can be a memory location. >> Therefore, you will end up needing an extra store after xchg >> to store the content of the result register into h->unlock_val. > > But can't we also assign a role to pthread_mutex_destroy() here? So it > would ensure that the futex death cleanup did run for every task having > access to this memory? So it is either 0 or pid-of-dead-task before this > memory location can be used again? I did propose this exact approach recently: https://lore.kernel.org/lkml/bd7a8dd3-8dee-4886-abe6-bdda25fe4a0d@efficios.com/ but it's a far reaching change. Then I thought of using rseq to identify the critical section: https://lore.kernel.org/lkml/694424f4-20d1-4473-8955-859acbad466f@efficios.com/ And then Florian proposed to hide this under a vDSO: https://lore.kernel.org/lkml/lhufr6ihelv.fsf@oldenburg.str.redhat.com/ and here we are. Thanks, Mathieu -- Mathieu Desnoyers EfficiOS Inc. https://www.efficios.com