Received: by 2002:a25:6193:0:0:0:0:0 with SMTP id v141csp774134ybb; Sat, 28 Mar 2020 09:44:58 -0700 (PDT) X-Google-Smtp-Source: ADFU+vs8YAUhdjnNE8VMKDxPP9xAQtnpp2fWV2ZGb0eSEhGWFhwyGGd8yiINNOakbY00+UIML0TY X-Received: by 2002:aca:af97:: with SMTP id y145mr2725244oie.24.1585413898400; Sat, 28 Mar 2020 09:44:58 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1585413898; cv=none; d=google.com; s=arc-20160816; b=CFPg6PQUhNoSaXYrFq7AgSmgmFEcV/PejopSPjtDqniM9+tLScbY0VMtodCsDD9zbB 8hLum5e6og4KoQpJ/Qp8W11DdHXPxcFB9tUoM69YXIQIQzydaCqB4z+lUKcZNgo7wRTV 1KOcP9NgKHHi+AIOM1F5Ug+dyXdfA+BL2nByXJoEjFMO2LxZf/e5a8hMp4/ZgKY+NTx9 KmsJQw5w77kxMg0Ar/uQG47XmAOguMuXRSoIVgWtqaVsi3l//E9qz5IcoP19IA1ygXVP UDGffKtpX5sgmUC6VHvMHRbJc3SzcXoVInTeBv0SlXR7E9PZ+xRoslAkJySV7ZXpQktj LkNA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:date:from:message-id; bh=Dr/dV6fdLvV134VllK8X0NTA6bzQwsJdyK59ULD7h7E=; b=gqAtauA5xyE5rMGUlCerKioOOIbf7sPJr9o7L5N3caFyggAbh7O0JkTtVDe5mB/bW8 Zr9mzw3TZaP8m8MwBArKNgPKUa2R5FCP6Sp//+Ed2JLj7VosoF9L1+cFcbRnU9N+4JP+ 3PKi9kjnNEKEK9+dlh3L1lYFpIp7KFun006sqm8TGG2Hs9PnNbv3Mjth9YcZT3T7GlJw 74RxJDCu+izGx3Rghy5ijUA5/Ou2wSmmS77XevIV3876YuCWb4mYvNvr0ddhZQL5XeDh GZrtJaAsGvqP6PkL0623Jat0bcPdEpop7js2KWcnwGgLWuhkE5dznVlqkslpeX7E4wF/ c/iw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id r7si4203826oth.222.2020.03.28.09.44.45; Sat, 28 Mar 2020 09:44:58 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727933AbgC1Qn7 (ORCPT + 99 others); Sat, 28 Mar 2020 12:43:59 -0400 Received: from mx.sdf.org ([205.166.94.20]:49870 "EHLO mx.sdf.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727892AbgC1Qn6 (ORCPT ); Sat, 28 Mar 2020 12:43:58 -0400 Received: from sdf.org (IDENT:lkml@sdf.lonestar.org [205.166.94.16]) by mx.sdf.org (8.15.2/8.14.5) with ESMTPS id 02SGhIFR001177 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256 bits) verified NO); Sat, 28 Mar 2020 16:43:18 GMT Received: (from lkml@localhost) by sdf.org (8.15.2/8.12.8/Submit) id 02SGhIOY022599; Sat, 28 Mar 2020 16:43:18 GMT Message-Id: <202003281643.02SGhIOY022599@sdf.org> From: George Spelvin Date: Wed, 20 Mar 2019 23:07:46 -0400 Subject: [RFC PATCH v1 29/50] fs/ocfs2/journal: Use prandom_u32() and not /dev/random for timeout To: linux-kernel@vger.kernel.org, lkml@sdf.org Cc: Mark Fasheh , Joel Becker , Joseph Qi , ocfs2-devel@oss.oracle.com Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org get_random_bytes() is expensive crypto-quality random numbers. If we're just doing random backoff, prandom_u32() is plenty. (Not to mention fetching 8 bytes of seed material only to reduce it modulo 5000 is a huge waste.) Also, convert timeouts to jiffies at compile time; convert milliseconds to jiffies before picking a random number in the range to take advantage of compile-time constant folding. Signed-off-by: George Spelvin Cc: Mark Fasheh Cc: Joel Becker Cc: Joseph Qi Cc: ocfs2-devel@oss.oracle.com --- fs/ocfs2/journal.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/fs/ocfs2/journal.c b/fs/ocfs2/journal.c index 68ba354cf3610..939a12e57fa8b 100644 --- a/fs/ocfs2/journal.c +++ b/fs/ocfs2/journal.c @@ -1884,11 +1884,8 @@ int ocfs2_mark_dead_nodes(struct ocfs2_super *osb) */ static inline unsigned long ocfs2_orphan_scan_timeout(void) { - unsigned long time; - - get_random_bytes(&time, sizeof(time)); - time = ORPHAN_SCAN_SCHEDULE_TIMEOUT + (time % 5000); - return msecs_to_jiffies(time); + return msecs_to_jiffies(ORPHAN_SCAN_SCHEDULE_TIMEOUT) + + prandom_u32_max(5 * HZ); } /* -- 2.26.0