On 7/20/26 9:05 PM, Dave Hansen wrote: > On 7/20/26 05:02, Li Zhe wrote: >> This reduces the average memmap initialization time measured during >> rebind by about 60.4% for nd_pmem and 56.4% for dax_pmem. > There are lots of things in the kernel we could optimize. > > Why is this important? This is in the synchronous probe/bind path for large DAX/PMEM ZONE_DEVICE mappings. Userspace operations such as enabling or reconfiguring nd_pmem/dax_pmem namespaces, or bringing a hot-added PMEM device online, will benefit from the lower synchronous initialization latency.
The numbers in the cover letter are only for memmap_init_zone_device(), not for the full driver bind operation. But that time is still a blocking part of the user-visible operation. On the 100 GB setup it is already a few hundred milliseconds per bind/rebind, and the cost grows with the amount of ZONE_DEVICE memmap initialized. With larger devices, or several namespaces being brought online, that becomes visible provisioning and recovery latency. So the benefit is lower latency for provisioning, hot-add, and recovery or rebind of large DAX/PMEM devices. Thanks, Zhe

