From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from LO2P265CU024.outbound.protection.outlook.com (mail-uksouthazon11021124.outbound.protection.outlook.com [52.101.95.124]) (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 1D5CB32E6B8; Fri, 13 Feb 2026 23:51:50 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.95.124 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771026712; cv=fail; b=Sv1xCzvpWK83/VslLAtPi9X8OxpRDEEXK1EIbNNIlnZTCIPxV5FQrtt9/ZJn+2yXXyEco4ZEpemhRmGB+O9OF2nqmEM1WRVLQsbJT4bAEOvfzMwvcOiMu6xK0Gj+i98h7P6SxzINWSLNMptNBHPYsBJk2UjaHHQCIYE2FUlkJ5g= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771026712; c=relaxed/simple; bh=mH/NCxuLVXCzsYnXqPHp4Kk5SyI4hEwqWL2os4B6VjU=; h=Date:From:To:Cc:Subject:In-Reply-To:References:Message-ID: Content-Type:MIME-Version; b=oLhJC1/sZn37o2t/he1EF122+h0SJ5wuWadruHyJgFehKFnyrkiYDTA0rUlkBtEdTl4qmnNWeLj6uzApC+rb8A6+RdLzQFwXNPuT4nBsBpQRY2NE4HoFvfcgniz9HCz3Vnduz9I/rBcp/8JcumhjHAPDlk4qHOovFuCzpNoLPHg= ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=garyguo.net; spf=pass smtp.mailfrom=garyguo.net; dkim=pass (1024-bit key) header.d=garyguo.net header.i=@garyguo.net header.b=aKuXGa94; arc=fail smtp.client-ip=52.101.95.124 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=garyguo.net Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=garyguo.net Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=garyguo.net header.i=@garyguo.net header.b="aKuXGa94" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=DC+0WFgosFqORBft5A2MI+gmG/uNAVGZaFIYDY19mQiF0Tj64Md3KhxQwcOumw3nc9RzTQx4rDc+XwDU3WRUAY4gGLNaBf3yEkiDjAnKsVF2dG2Anchkbs7cubXFRjd23kIojR1QhPSJrZYO1auhhkNd8RkYlmPsC8KQJYRf+hWEhIjuZg7Lq9kDfjCjzovQMuEuZ0g0NHSwNFtWpYhEVJIGXdEivsajSAsukSEdHtQE9Twh8aIkW6kBE67hUJG98+zkMP3r1vu1gYiXfMAC9uvSE/Di2PKuKjnmkYpKgEeHAlx3ECusWotQ+ox4g4iS7vfHI5MFQ1IJDLkIZ57aYA== 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=lDT2Y//cmw8OA3UH5znQYxkTu2sTVbDFS/NKJhnfefw=; b=aX5gIOotzsZNlexIhQUWlQAbDpD8m/r5kSWmEdJtPDPnlQmVTNyXCQ2zk2SHYEiaE4Hn3EmQp0mf9SIwNedKZEj2HIwyiXiTF37ZzHXcZksrEgD8d3iLAersafhK86LyBlDFsYoemaTJAWzgp0oF2z6rPr6rAMSD+JR0T38YZdQQhKTtnOES93PhZ7vyobMzhSS+7zAIk/lWbZ9LKARFvx5+JFwYykOkzTasGOUp8JEA4IIyS7HWgxom2NBbzMnm9mG/4My+lI7bpie+lQ8DXe+c2rOgu2EuFZBKc3OivlKqlkUDQicgHMppy1NQ9+vMm/w8MaulBk4TL+tOm+HAUA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=garyguo.net; dmarc=pass action=none header.from=garyguo.net; dkim=pass header.d=garyguo.net; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=garyguo.net; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=lDT2Y//cmw8OA3UH5znQYxkTu2sTVbDFS/NKJhnfefw=; b=aKuXGa94D+b5gvV+K85SLsFe3b+Jb3uR9U89hlRtfJNLaxTU/TIhbia3kAJlmRy0LYCreuqlyo3y/ybW4Jt1+ZPt9RoxwkRqJJ7FRm/RTOE+Nx2h5xui5Xj/wE0pRpfizNSVZVmdVmpGhLh6ONkVhkk1ll4U+eaP0+yuOaoI2To= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=garyguo.net; Received: from LOVP265MB8871.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:488::16) by CWLP265MB2132.GBRP265.PROD.OUTLOOK.COM (2603:10a6:400:71::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9611.14; Fri, 13 Feb 2026 23:51:49 +0000 Received: from LOVP265MB8871.GBRP265.PROD.OUTLOOK.COM ([fe80::1c3:ceba:21b4:9986]) by LOVP265MB8871.GBRP265.PROD.OUTLOOK.COM ([fe80::1c3:ceba:21b4:9986%5]) with mapi id 15.20.9611.013; Fri, 13 Feb 2026 23:51:49 +0000 Date: Fri, 13 Feb 2026 23:51:48 +0000 From: gary@garyguo.net To: Alice Ryhl Cc: Greg Kroah-Hartman , Carlos Llamas , Miguel Ojeda , Boqun Feng , =?UTF-8?Q?Bj=C3=B6rn_Roy_Baron?= , Benno Lossin , Andreas Hindborg , Trevor Gross , Danilo Krummrich , linux-kernel@vger.kernel.org, rust-for-linux@vger.kernel.org, Matthew Maurer Subject: Re: [PATCH] rust_binder: avoid name mangling for get_work[_local] In-Reply-To: <20260213-rust-binder-ps-v1-1-6b90f83c0b4d@google.com> References: <20260213-rust-binder-ps-v1-1-6b90f83c0b4d@google.com> Message-ID: X-Sender: gary@garyguo.net Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit X-ClientProxiedBy: LO4P123CA0516.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:272::9) To LOVP265MB8871.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:488::16) 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: LOVP265MB8871:EE_|CWLP265MB2132:EE_ X-MS-Office365-Filtering-Correlation-Id: 8082ab1c-0e8f-4846-b511-08de6b5ada6c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|7416014|10070799003|1800799024|7053199007; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?cQgdEke1/GMqqjdcbQL0MY/Ws1rIrlfNjgoGUl696SVpPsaHdj3fsf8puE0y?= =?us-ascii?Q?ZgnoGEDPdAjQOu8IzqzWyzUgKYTV0YCTQ6od76bZ7Y4UoJwx7CyPb0swXcRY?= =?us-ascii?Q?AKhg2ZMTFMF2Pz4jAnMMnfncA5EFn0cVAcTgnDXywzcJvt3CJbXYdoB4V7+v?= =?us-ascii?Q?BZh3qntS3yhaxUOXiiG99/gqG8bfsaPwjc0LTQoOlitq/jUa1xsL5DchMQ6R?= =?us-ascii?Q?C9WlWr1BUzYMvEmcrCwXrvUAxu+4M/W1hZtFEW0nEeqUzE9q6Y+qvDk7Jr+y?= =?us-ascii?Q?VRl3aQK4tIo9LQdStGzYTlS7TwvgTBl+V9Iqtq1EKNDpDyKS+iIZzL10jos+?= =?us-ascii?Q?L4TFc0VWN0/gyhPHioTnGQzIzmUxcmu3KFDtGVxJO5o/lMvjYy21w8N/kB+4?= =?us-ascii?Q?XFASZzLqKPEFzjTgPLu/9nOggRBHNceau1USTVug3MIwzPC9O7DL2x7BVA2A?= =?us-ascii?Q?+fj4aqvYecLiQZDfLCgixV+jrFuAGNsjL6SHh2Lvvr0dgk4ZKiMbdjLQyR+T?= =?us-ascii?Q?cJOFzORUaXWph2MAxOSjcn/SceeEYs8ibmH3gYlqg5aYi/hca8LkiNhC52ML?= =?us-ascii?Q?Mh+P9/cOmNRJL7LdMeEaIf3TABYicIW4mIhajKWRdmK8HiWneRpMM1Q5AwUb?= =?us-ascii?Q?6g+tkU0ndd5s8X72GS/UMcXY994J4ndKs2N9+lANeSga2mjizGzMLUOWe/Cb?= =?us-ascii?Q?pNINpSt4oZ/RtioSnmF0TrRM/GFHL1xal7XcVbdMao4jPkNNsV6p9/94lqer?= =?us-ascii?Q?dKh+2ffKE72icfHdrRU4FdEljpcey2jYsTEg1uoHJ1U0h/E8JG2L8vpBhzCZ?= =?us-ascii?Q?QjmaKx2cX62TYWy+OP3Z1l+1RotI58WZMtQvNSfwTtkZ4Rwmnm9ss5HKqRg1?= =?us-ascii?Q?1+n1m8zD+CZEOVqnhOdn3rTE7bMdku6rGZkUz1X9LIa/+GH9sQZY1dAq7atc?= =?us-ascii?Q?MzTmBzUxWQJEK5YXRoI4OVsnBHjcIvKcEeuYGwD/Bv83oWFoTh/zHay+VlN7?= =?us-ascii?Q?SiFgeDE5eAVh5qsAcEOFlnTWLJSSVQdd/0Nlu2q6iXtO9cO7YdSD5krQhwiq?= =?us-ascii?Q?9Z8ZR49Tp91tfW2h6xkjqva21CVccpfjXMGPn5SNH5yiubUNj1ZwQzFJwnue?= =?us-ascii?Q?3gwMAjfteOe+d1H3zjkbQyO40mLF4nxBi4/PlD3Z0fgCyGF6fkf+xg2cXteU?= =?us-ascii?Q?VdAQa+YeGjVO5Wt6cT0o9Cr++CmlanP/PKLxdYusDA5AtKMGVpbCMkeT2vQv?= =?us-ascii?Q?3qXoYWbN+B+TUoG4gcNyPQ7Jrfqjje9Cb9z0bOU7D21hG8nG8RqnMhlkHYM4?= =?us-ascii?Q?J1V89kh9tyAgFvoYvPEmLdIvvQg2wAJ2naEyxvAa5ZHv0FWT1j64FU24Iiii?= =?us-ascii?Q?ifyA7cu9IJ8rx0r0aiLQLYZk5JfR4RC4JtwMyiRaMjvjy8OU0sY3+fYvPUvD?= =?us-ascii?Q?7jAn/bqUnNQSRmzIO5zBI670T/KOooh4fFHqWiTP+WSp4d2U9qBsEu4ntWEc?= =?us-ascii?Q?A19nzqQOhZpDq0ADhmG6GVVAPdZM1smEx+wck4u44w+YBTPMNFRCVsvSt0HJ?= =?us-ascii?Q?TetMIfJzcbMRePXH3Ho=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:LOVP265MB8871.GBRP265.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(7416014)(10070799003)(1800799024)(7053199007);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?drPJ+P61YOWcWUQ3e3sfUsz1VmyvFRUCmeaxGmv4hSWsqN0VdZUmlmz7NTH1?= =?us-ascii?Q?RGi3P6Qz/ELS7rX80RG2/riXYJjW5I7IU5pPtSi7BStvBE5NcLG+jEMN/BOe?= =?us-ascii?Q?AwBBxoM1vaHqbycUDjutLfVr/7I9RvaMivJhEclgTlWw3I3eDyPIVFS4QuPc?= =?us-ascii?Q?lUrf2tkHFKqLs8DALmCAzPFBgb28DIHt3J5KGYdqjf8c6Gw4fmVulr4HdvNw?= =?us-ascii?Q?N/3H1Ue5YjW2Y95w1o+Ptkq+vYJtuvlJcAmkPFGd/tEgHyx4F9nDq1IQXKFV?= =?us-ascii?Q?rpVXNJBV70uikYV+x9/hGAYYMMYw6gTKdqwbVNTKGefbrsKC7GlYyTuiVpAA?= =?us-ascii?Q?q/xcG2iIXVcGrrlfRCTnEEwBrOzNAV/ZrNBcTpVBcX20qACyo8dxm9ym90xU?= =?us-ascii?Q?to1kgFSVLVhxv38yb17JAmwRsS461cir41T2uTwkL2HYY4SUMJERTarsCsM1?= =?us-ascii?Q?hjv7Y9MPFxmqJ6L8MLQ70Q9OqVbUa5y9Nb0gP7GCORn9vbM9w3Iy1UkHriD5?= =?us-ascii?Q?62vISphZTrzIOvYGSxEGUJD+WggLTIO+k9N76HnZ8Aq6wFGQ4gzcJyLLImsj?= =?us-ascii?Q?MJfWfz18mKE2fr3uzGQ+tu8Cdy1vQBc2HiKqkpAVoEmOE/E7DE0lpW1bkmw1?= =?us-ascii?Q?yC6G7Lv1oW3kt3uXPa1E2rRjoOoYIAd5ACEbmc+f55abJVxq5EMeh0qEaEKJ?= =?us-ascii?Q?fl8CxwjOA1FoonNbCCwkk9yHfW+w8N0u2UI/qlYN2qOJS1lKU0+uMXVIUv9T?= =?us-ascii?Q?2coJ+od8XcYMmKpZjB5ECPNbx42dgr6H22wFylYwg9h8zaihAPU7TmrBYKzq?= =?us-ascii?Q?xtVLz0B0Jy58XtYLVftjs8F4/elUGAwNBRol5bYGLXkmD6FqvCGkFhKJLvfQ?= =?us-ascii?Q?TrV9iCOEifx2CwRYh3u+Zh+CCEcurVoE3wJFw6ek1NOPs9tDWHITyE62SZG4?= =?us-ascii?Q?mbO0pOdFJ/1YESTrVXpz1a5UYUZDfLHoihnIbZh7yzOpzn/EZfPCQybDEpJd?= =?us-ascii?Q?XYqrlWasmkniUwN4/62sXRXU0K8n/nWrzmk7TRlcJAyIJVbxWGxEw9ooEhj8?= =?us-ascii?Q?1ckPoKMHZrOKGOmNZ3qdlAKaWmfemT9z1fsdJaWvcGIi832osxPIeDhGOU9I?= =?us-ascii?Q?4pX2AnliqYXDVOxH9zd3YyCSimR6KgY22DbBtqUb3gRW/Bh/zf5WsDNpSR/G?= =?us-ascii?Q?AdnA+TwD3D4OKqohNV6j5IDb6yLzjr1hM3B3mlHUK/a74W3HlD2y5Yr0rwM6?= =?us-ascii?Q?lOBmMeyn1x5EoO7oRgUYnIVGQMJUZot5tu+uHmKubjU6CWxlvHoJ/1FWwWdW?= =?us-ascii?Q?IA47qHxC/V2TDBD7OoEEU6zyMdtGuUYYVbsJLwDu9TlWjwkcMnvl6MfFTbzR?= =?us-ascii?Q?nfVDXlfO0BwbJDJAa8kTsSfu1pk2Oggpj1cAzjHJXnAdUPkLfKJNU31w1d14?= =?us-ascii?Q?ZXoVrg+1nuzHgNHjXwfc/Mg4LDulvU4XAvHk3v4j2FUXYjb/bnGNc6d+4fvG?= =?us-ascii?Q?1ZbO4I1BCUQZ3UPr+JiMvrOhxuX7BSsH54zgt1EG63DPn/Gkez0H56H/xcf9?= =?us-ascii?Q?uDrW59SxW7zJ9vRrTR4EmuD/mp5W3Gsk6LqOnZYCFqyB8MryqLKsUKbjArVs?= =?us-ascii?Q?nfRMIQMu5v2Tall+OjqlTCwatAHvJh+RotbYyo1pHgw1YHueXA61CxkqDM0O?= =?us-ascii?Q?Iv145gFDr8Z/MtFB8MxIQobxKQvhj5NBSHRmK13Y8vIm166q9esw1GBcm9QM?= =?us-ascii?Q?qpRvTxLFrw=3D=3D?= X-OriginatorOrg: garyguo.net X-MS-Exchange-CrossTenant-Network-Message-Id: 8082ab1c-0e8f-4846-b511-08de6b5ada6c X-MS-Exchange-CrossTenant-AuthSource: LOVP265MB8871.GBRP265.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Feb 2026 23:51:48.9848 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: bbc898ad-b10f-4e10-8552-d9377b823d45 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: LmsO/mrCmMBZJ5Xl+1vX8zEASHthGPAxVdNhRM7SFnRySHrLuhULZeoqKZIMQFQ5hlRWT828jSokfq/131Ihig== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CWLP265MB2132 (Sorry Alice, resending as I didn't hit "Reply All". I was travelling and not on my usual email setup). On 2026-02-13 11:37, Alice Ryhl wrote: > Currently ps -A shows processes waiting on schedule() in functions with > names such as do_epoll_wait, wait_woken, and the impeccably named > _RNvMs2_NtCs8QPsHWIn21X_16rust_binder_main6threadNtB5_6Thread8get_work. > > To improve how ps output looks, give explicit non-mangled names to the > functions where Rust Binder calls schedule(), since these are the most > likely places to show up on ps output. > > The name of rust_binder_waitlcl is truncated instead of using _local > suffix because rust_binder_wait_local is sufficiently long that ps > shows > unaligned output. > > Suggested-by: Matthew Maurer > Signed-off-by: Alice Ryhl I don't think this the direction that we should head for. It's not feasible to do this for all users that can possibly call `schedule()`. In edition 2024 forwards, `export_name` is also an unsafe attribute and it will become tedious to justify all usages. I think if the function names are demangled, it won't be too bad? Best, Gary > --- > drivers/android/binder/process.rs | 1 + > drivers/android/binder/thread.rs | 2 ++ > 2 files changed, 3 insertions(+) > > diff --git a/drivers/android/binder/process.rs > b/drivers/android/binder/process.rs > index > 132055b4790f0ec69a87635b498909df2bf475e2..cf7425e74183966063ab53114637aec7b3672ac8 > 100644 > --- a/drivers/android/binder/process.rs > +++ b/drivers/android/binder/process.rs > @@ -1436,6 +1436,7 @@ pub(crate) fn drop_outstanding_txn(&self) { > } > } > > + #[export_name = "rust_binder_freeze"] > pub(crate) fn ioctl_freeze(&self, info: &BinderFreezeInfo) -> > Result { > if info.enable == 0 { > let msgs = self.prepare_freeze_messages()?; > diff --git a/drivers/android/binder/thread.rs > b/drivers/android/binder/thread.rs > index > 1f1709a6a77abc1c865cc9387e7ba7493448c71d..2ca8ed8962314b58a3cfeb3ae0aa0ed60f179433 > 100644 > --- a/drivers/android/binder/thread.rs > +++ b/drivers/android/binder/thread.rs > @@ -514,6 +514,7 @@ pub(crate) fn has_current_transaction(&self) -> > bool { > /// Attempts to fetch a work item from the thread-local queue. The > behaviour if the queue is > /// empty depends on `wait`: if it is true, the function waits for > some work to be queued (or a > /// signal); otherwise it returns indicating that none is > available. > + #[export_name = "rust_binder_waitlcl"] > fn get_work_local(self: &Arc, wait: bool) -> > Result>> { > { > let mut inner = self.inner.lock(); > @@ -552,6 +553,7 @@ fn get_work_local(self: &Arc, wait: bool) -> > Result /// > /// This must only be called when the thread is not participating > in a transaction chain. If it > /// is, the local version (`get_work_local`) should be used > instead. > + #[export_name = "rust_binder_wait"] > fn get_work(self: &Arc, wait: bool) -> > Result>> { > // Try to get work from the thread's work queue, using only a > local lock. > { > > --- > base-commit: cee73b1e840c154f64ace682cb477c1ae2e29cc4 > change-id: 20260213-rust-binder-ps-46d9d060243a > > Best regards,