Koralahalli Channabasappa, Smita wrote: [..] > That said, I'm still evaluating better options to more robustly > coordinate probe ordering between cxl_acpi, cxl_port, cxl_mem and > cxl_region and looking for suggestions here. I never quite understood the arguments around why wait_for_device_probe() does not work, but I did find a bug in my prior thinking on the way towards this RFC [1]. The misunderstanding was that MODULE_SOFTDEP() only guarantees that the module gets loaded eventually, but it does not guarantee that the softdep has completed init before the caller performs its own init. It works sometimes, and that is probably what misled me about that contract. request_module() is synchronous. With that in place I now see what wait_for_device_probe() does the right thing. It flushes cxl_pci attach for devices present at boot, and all follow-on probe work gets flushed as well. With that in hand the RFC now has a stable quiesce point to walk the CXL topology and make decisions. The RFC is effectively a fix for platforms where CXL loses the MODULE_SOFTDEP() race. [1]: http://lore.kernel.org/68808fb4e4cbf_137e6b100cc@xxxxxxxxxxxxxxxxxxxxxxxxx.notmuch