On Mon, Sep 10, 2018 at 12:06 PM Dan Williams <dan.j.williams@xxxxxxxxx> wrote: > > [ adding Alex ] > > On Tue, Jul 24, 2018 at 12:29 AM, Michal Hocko <mhocko@xxxxxxxxxx> wrote: > > On Mon 23-07-18 09:15:32, Dave Hansen wrote: > >> On 07/23/2018 04:09 AM, Michal Hocko wrote: > >> > On Thu 19-07-18 11:41:10, Dave Hansen wrote: > >> >> Are you looking for the actual end-user reports? This was more of a > >> >> case of the customer plugging in some persistent memory DIMMs, noticing > >> >> the boot delta and calling the folks who sold them the DIMMs (Intel). > >> > But this doesn't sound like something to rush a solution for in the > >> > upcoming merge windown, does it? > >> > >> No, we should not rush it. We'll try to rework it properly. > > > > Thanks a lot Dave! I definitely do not mean to block this at all. I just > > really do not like to have the code even more cluttered than we have > > now. > > Hi Michal, > > I'm back from vacation. I owe you an apology I was entirely too > prickly on this thread, and the vacation cool-off-time was much > needed. > > I come back to see that Alex has found a trove of low hanging fruit to > speed up ZONE_DEVICE init and ditch most of the complication I was > pushing. I'll let him chime in on the direction he wants to take this. The basic plan I have for now will basically replace the entire set-up with just 2 patches that would build on the 2 patches I had submitted earlier. One is a patch to the libnvdimm code to make it so that the probe routine NUMA aware similar to what is done in pci_call_probe. All of the async bits necessary were already contained in the libnvdimm code anyway. Ideally I need to probably look at following up with adding some NUMA awareness to the async_schedule_domain function. The second is actually pretty simple. Instead of moving the setting of the pgmap into memmap_init_zone we instead create a new function to take care of setting the pgmap and include the functionality from memmap_init_zone. The boundary between what is initialized and what isn't is where we start replacing the LRU list pointers with pgmap and hmm_data. I might try to send them out as an RFC later today to get everyone's thoughts. Thanks. - Alex