Hi KH
hardware: raspberrypi 5
other patch(These two locations impact the entropy pool acceleration.
comment them out temporarily):
acer@raspberrypi:linux $ git diff drivers/of/fdt.c
drivers/char/hw_random/iproc-rng200.c
diff --git a/drivers/char/hw_random/iproc-rng200.c
b/drivers/char/hw_random/iproc-rng200.c
index 33bc28f429f6..af105faa88c6 100644
--- a/drivers/char/hw_random/iproc-rng200.c
+++ b/drivers/char/hw_random/iproc-rng200.c
@@ -296,10 +296,10 @@ static const struct dev_pm_ops iproc_rng200_pm_ops = {
};
static const struct of_device_id iproc_rng200_of_match[] = {
- { .compatible = "brcm,bcm2711-rng200", },
- { .compatible = "brcm,bcm7211-rng200", },
- { .compatible = "brcm,bcm7278-rng200", },
- { .compatible = "brcm,iproc-rng200", },
+ { .compatible = "brcm,bcm2711-rng2000", },
+ { .compatible = "brcm,bcm7211-rng2000", },
+ { .compatible = "brcm,bcm7278-rng2000", },
+ { .compatible = "brcm,iproc-rng2000", },
{},
};
MODULE_DEVICE_TABLE(of, iproc_rng200_of_match);
diff --git a/drivers/of/fdt.c b/drivers/of/fdt.c
index 331646d667b9..13308d58785d 100644
--- a/drivers/of/fdt.c
+++ b/drivers/of/fdt.c
@@ -1100,7 +1100,7 @@ int __init early_init_dt_scan_chosen(char *cmdline)
rng_seed = of_get_flat_dt_prop(node, "rng-seed", &l);
if (rng_seed && l > 0) {
- add_bootloader_randomness(rng_seed, l);
+ //add_bootloader_randomness(rng_seed, l);
/* try to clear seed so it won't be found. */
fdt_nop_property(initial_boot_params, node, "rng-seed");
acer@raspberrypi:linux $
Before testing:
acer@raspberrypi:linux $ dmesg | grep rng
[ 3.360898] random: crng init done
After testing:
acer@raspberrypi:~ $ dmesg | grep rng
[ 2.808880] random: crng init done
On 2026/6/16 13:59, Greg KH wrote:
On Tue, Jun 16, 2026 at 01:50:42PM +0800, Enlin Mu wrote:
Accelerate the entropy pool initialization process
How? Please explain.
Signed-off-by: Enlin Mu <[email protected]>
---
kernel/irq/chip.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/kernel/irq/chip.c b/kernel/irq/chip.c
index de754db414d1..cbbd7e7d1156 100644
--- a/kernel/irq/chip.c
+++ b/kernel/irq/chip.c
@@ -926,6 +926,7 @@ void handle_percpu_devid_irq(struct irq_desc *desc)
trace_irq_handler_entry(irq, action);
res = action->handler(irq, raw_cpu_ptr(action->percpu_dev_id));
trace_irq_handler_exit(irq, action, res);
+ add_interrupt_randomness(irq);
Are you sure this does anything measurable?
thanks,
greg k-h