From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-oi1-x230.google.com (mail-oi1-x230.google.com [IPv6:2607:f8b0:4864:20::230]) by sourceware.org (Postfix) with ESMTPS id 07B793858D28 for ; Thu, 21 Mar 2024 13:33:35 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 07B793858D28 Authentication-Results: sourceware.org; dmarc=fail (p=none dis=none) header.from=rodriguez.im Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=cristianrodriguez.net ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 07B793858D28 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::230 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1711028025; cv=none; b=mjYXfsjbN01WJu4w9dSNKLEsE03R8ZY9X4xAAHzYC5GtbMDRynQmpwZIXF0wAlzBeg29h6UWi1mRKrmh6Oj6wwFaJjaEnNzhCbcGujO655c6Nl5XEhGuc1dSlvfmLGn0X1w/odz1UF0iW1k21QM10BLovakD58XUw0coWdgIESw= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1711028025; c=relaxed/simple; bh=0A/xoCMzs26ceVYqCcINwesyiM9E4cWoOL1/rccuIjc=; h=DKIM-Signature:MIME-Version:From:Date:Message-ID:Subject:To; b=I7SjtvIcLtpBbILMtbpsDAWDBXbgPvv1euXpIkh47MgQeD19CNdvRGNkQbsqEY8jmq5RPuby0lHgqGx+o7zCrecqnrdNE8SUC7/eOWJKJ5hGIYEd1ZrWIYHKc3XxclCZOvabN1L1h1excHH7n49Fu1RfPCis/KLjzuwrQAMo8KY= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-oi1-x230.google.com with SMTP id 5614622812f47-3bc23738beaso87659b6e.1 for ; Thu, 21 Mar 2024 06:33:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rodriguez.im; s=google; t=1711028014; x=1711632814; darn=sourceware.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=uGfHIc9zS5p71V2Pe1AfQFgChtnv6ThSjVNAvUZxad8=; b=abvQruZ6R1/2HaU2oUgRFV4XTLECAoKANj/r5D4P1KVZ0ucT4El2DqkqJJH6uFQkMJ 6Frj/NyaRTXQb4GktjyY2m4SebxPxGJr8ObAAcgZc27nn62a5n9nOYC2vWgVtpJCggfW 5TXO23D4KRfDcW7UIflUVOjUr4Tt1CWNjuHSk= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1711028014; x=1711632814; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=uGfHIc9zS5p71V2Pe1AfQFgChtnv6ThSjVNAvUZxad8=; b=pC4jmRH1d9og7QsSNujozw8Ic8bq0LmlGBQbXmKxZwao1DU4qG26k9YnR/fAWuaTSS zJjoI3DozCtWVo9FKd5GOddTNc84KQr5YPrFLdwX2heHLzHq7yvKbnV5GyRMZH9X03q1 iCm4FmKp6NzzP/QHSff6WOHszfmls6ko05YXxyzzyIVyVPdR6zouIYkh4mi+Qr7SsAx8 zHoFNd/2e1RU+C+PCrPv9ulxZMUOFL/dR71MMYErSHLgepxMd5SizNDMm/y58X4hNBx6 Xe4zoKIn33WqQoopyiozwOrq5cLDd9lkn4Wqn+wYwznREakBB5XQe4/LOgCUkXVvo/bD d7aw== X-Forwarded-Encrypted: i=1; AJvYcCXCf1w6g0OWEdtw3hLPfQsCQ04LS5C84qOQLkYVwNJpORNImO/6mqXU1d5JCnCs8guRMYALWeSWV+lH1qgvMKxXC7VPddskbxQ4 X-Gm-Message-State: AOJu0Yz3f/q04P3k/9mpTGLZvZ/RWXjclNzyOthbkmg3nB2EVvoiEen8 A4jsEvzPraIiDw45YTIXEd8gf6EhvrKBE87XBoqdlcrWj0SN4eHGJiB+KUgzfkSnmkFV6fWilXW 5pAUM7I2Wh2NGUueNw/e0tlEBfm7hX8b1a5bR X-Google-Smtp-Source: AGHT+IGMuDODmAP9sWDI5go305irnmIzzXUhC8tQFLe54JH4X5IoRa/uEBc0fQzPNyZyM1zy4Gajq4p3kJwJsGkD6+0= X-Received: by 2002:a05:6808:17a7:b0:3c3:89e1:277e with SMTP id bg39-20020a05680817a700b003c389e1277emr5227241oib.3.1711028014319; Thu, 21 Mar 2024 06:33:34 -0700 (PDT) MIME-Version: 1.0 References: <89b53f94-075f-4a34-99df-778271965de9@linaro.org> <878r2c11au.fsf@oldenburg.str.redhat.com> In-Reply-To: <878r2c11au.fsf@oldenburg.str.redhat.com> From: =?UTF-8?Q?Cristian_Rodr=C3=ADguez?= Date: Thu, 21 Mar 2024 10:33:23 -0300 Message-ID: Subject: Re: [PATCH 2/2] Add single-threaded fast path to rand() To: Florian Weimer Cc: Adhemerval Zanella Netto , Wilco Dijkstra , GNU C Library , Mathieu Desnoyers , "Jason A. Donenfeld" Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Status: No, score=-1.6 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,TXREP 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: On Thu, Mar 21, 2024 at 4:39=E2=80=AFAM Florian Weimer = wrote: > > * Adhemerval Zanella Netto: > > > On 20/03/24 11:18, Cristian Rodr=C3=ADguez wrote: > >> On Wed, Mar 20, 2024 at 9:31=E2=80=AFAM Adhemerval Zanella Netto > >> wrote: > >> > >> > >>> I don't have a strong opinion on this rand patch, if this idea is to > >>> have it as an workbench for a possible single-thread lock optimizatio= n > >>> it should be fine. It is just that I don't see much gain in optimizi= ng > >>> such a bad interface (although we still lack a proper userland PRNG). > >> > >> Yeah, it should be no surprise this interfaces are bad, > >> I thought this was common knowledge. > >> > >> we need something like https://github.com/C2SP/C2SP/blob/main/chacha8r= and.md > >> which prety much outperforms even non-CS algorithms in at least 64 bit= x86. > >> but the question of the state remains.global? TLS? how to discard it > >> in all the appropriate occasions? > > > > And this is the arc4random in userspace discussion all over again. > > Agreed. But what has changed that we know now that Linux won't provide > us with vDSO acceleration for arc4random. So I think it wouldn't be > unreasonable to roll our own. Right now, the switch to arc4random > provided by glibc is a massive performance regression compared to other > implementations. Afaik the other path that hasn't been tried is rseq no ? could the kernel provide a random state this way that it is cleared on the right conditions..