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


Reply via email to