From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from YT6PR01CU002.outbound.protection.outlook.com (mail-canadacentralazon11022091.outbound.protection.outlook.com [40.107.193.91]) (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 4EBBE3C3459 for ; Thu, 12 Mar 2026 13:13:57 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.193.91 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773321241; cv=fail; b=pF/9une6f6cUW+mf/gIzBnXzJQqyfZCAMVnxe7rPLh6RTWMO6UIJSCfNi3Y3+dbSerWcrjDigvp4fD18F6HuAGdBr8fGGXy3PmG3QGRGwZRirAZ0QVTN6fYpj5wbYNKxzOB3dJzlyw/IVSuUBN/OW+h2LmSyhIVzoyPwEt+7Odw= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773321241; c=relaxed/simple; bh=rHyp8h/oEV8OELicCY5vqXZvOPx9P8EsWpvYp0Svctk=; h=Message-ID:Date:Subject:To:Cc:References:From:In-Reply-To: Content-Type:MIME-Version; b=qcQBtf3aaKRxKin4iyn/K/DiYj7X3IKC0swD8x51Yll5MZ/6bVDR/SEuZMIfE/EWrn92Oi0VfKE/TIS98TlldSYiIdOpR/0BMSA+/ihXCt/T5u2jJNFB1VPv+W6Xf4RM7Z2jtVjOpuoz4hP4VcBJDEOUePHKA62Ta6fEwYX8DcQ= 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=dDi2uhWn; arc=fail smtp.client-ip=40.107.193.91 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="dDi2uhWn" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=aQlz5ppv5swrAK3YOkx72G6ZNGOFIygxkmOtE/ySOp7fhuCYU28R6iUPtciey6KKoM8PZAM6qHeivgRrrlg+0hbKuQzquBzvW5sYJsrzEanz4ilfnuHlKxGVPnGhZHVFW4+t0S3dNOVHUxt8vDAiG/5/1ybyn0k+hk2pD3znoCNrC+V02Fu2yL4ZlD6DwMAtbho/DCp1fTbh3W1zb9HfVyd2QS0u/u2kvuhc+aR3X1GUKxUP3c1wcgtd6BrFCiychgM7XQZ14Vk+duenhfc+EtUEV2mQRpgQF3jsTCeejrFSwepgFumhS7qNRjlVogYVAlqBW1PpVLOJchz/i0pPzQ== 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=Arbi+c+9/b+HumMz9ula4CNrn9aH/AmXJGULrGwKV3U=; b=p1Qg7e9XvuECKvdTAtu0cQHvVET34I6jy84EXYVV/KhdCfvhBM84TO8nYWLINh4aqJImIpYoHgdBsckKKD7aSuwk9XDslOh+4EWMaVEfXC/7UJqSbX4fXLLVgOaw/fPBWFUssq9YYPFedpblSQp3bW8SDqC9SGTHH8vntJitKckTY/K96sGX/JThxbFyt1MOOy9/x3iM19IvKRryTB4wfEoMAJXuJBV/WCjr/NN8R1qkxW5SZvlFFVjaBx1MD/5zdNUPrlHCltvfCr/OG+wzYn6K3Ez35GB1T+9WMVkTtAKrVTYU6CTP8WdpJPtryqpNtUU5W3flSomObkuVZAE1lA== 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=Arbi+c+9/b+HumMz9ula4CNrn9aH/AmXJGULrGwKV3U=; b=dDi2uhWncKbqnCHAIA3TRtLp1Nn2tRO9ffc/BJw3quU1eNA3C+OqFTTXmd2yk6c5wue2o+ObXoRXzC206fz0L2Fy5eajW3GtagXJ+ybSInuBzSBBJxQqUWWP+7dLdBfBo6lnEkFu4yAXfIOsd60ecDxTbtY+yJFE2sSE/1xi1KaWNyO3lFkoAsKtOMG29gb5PrtSLbWQ9ZjuSXVU2JU+CXwunORsBNt6Z7K0+LAaBL2u7nRoddC7xgNO5SMyqPZ8MB55MZntcLG6x+SU2VtaynY6+3yF1tje8j1pPE9qddsqgMU45b2LGkJ9zeapms4vLVOSR9OZcUVdStbCsWhtIw== 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 YQBPR0101MB6571.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:c01:4a::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9700.16; Thu, 12 Mar 2026 13:13:48 +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.015; Thu, 12 Mar 2026 13:13:47 +0000 Message-ID: <3c41d2d6-ccaa-4c09-83fe-f4c5ba898dbf@efficios.com> Date: Thu, 12 Mar 2026 09:13:47 -0400 User-Agent: Mozilla Thunderbird Subject: Re: [RFC PATCH] futex: Introduce __vdso_robust_futex_unlock To: Florian Weimer Cc: =?UTF-8?Q?Andr=C3=A9_Almeida?= , linux-kernel@vger.kernel.org, Carlos O'Donell , Sebastian Andrzej Siewior , Peter Zijlstra , Rich Felker , Torvald Riegel , Darren Hart , Thomas Gleixner , Ingo Molnar , Davidlohr Bueso , Arnd Bergmann , "Liam R . Howlett" References: <20260311185409.1988269-1-mathieu.desnoyers@efficios.com> 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: YT4PR01CA0195.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:ad::17) 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_|YQBPR0101MB6571:EE_ X-MS-Office365-Filtering-Correlation-Id: 3003ca5c-32e4-4f06-36a1-08de803931a7 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014|7416014|22082099003|18002099003|56012099003; X-Microsoft-Antispam-Message-Info: qKizpUQxRv5byKAHIAoInoaiPpujM6K+q18Hpu54AmDzXtWiJddPDTgEHbRjH/U9pK2hqsKfwL2wdjKOrY5lo9u2t2LuyXWh3E7dd2BXjdUwD+vSmv2w2ilISJcXaLQwOp5vYCNXnVKlcpKKCLrji7kRfGCYOFBsy7DtXyL7Ah792NWkwNWYwJNp1epygddxUSwCMg6hx3vIF0yeIagpkOpEzJ0gnNssFzWAVJJsytu38f5lR6fTLR/6gEwK8X/iFuh4jr7n7tc3e5F4KG8goaMWxQVUwMOWlJ2s8c3y+pq1QdOR2me5P2KHiwN0gm33WZ+vCt6AKwk5gkAeXMgmSF0KmMB3GhybXpgs+vmAXy3p3WxzUg7Ae66scU3sEtkz3Irw0qm8hjiuR94kId8HqDq+pnR1ZPQsYAZ+Lk4T3zW5r2hey1Cvm64MXVENrmfF8YmnVhyvLzOVhoQ+5ZRcr4AY5iu/fCwwQy8GSPEhqSpFPakVlDa5CGidXQ7xEa1uMnkc8psSM2E+6huLKZyryEKmrpR4N9kAlu/wW31IUnjc2/dgPh9n6JVXx0RTs+oiKA5SOeqnaIprUvPHshWM4nch3IcZOSNZ+9OkjNfC0ZcMB/rUk9SCGLk8pLlDYuJFkLRh6j4ak5Fk/OWwyqZ3VRuqbWr9qtBemiFNEzoIQUM= 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)(366016)(1800799024)(376014)(7416014)(22082099003)(18002099003)(56012099003);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?Rm5XVmtId0IvL245LzZHZ0Y2VGVEWlp1ZkE3aXFZSkxhS0VnbFdYSGcySkFt?= =?utf-8?B?dDhjMCtmdXZLYmRiSEFaSXRuSFdyamxRMElXRlo3SWROWDlGMS8xeEZUc0RO?= =?utf-8?B?NndJb0ZSYjI0V0o5bUxUSGFMbENFd3lDTi9pckNaMWFPYTRGeTZlVjZLcjVo?= =?utf-8?B?L0NyaEZTcGRJWjFDRWRBdXhqWFh2S2Vyampka1FaOGs5VkxxdFVWUHlYNEVk?= =?utf-8?B?SVRLcDZ2dU5zaVVKdUcyQzdjYkJzMDJSMGpjSC9hTTF4aDg2SUxlMUZUTEJv?= =?utf-8?B?aGg3eTRJT2R3TnRPMTJLQ3VTNHRqU0lMMERJMFNtSVJYVzRlNWlkaU5aK2hW?= =?utf-8?B?UGJ1bmFnQmJEajVBYlVWQTVWdFltLytuaU9zd28vaHhhNUhZLzV1d1RmTTJa?= =?utf-8?B?SW5GUnY1YVdybnFNS1FDSjdDMUFlbTVMTitQQUx6SDl2TU5IMGJnelExaFd4?= =?utf-8?B?U3k2KzhRWVlrejZrWjFHUDIxaHltalhnZ201dksvcGl6ZXlhQVB3blgwR0ht?= =?utf-8?B?cGxLeWFWYlhyazR2UXMxNnk2TTBBWDl6cVUyblIrV0ExSWZZS2RaUTkxVFRz?= =?utf-8?B?TGZ0VlU5VHkzc2ZnS3hITmFBSklYWGk1VkNtd0NOaE11WXRSanZmbGVvcjlV?= =?utf-8?B?dm9TMVJ2eUZwZ2grWmZ4TVNxZFpQZXM5SmszSk9EQTVRd3JTajlBNUxxZDds?= =?utf-8?B?eHNDTTJjNUtGd0xFUEpBc1VmWlp3Q1FVOFBoTFEwbkdicEZCZVZFZGE5VjBH?= =?utf-8?B?c0cya0xIa0NDMktRakM2R2Z2UXNiZ2JQeUZQNGdoNFIzcWN1amhGamkrT1ZO?= =?utf-8?B?bTc1bDhyNmNJSUUyVW9UdE5GSG9FNGtMR1ozakZxdW9XRnJOTUtCakFrakdo?= =?utf-8?B?SGRYazJ5bjFteHpzb3VvdXlydTIzbFF3aFdWTFd5VjZFOVpkbGFJWTh6TU9O?= =?utf-8?B?R3ZLVG52KzVUeVZTS090ZGxENWpQQm5vTUFEcjkvNTQ2UlhDTGlIdGtIb2VF?= =?utf-8?B?Rk1mSWM4VXVuTk9KYWVQL0VSNGZtTnVaV28zdkRvNHIrcnNIZERuK1E0bWFa?= =?utf-8?B?M1R5RXhNbEJJN3ZZQ0lpZzlVTGhGaEZ6ekxlWE1RQW5GZU9iWGNrNWczc2R6?= =?utf-8?B?ZVBMSUdIQlkwR29HSTNKaTBUMGxsYTNLdjdLL2ZBQWFvcHFxZ3V1UHRBa1d3?= =?utf-8?B?VUlOclJiSzJyWTU5djQrQk5BeWVydjRkanRBeWk1Q1N4a0wzVWdZZmtoQjhU?= =?utf-8?B?ODdXUTR4eW9XWllYKzhsSnE2b0lvc290bGVZdmY3cXhjak5mZWREY3h5RTJ5?= =?utf-8?B?NHkzZ1l0NTd6NUFSdlA5WGpaMXNObzNwdVlWcFh3SmNISGhyQVJDczZXa1JL?= =?utf-8?B?QXAyNHVNUld3WnJzTXlaa3dEZ0t3c1VhNlhUK01Dd29jR3g1eDZvYWU0ZzZJ?= =?utf-8?B?UjRkUnE0Z1BFSE1qNEpycnVpRW9hci8wSnFaMDlGRTNHTlF2OWNyRzlGUjRZ?= =?utf-8?B?NGx6aG1TZGdJSjBmSHAzRnJKbmZOaC9CU3ZtNEV0d2lUYzZocmZoVHZRZGhL?= =?utf-8?B?RnVtcDJHZlVpam1mbDkxL0pCYmo1b3M5QnpPQXB0M01ZRi9KUjI4Nk5Nd3hm?= =?utf-8?B?T2RhaXFmVU1FQkdOQ0hvZXNHS1ZpQTRsRUF2VTRiTG5RZ281cVhDMUZ5b2Fq?= =?utf-8?B?R0Y0bGd6cmtZYldYZ2ZzNlBaSGNIS2E2QVRNR3FNOVJNbGdzRUVRanY4YWov?= =?utf-8?B?TlRUZHlOMjhXbXNBYTRwbVFSOVRUemFJcEEyYTF1RXpQV2Vub0xWOElieWpx?= =?utf-8?B?ai9FeWpWV241TFRQTzFrVlM1QUc0Ym1QWGxEQmhWOHZFQnJUOTdtanpuaVBZ?= =?utf-8?B?cWdZbFlZNXZialJLYUNKeHUyaGVEczA3R1Vnb2I0ZmZoZFM2VE1mbXpsR0py?= =?utf-8?B?QXBRSlpjcDNtZlJWMnh3UGRwMjRCenpRQ2RteURVMGY4a3FPaDdBMkx2QkxW?= =?utf-8?B?NHkzRnRrby9iTWdndVUydHl1QUVMbWRuMFVUNEppM2hNMGVJbW9oZlRMU2tU?= =?utf-8?B?d3BoalRIUE5GeUhVL0NreEd4WTdkRjFFNHVmUXlFZHR3ZUZUVTdkaUR0RVVN?= =?utf-8?B?cEZnb3Y3Y1Y2Q04vNnY4WTFFNFI0bG1IdDhjczVWUVlXdUhBc2w5MWFRRm41?= =?utf-8?B?Z0pVaXhPT0ZxOHdWRTdHN1d3c2JLaVlxUlVtZkhhMVp6aFBDQ0xiRWRldzhV?= =?utf-8?B?SGdwZGlhUGxrUUdaOE81WUZlTG5RaTBJbGtKa3JpaGJQNGRvcjBtYS9BNy9G?= =?utf-8?B?a2VmRjl4OEFVMEtTL2Njc0FwaVlUSFJvQ3B3MEo2dUlSVjZTYnlGM0NldTVs?= =?utf-8?Q?jtvsF9Hr3OHUK+OE=3D?= X-OriginatorOrg: efficios.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3003ca5c-32e4-4f06-36a1-08de803931a7 X-MS-Exchange-CrossTenant-AuthSource: YT2PR01MB9175.CANPRD01.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Mar 2026 13:13:46.9540 (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: DgP9bNLFF6V8G87GohD94MBx4Z62SviAqzezfzH6boZqAj/1mqyFV/wzXghpEL0t339fiaEsHy6XYM/QhZyjHfug3JhEU7xOh30b+pBAvkc= X-MS-Exchange-Transport-CrossTenantHeadersStamped: YQBPR0101MB6571 On 2026-03-12 04:49, Florian Weimer wrote: > * Mathieu Desnoyers: > >> + * This vDSO unlocks the robust futex by exchanging the content of >> + * *uaddr with 0 with a store-release semantic. If the futex has >> + * waiters, it sets bit 1 of *op_pending_addr, else it clears >> + * *op_pending_addr. Those operations are within a code region >> + * known by the kernel, making them safe with respect to asynchronous >> + * program termination either from thread context or from a nested >> + * signal handler. >> + * >> + * Expected use of this vDSO: >> + * >> + * if ((__vdso_robust_futex_unlock((u32 *) &mutex->__data.__lock, &pd->robust_head.list_op_pending) >> + * & FUTEX_WAITERS) != 0) >> + * futex_wake((u32 *) &mutex->__data.__lock, 1, private); >> + * WRITE_ONCE(pd->robust_head.list_op_pending, 0); > > The comment could perhaps say that pd->robust_head is the > thread-specific robust list that has been registered with > set_robust_list. Good point. Considering that "robust_head" is the thread-specific robust list registered with set_robust_list, I wonder if passing &robust_head->list_op_pending is the right ABI choice there, or if we should rather pass the robust_head pointer and offset it within the vDSO. Thoughts ? Thanks, Mathieu -- Mathieu Desnoyers EfficiOS Inc. https://www.efficios.com