From 518f9e251ed2619a229943e3a1c58bf9b736ea22 Mon Sep 17 00:00:00 2001 From: Xingjun Liu Date: Tue, 28 Nov 2023 07:04:44 +0000 Subject: [PATCH] alinux: random: speed up the initialization of module maillist inclusion category: performance bugzilla: https://gitee.com/openeuler/kernel/issues/I8K30G CVE: NA Reference: https://gitee.com/openeuler/kernel/commit/ae624897ce3846524a3b0d3e525d8f8a8f80f326 --------------------------- alinux: random: speed up the initialization of module During the module initialization phase, entropy will be added to entropy pool for every interrupt, the change should speed up initialization of the random module. Before optimization: [ 22.180236] random: crng init done After optimization: [ 1.474832] random: crng init done Signed-off-by: Xingjun Liu Reviewed-by: Liu Jiang Reviewed-by: Caspar Zhang Reviewed-by: Jia Zhang Reviewed-by: Yang Shi Reviewed-by: Liu Bo Signed-off-by: Chen Jialong Reviewed-by: Xiu Jianfeng Reviewed-by: Ziyuan Hu Signed-off-by: Yang Yingliang Signed-off-by: Chen Jun Reviewed-by: Xiu Jianfeng Signed-off-by: Chen Jun Signed-off-by: Zheng Zengkai Signed-off-by: GUO Zihua --- drivers/char/random.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/char/random.c b/drivers/char/random.c index 3cb37760dfec..b9ae54c243a9 100644 --- a/drivers/char/random.c +++ b/drivers/char/random.c @@ -1100,7 +1100,8 @@ void add_interrupt_randomness(int irq) if (new_count & MIX_INFLIGHT) return; - if (new_count < 1024 && !time_is_before_jiffies(fast_pool->last + HZ)) + if (new_count < 1024 && !time_is_before_jiffies(fast_pool->last + HZ) && + crng_ready()) return; fast_pool->count |= MIX_INFLIGHT; -- Gitee