Dear Takashi, On 04/23/18 14:21, Takashi Iwai wrote: > On Mon, 23 Apr 2018 14:05:52 +0200, > Paul Menzel wrote: >> >> From: Paul Menzel >> Date: Sat, 24 Mar 2018 09:28:43 +0100 >> >> On an ASRock E350M1, with Linux 4.17-rc1 according to `initcall_debug` >> calling `azx_driver_init` takes sometimes more than a few milliseconds, >> and up to 200 ms. >> >> ``` >> [ 2.892598] calling azx_driver_init+0x0/0xfe4 [snd_hda_intel] @ 218 >> [ 2.943002] initcall azx_driver_init+0x0/0xfe4 [snd_hda_intel] >> returned 0 after 49195 usecs >> ``` >> >> Trying to execute the Linux kernel in less than 500 ms, this is quite a >> hold-up, and therefore request the probe from an async task. >> >> With this change, the test shows, that the function returns earlier. >> >> ``` >> [ 3.254800] calling azx_driver_init+0x0/0xfe4 [snd_hda_intel] @ 227 >> [ 3.254887] initcall azx_driver_init+0x0/0xfe4 [snd_hda_intel] >> returned 0 after 66 usecs >> ``` >> >> The same behavior is visible on a Dell OptiPlex 7010. The longer times >> seem to happen, when the module *e1000e* is probed during the same time. >> >> Signed-off-by: Paul Menzel > > What actually took so long? Could you analyze further instead of > blindly putting the flag? Well, I am not sure. Could you please give me hints, how to debug this further? Is there some debug flag? I am only aware of the Ftrace framework, but in my experience it also skews the timings quite a bit, so might not be the best choice. Kind regards, Paul