> On Jul 16, 2019, at 3:07 PM, Dan Williams <dan.j.williams@xxxxxxxxx> wrote: > > On Tue, Jul 16, 2019 at 3:01 PM Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> wrote: >> On Tue, 18 Jun 2019 21:56:43 +0000 Nadav Amit <namit@xxxxxxxxxx> wrote: >> >>>> ...and is constant for the life of the device and all subsequent mappings. >>>> >>>>> Perhaps you want to cache the cachability-mode in vma->vm_page_prot (which I >>>>> see being done in quite a few cases), but I don’t know the code well enough >>>>> to be certain that every vma should have a single protection and that it >>>>> should not change afterwards. >>>> >>>> No, I'm thinking this would naturally fit as a property hanging off a >>>> 'struct dax_device', and then create a version of vmf_insert_mixed() >>>> and vmf_insert_pfn_pmd() that bypass track_pfn_insert() to insert that >>>> saved value. >>> >>> Thanks for the detailed explanation. I’ll give it a try (the moment I find >>> some free time). I still think that patch 2/3 is beneficial, but based on >>> your feedback, patch 3/3 should be dropped. >> >> It has been a while. What should we do with >> >> resource-fix-locking-in-find_next_iomem_res.patch > > This one looks obviously correct to me, you can add: > > Reviewed-by: Dan Williams <dan.j.williams@xxxxxxxxx> > >> resource-avoid-unnecessary-lookups-in-find_next_iomem_res.patch > > This one is a good bug report that we need to go fix pgprot lookups > for dax, but I don't think we need to increase the trickiness of the > core resource lookup code in the meantime. I think that traversing big parts of the tree that are known to be irrelevant is wasteful no matter what, and this code is used in other cases. I don’t think the new code is so tricky - can you point to the part of the code that you find tricky?