On Mon, Oct 8, 2018 at 4:34 PM Alexander Duyck <alexander.h.duyck@xxxxxxxxxxxxxxx> wrote: > > In the earlier patch "mm: defer ZONE_DEVICE page initialization to the > point where we init pgmap" I had overlooked the reference count that was > being held per page on the pgmap. As a result on running the ndctl test > "create.sh" we would call into devm_memremap_pages_release and encounter > the following percpu reference count error and hang: > WARNING: CPU: 30 PID: 0 at lib/percpu-refcount.c:155 > percpu_ref_switch_to_atomic_rcu+0xf3/0x120 > > This patch addresses that by performing an update for all of the device > PFNs in a single call. In my testing this seems to resolve the issue while > still allowing us to retain the improvements seen in memory initialization. > > Reported-by: Dan Williams <dan.j.williams@xxxxxxxxx> Tested-by: Dan Williams <dan.j.williams@xxxxxxxxx> Thanks Alex!