Re: [PATCH v3] kernel/module: Reschedule while waiting for modules to finish loading

From: Jessica Yu
Date: Thu May 02 2019 - 05:50:23 EST


+++ Prarit Bhargava [01/05/19 17:26 -0400]:


On 4/30/19 6:22 PM, Prarit Bhargava wrote:
On a s390 z14 LAR with 2 cpus about stalls about 3% of the time while
loading the s390_trng.ko module.

Add a reschedule point to the loop that waits for modules to complete
loading.

v3: cleanup Fixes line.

Jessica, even with this additional patch there appears to be some other issues
in the module code that are causing significant delays in boot up on large
systems.

Is this limited to only s390? Or are you seeing this on other arches
as well? And is it limited to specific modules (like s390_trng)?

Please revert these fixes from linux-next & modules-next. I apologize for the
extra work but I think it is for the best until I come up with a more complete &
better tested patch.

Sure, then I will revert this patch and the other one as well
("modules: Only return -EEXIST for modules that have finished
loading").

FWIW, the logic in the original patch is correct. It's just that there's, as
Heiko discovered, some poor scheduling, etc., that is impacting the module
loading code after these changes.

I am really curious to see what these performance regressions look
like :/ Please update us when you find out more.

Again, my apologies,

No problem! Thanks again.

Jessica