From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 4359CC433FE for ; Fri, 7 Oct 2022 04:55:08 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 9620810E933; Fri, 7 Oct 2022 04:54:24 +0000 (UTC) Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by gabe.freedesktop.org (Postfix) with ESMTPS id 188CC10E542 for ; Thu, 6 Oct 2022 12:33:45 +0000 (UTC) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 4BD8A6189D; Thu, 6 Oct 2022 12:33:44 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 84CC2C433D6; Thu, 6 Oct 2022 12:33:28 +0000 (UTC) Authentication-Results: smtp.kernel.org; dkim=pass (1024-bit key) header.d=zx2c4.com header.i=@zx2c4.com header.b="boaVkmFe" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=zx2c4.com; s=20210105; t=1665059607; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=PDyor0OPorRMVekuFSJiAglRmrxBh1riIl1rICqIsks=; b=boaVkmFeWj/P/2mwQH9q1gX7LNlMIfDuuF/jF0E1iusdkGap18NZ9sMOKKXCenUfGu1kBs OsFuQiM99GfLC9GZQ0iQjPl+iTbCo2UXzxz3nN8lhLRAzO97rrmctM7VRTQNz+DRBcdhZZ cSGHfymmDp55cC4uDg3E8k04jFUD4XI= Received: by mail.zx2c4.com (ZX2C4 Mail Server) with ESMTPSA id 2c48390d (TLSv1.3:TLS_AES_256_GCM_SHA384:256:NO); Thu, 6 Oct 2022 12:33:26 +0000 (UTC) Date: Thu, 6 Oct 2022 06:33:15 -0600 From: "Jason A. Donenfeld" To: Jan Kara Subject: Re: [f2fs-dev] [PATCH v1 3/5] treewide: use get_random_u32() when possible Message-ID: References: <20221005214844.2699-1-Jason@zx2c4.com> <20221005214844.2699-4-Jason@zx2c4.com> <20221006084331.4bdktc2zlvbaszym@quack3> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20221006084331.4bdktc2zlvbaszym@quack3> X-Mailman-Approved-At: Fri, 07 Oct 2022 04:54:02 +0000 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Andrew Lunn , "Darrick J . Wong" , linux-block@vger.kernel.org, Marcelo Ricardo Leitner , dri-devel@lists.freedesktop.org, Andrii Nakryiko , Hans Verkuil , linux-sctp@vger.kernel.org, "Md . Haris Iqbal" , Miquel Raynal , Christoph Hellwig , Andy Gospodarek , Sergey Matyukevich , Rohit Maheshwari , Michael Ellerman , Christophe Leroy , Jozsef Kadlecsik , Nilesh Javali , Jean-Paul Roubelat , Dan Williams , Dick Kennedy , Jay Vosburgh , Potnuri Bharat Teja , Vinay Kumar Yadav , Arend van Spriel , Nicholas Piggin , Igor Mitsyanko , Andy Lutomirski , linux-hams@vger.kernel.org, Thomas Gleixner , Trond Myklebust , "Martin K . Petersen" , Greg Kroah-Hartman , linux-usb@vger.kernel.org, Michael Chan , linux-kernel@vger.kernel.org, Varun Prakash , David Ahern , Chuck Lever , netfilter-devel@vger.kernel.org, linux-crypto@vger.kernel.org, Jiri Olsa , Jan Kara , linux-fsdevel@vger.kernel.org, Andrew Morton , Claudiu Beznea , Sharvari Harisangam , linux-fbdev@vger.kernel.org, linux-doc@vger.kernel.org, Vignesh Raghavendra , linux-wireless@vger.kernel.org, Dave Hansen , Song Liu , Eric Dumazet , target-devel@vger.kernel.org, John Stultz , Stanislav Fomichev , Gregory Greenman , drbd-dev@lists.linbit.com, dev@openvswitch.org, Leon Romanovsky , Helge Deller , Hugh Dickins , James Smart , Anil S Keshavamurthy , Pravin B Shelar , Julian Anastasov , coreteam@netfilter.org, Veaceslav Falico , Yonghong Song , Namjae Jeon , linux-media@vger.kernel.org, Ganapathi Bhat , linux-actions@lists.infradead.org, Simon Horman , Jaegeuk Kim , Mika Westerberg , Lars Ellenberg , OGAWA Hirofumi , Hao Luo , Theodore Ts'o , Stephen Boyd , Jonathan Corbet , Florian Westphal , "David S . Miller" , Jon Maloy , Anna Schumaker , Yehezkel Bernat , Jeff Layton , Haoyue Xu , Heiner Kallweit , Ulf Hansson , Rasmus Villemoes , linux-nvme@lists.infradead.org, Michal Januszewski , linux-mtd@lists.infradead.org, kasan-dev@googlegroups.com, Cong Wang , Thomas Sailer , Ajay Singh , Andy Shevchenko , Sagi Grimberg , Daniel Borkmann , Dennis Dalessandro , linux-rdma@vger.kernel.org, lvs-devel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, "Naveen N . Rao" , Ilya Dryomov , Paolo Abeni , Pablo Neira Ayuso , Marco Elver , Kees Cook , Yury Norov , "James E . J . Bottomley" , Hante Meuleman , Alexandre Torgue , Borislav Petkov , Keith Busch , ceph-devel@vger.kernel.org, Mauro Carvalho Chehab , Franky Lin , linux-nfs@vger.kernel.org, linux-ext4@vger.kernel.org, Wenpeng Liang , Neil Horman , Xinming Hu , linux-mmc@vger.kernel.org, Martin KaFai Lau , linux-xfs@vger.kernel.org, Ying Xue , Manish Rangankar , Andreas =?utf-8?Q?F=C3=A4rber?= , Toke =?utf-8?Q?H=C3=B8iland-J=C3=B8rgensen?= , linux-stm32@st-md-mailman.stormreply.com, Peter Zijlstra , Ayush Sawal , KP Singh , Amitkumar Karwar , linux-mm@kvack.org, Andreas Dilger , Akinobu Mita , "H . Peter Anvin" , Andreas Noever , Jiri Pirko , linux-f2fs-devel@lists.sourceforge.net, Jack Wang , Steffen Klassert , rds-devel@oss.oracle.com, Herbert Xu , linux-scsi@vger.kernel.org, dccp@vger.kernel.org, Richard Weinberger , Russell King , Jason Gunthorpe , SHA-cyfmac-dev-list@infineon.com, Ingo Molnar , Jakub Kicinski , Masami Hiramatsu , John Fastabend , Maxime Coquelin , Manivannan Sadhasivam , Michael Jamet , Kalle Valo , Santosh Shilimkar , Jamal Hadi Salim , linux-raid@vger.kernel.org, Thomas Graf , Hannes Reinecke , Xiubo Li , Dmitry Vyukov , Jens Axboe , cake@lists.bufferbloat.net, brcm80211-dev-list.pdl@broadcom.com, Yishai Hadas , Hideaki YOSHIFUJI , netdev@vger.kernel.org, Vlad Yasevich , Philipp Reisner , Stephen Hemminger , Christoph =?utf-8?Q?B=C3=B6hmwalder?= , Vinod Koul , tipc-discussion@lists.sourceforge.net, dmaengine@vger.kernel.org, Johannes Berg , Sungjong Seo , linuxppc-dev@lists.ozlabs.org Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" On Thu, Oct 06, 2022 at 10:43:31AM +0200, Jan Kara wrote: > The code here is effectively doing the > > parent_group = prandom_u32_max(ngroups); > > Similarly here we can use prandom_u32_max(ngroups) like: > > if (qstr) { > ... > parent_group = hinfo.hash % ngroups; > } else > parent_group = prandom_u32_max(ngroups); Nice catch. I'll move these to patch #1. > > diff --git a/fs/ext4/mmp.c b/fs/ext4/mmp.c > > index 9af68a7ecdcf..588cb09c5291 100644 > > --- a/fs/ext4/mmp.c > > +++ b/fs/ext4/mmp.c > > @@ -265,7 +265,7 @@ static unsigned int mmp_new_seq(void) > > u32 new_seq; > > > > do { > > - new_seq = prandom_u32(); > > + new_seq = get_random_u32(); > > } while (new_seq > EXT4_MMP_SEQ_MAX); > > OK, here we again effectively implement prandom_u32_max(EXT4_MMP_SEQ_MAX + 1). > Just presumably we didn't want to use modulo here because EXT4_MMP_SEQ_MAX > is rather big and so the resulting 'new_seq' would be seriously > non-uniform. I'm not handling this during this patch set, but if in the course of review we find enough places that want actually uniformly bounded integers, I'll implement efficient rejection sampling to clean up these cases, with something faster and general, and add a new function for it. So far this is the first case to come up, but we'll probably eventually find others. So I'll make note of this. Jason