From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-vi1eur04on2059.outbound.protection.outlook.com [40.107.8.59]) by sourceware.org (Postfix) with ESMTPS id 724FD3858422 for ; Thu, 21 Mar 2024 15:19:01 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 724FD3858422 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=arm.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=arm.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 724FD3858422 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=40.107.8.59 ARC-Seal: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1711034343; cv=pass; b=I/s4IbPTxr/cq7O8RtDk08HThe0khP8l6EYouGYRieIMGTR/QsSdMrg8z9fq52WoijTs0rf2vYcHd89GWIHNYSX+DjDWwrzYnAlYZzpfFvCDUtTrTKAglucaGjqbcWPmqQpS0mc4cR9cqlyKmjfKYX6YZ5Im0k8fzfiKfQpZjvQ= ARC-Message-Signature: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1711034343; c=relaxed/simple; bh=62SJXVJajTU868/ZhHR1uOOARKJk9j6iISfsRWSFX4Y=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID: MIME-Version; b=cn4672ys5bSu7W+/JppAqFKlcUFoR1HMoSd8U8ZSd9P/r8UzIJZvxYlUcrDJg9ubQ/KA/AlJ+B9m0THQcC58leo39a6pMo3ls9XKs7jw+e6KeZnHZA3FukSMCKoKEWGSEXiG33n5htQH+QaLOXSVAVEr6MCSuCo7ju40JaR/QEc= ARC-Authentication-Results: i=3; server2.sourceware.org ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass; b=PsnQbcJmZwuZ1SuXNNCac5sZzrw+bbnA55PiiyU65oKshPqyomb0VrSNQKKPB0UVYPmYZiiWjNuk8MbxsJX7Yltnz3xJH0uCAzRq4++1wnRWoqP3OaBxoGAl8FCQcR3JuvyjiiHplHe2C2byu5hkgm+Owv/Zy16wfcgpEtyWF0tp7sV5mJF4t41zKzQ1PKO2ab6O6WDyjZfZzUMrhC8XD1MQCrf+uyLLg9NldGriPqu4fF45A4cPPaoSrwC7TZVoShM7xWtFBaFEFST7wqSm7Kbm4Hky6HMNnGKKXgJbd2mT4zzrekR4o99C5FGJzQPU2glVHt98pAEJnZvT+Jfqdg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=62SJXVJajTU868/ZhHR1uOOARKJk9j6iISfsRWSFX4Y=; b=G5SaPk2jk8bvAHZgItwylfkfZyQiKvxCdyhXW/NiiKztcfSjuYmGYdi1J7cB2+PSbR1xpT6MXXnwQ1+hnAC9joPbpcwvz+ooto/rnx1lvllL06qiIeFjv5wm/AEFEKM6WHTAQfk94wyGmYSibLO41pDEwq8lmVq1HdoxBzKeEObhX0/SsVR0RPgLJk9pYBxx4ASIFEtNbz4eibbbbYrMH5d9rhwsRDmIRpRm2+ko9I172ydoFfYNEtZcec4/W090Kdp2y8jlqdFLOrq+MdOTTUnV9UJkL/xvxJEYx/5jNONLxha5DLfeqo3Ka7s/5+eLO3mLTpocnbp8xStS5QkmLw== ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 63.35.35.123) smtp.rcpttodomain=sourceware.org smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com] dmarc=[1,1,header.from=arm.com]) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=62SJXVJajTU868/ZhHR1uOOARKJk9j6iISfsRWSFX4Y=; b=mQmlg/mne174rXJZsLPD8BUBbNhFEsnZiadNyO1o25m+V8z0zFZ0nbwkazAzolLuMvTEi8timYV+z5LeXL0ll6pP9p62TumgtdMXX7o24pC6+QEN3BhnnYQRMa8op0GFL2yAFeCuB7mjs2v1x0Gpd63sistR7pbnTRruOWOMJzA= Received: from DUZPR01CA0061.eurprd01.prod.exchangelabs.com (2603:10a6:10:3c2::19) by DB9PR08MB7398.eurprd08.prod.outlook.com (2603:10a6:10:372::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7386.28; Thu, 21 Mar 2024 15:18:51 +0000 Received: from DU2PEPF0001E9BF.eurprd03.prod.outlook.com (2603:10a6:10:3c2:cafe::c6) by DUZPR01CA0061.outlook.office365.com (2603:10a6:10:3c2::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7386.28 via Frontend Transport; Thu, 21 Mar 2024 15:18:51 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; pr=C Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by DU2PEPF0001E9BF.mail.protection.outlook.com (10.167.8.68) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.10 via Frontend Transport; Thu, 21 Mar 2024 15:18:51 +0000 Received: ("Tessian outbound f0b355493f75:v300"); Thu, 21 Mar 2024 15:18:50 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 480d0f31357ceed0 X-CR-MTA-TID: 64aa7808 Received: from 16f0ffd90b55.2 by 64aa7808-outbound-1.mta.getcheckrecipient.com id DD98F9A7-368E-4922-9192-20165597045D.1; Thu, 21 Mar 2024 15:18:39 +0000 Received: from EUR05-DB8-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 16f0ffd90b55.2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Thu, 21 Mar 2024 15:18:39 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=eIzvea1+6hAP9eyjL+4iKyG3sFjhPmZyhFOy8aWW2vIZjUdIBr+3x7mx64MbZEB1a9vapRPhhUqjQusJdOAIxuNoJYNIr3SdR8pcAOagd/kDbgRTiggnhMns2wLHZio4G+Iw2Hzm/JuaWAiydX07fs5gSxyHe1IXu6lEh7aEjWN3pyHRYTmngYv1+MFuX7ZQrNI7n9V8bYkgJJNHVVwia0OZSHCe8q2+o5y9IE2Liw72rvdFWTuLSrnvzqdbBuS95jkWiJxp4I3iwCQLxylxzB9EXsfChOhAKjfayRSS8nrQQ2cveLJxt8ASf0A43RkQVhcnZwvE5l47B5RMMnAAZQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=62SJXVJajTU868/ZhHR1uOOARKJk9j6iISfsRWSFX4Y=; b=WJYQNnb9YJ2dYwTWJ3H3PVd2KH/YNLjyoSqeHaeAmZR8yE52VcBcYzUpD2nyR3jjgh+rHywTWk8n98ltM7i3BoYwGHHRM+N/8g9qA3z5vKh3dIPbaF+a5fFwOOqxd669heYf3dDPzYySHTFBhmrLZ7HBjHwyL5G61BoDWbewdlXFizyJwLb4e+j7O3uKbwCtbZFHScEtC2TMVBp41Z4k4+x50FA1oUukM4+Xh7V9BePPEfbiUdBvxCrbrTlSo1/7Z9wHsvUQPUu8AjjrLO/mLhyZrzF3v6Ce+N0GakMuZB1u9TJ/EBnBp0vMDA1gKa5N007bvd1+fB/ltkRvRDqbsg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=62SJXVJajTU868/ZhHR1uOOARKJk9j6iISfsRWSFX4Y=; b=mQmlg/mne174rXJZsLPD8BUBbNhFEsnZiadNyO1o25m+V8z0zFZ0nbwkazAzolLuMvTEi8timYV+z5LeXL0ll6pP9p62TumgtdMXX7o24pC6+QEN3BhnnYQRMa8op0GFL2yAFeCuB7mjs2v1x0Gpd63sistR7pbnTRruOWOMJzA= Received: from PAWPR08MB8982.eurprd08.prod.outlook.com (2603:10a6:102:33f::20) by GV1PR08MB7379.eurprd08.prod.outlook.com (2603:10a6:150:23::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7386.30; Thu, 21 Mar 2024 15:18:31 +0000 Received: from PAWPR08MB8982.eurprd08.prod.outlook.com ([fe80::8b1b:5f28:5006:ac18]) by PAWPR08MB8982.eurprd08.prod.outlook.com ([fe80::8b1b:5f28:5006:ac18%4]) with mapi id 15.20.7409.010; Thu, 21 Mar 2024 15:18:31 +0000 From: Wilco Dijkstra To: Szabolcs Nagy , Mathieu Desnoyers , =?iso-8859-1?Q?Cristian_Rodr=EDguez?= , Florian Weimer CC: Adhemerval Zanella Netto , GNU C Library , "Jason A. Donenfeld" Subject: Re: [PATCH 2/2] Add single-threaded fast path to rand() Thread-Topic: [PATCH 2/2] Add single-threaded fast path to rand() Thread-Index: AQHaeUdlLczthbtZN0yQRvy3br3L0LE94VcAgAFOCoGAAWMyAIAAHbyAgAACl4CAASBtBoAAYs+AgAARe4CAAAjZgIAAAIqc Date: Thu, 21 Mar 2024 15:18:31 +0000 Message-ID: References: <89b53f94-075f-4a34-99df-778271965de9@linaro.org> <878r2c11au.fsf@oldenburg.str.redhat.com> <8cf180c9-f7e9-4a32-86a4-a5780131ec87@efficios.com> In-Reply-To: Accept-Language: en-GB, en-US Content-Language: en-GB X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; x-ms-traffictypediagnostic: PAWPR08MB8982:EE_|GV1PR08MB7379:EE_|DU2PEPF0001E9BF:EE_|DB9PR08MB7398:EE_ X-MS-Office365-Filtering-Correlation-Id: 67e49b70-6d69-4668-98cf-08dc49ba36b0 x-checkrecipientrouted: true nodisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: qNlJFrm/FzdXwC6HXJhLhoBTI06bvqvzzY+Tq8/NKd7RP+qSJnmWh++5rR+J52Pu/Ivz3oEo5tjvnPU6A3GNtMD5sFbCjNqxZzjNonUNiiziqpZpyFyMmv9A+Dr82V+QZ/y0kSQRdffdVWPGEbflTB/cq3niiwGQcqz4kYlcVxOpdXj+FI2S/SxrqQi3OiG0VuIlOU7L0lBUs4bJiACZDGYy1KMD8Kx6pxRgPSlrieQGo6Iwvdr9nlBJ0KGkyRnvykdeYjEXwGpjpx3ey8vKzMGLT0W/Njqj3c7m5IIQhTp4gLwtQCZZNdF4bP63OJH8cZ56L9/JE9fSAN8JsvgwjFn18TEsNnO4+yBCwyL+SRxLYSME/FxSahO3sfcN2D9FegMnEvNjD8cc5sJvmyL7MTurezKzknDhnxbk9PZSIAPDO9zXxCSkS8BhhgosA8MJJFS9xbluXPEn8/3sQSuMA8/plCi+XdiSYr3aunkP6lhppltVM5WvAj8guxLWm6vhvG3eDttHFQQPghcp9hVdByR9Ms/aaytKa752mmGK76U0/0qRWQehwS4P4WbTwtPL4pTU8s8a/IF34eW083V1oHifjAp9RAAmokPpd2oXbVnyuMC/NaEzx55Gi5UkNmiccETGc5x6SV+uRgsu1E6koDUN9etCMikO3UyQPCTU6MmqjC0dy/yphg/luSSMUhxkBiVR1lQrSR1a6eCTpaYZFBtEgi6mdOFaA61tlCbFOUw= X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAWPR08MB8982.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376005)(366007)(1800799015)(38070700009);DIR:OUT;SFP:1101; Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR08MB7379 Original-Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DU2PEPF0001E9BF.eurprd03.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 8506b333-3560-44f5-c864-08dc49ba2aed X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: c2rO5tGyP/U+N1OYtkssBKGkq8SSZf1Ob9G3AEnhiqmwADiws0OkI1+Ihb26IbjeRbIAXAHXxVhJHHvY4OiJmS9Br7QO/oPzlmHhgPnSwBpVpcSxgjEwX32t/UxdpKcuzGeEeTPJSdQaKbrhGI291J1uARRp3OAA4eYwDyopXRaE4QStD7Y4kwxEe1pyraDN8m2kKGNzRjZj3FVj6eNepdM7YQ0XT10dcefxWUHc+uKv9B3p5vWS4d4ZqJuuU8LXCKfK0QNk+gY89YV7kXkmKlpQk1rwrAvIpWWL+N0cgQ6AhtCij7zfrhcghLkduxnjiOkusZMIOoTcBBQ7USO14g6EEECYdvXMiy3Qr3yU45c4KhFQTUsKr3Zu+In2Weg44xMPYutJrx0HKYnMkQURqITzSv+LF6Oetq0IYfhEQP+/QYfQTHlTOs7cmM/TKf5Oar0PVapt681dja1jd3liDuG+IkC88RlAXBM+gx9v8qNTg3LUH9Mo9djCuSSZ23CgNINh3XBIaH1uXrQSEejVxAGMNIe5p2qWLUridgIaSNqYDIfywms0d/u18iK9Wa+Gld1Ppmc30r3OdMnSoLlNLJYW9tqAC6TVnP2Vko/HNTqfYlI9LckMSRZ4Y6XAIfQ8o/ssgF/N+pYcKGQiKTOAmZFXrwjJf229LDA/+DS1f9OaVHtvSOtlVmy/TKe84ZhRbFcq6sbLTlIwJtrlXpWOzopNdXlNfcRBwDd1T2p9LajLr4/9KNjkkO0vfw7WZ1iy X-Forefront-Antispam-Report: CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230031)(82310400014)(376005)(1800799015)(36860700004);DIR:OUT;SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Mar 2024 15:18:51.0055 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 67e49b70-6d69-4668-98cf-08dc49ba36b0 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: DU2PEPF0001E9BF.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB7398 X-Spam-Status: No, score=-4.7 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,FORGED_SPF_HELO,KAM_DMARC_NONE,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_NONE,TXREP,UNPARSEABLE_RELAY autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: Hi,=0A= =0A= > i think rand() should be a 2 line function, without any=0A= > locking, since it is *not* required to be thread-safe nor=0A= > crypto quality.=0A= =0A= Absolutely.=0A= =0A= > but i guess for glibc it's safer to keep the current=0A= > implementation just with single-thread checks.=0A= =0A= I think it is useful to rewrite it using a much simpler implementation=0A= that just has 64 bits of global state. Then you don't need any locks at all= ,=0A= we could use a relaxed atomic operation for updates or add it to TLS=0A= since its small enough.=0A= =0A= > either way, it is not the best candidate for rseq=0A= > optimizations, as that complexity is not justified, to=0A= > speed up code with undefined behaviour..=0A= =0A= Agreed. The complexity of the current random algorithm and all the=0A= associated locking is already way out of order. Programming is all about=0A= keeping stuff as simple and fast as possible.=0A= =0A= Cheers,=0A= Wilco=