Michał Cłapiński wrote: [..] > > However, I believe that falls back to synchronous probing if the driver > > is loaded after the device has already arrived. Is that the case you are > > hitting? > > Yes. I use all pmem/devdax modules built into the kernel so loading > them is in the critical path for kernel boot. > I use memmap= with devdax. So first, the pmem device is created > asynchronously, which means loading the nd_e820 module is always fast. > But then, the dax_pmem driver is loaded. If the dax device has not yet > been created by the async code, then loading this module is also fast. > But if the dax device has already been created, then attaching it to > the dax_pmem driver will be synchronous and on the critical boot path. > > For thousands of dax devices, this increases the boot time by more > than a second. With the patch it takes ~10ms. > > > I am ok with this in concept, but if we do this it should be done for > > all dax drivers, not just dax_pmem. > > Will do in v2.
Sounds good, include that detail above and I'll ack / poke Ira to pick it up.

