> On Jul 16, 2019, at 3:00 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 > resource-avoid-unnecessary-lookups-in-find_next_iomem_res.patch > > ? I didn’t get to follow Dan Williams advice. But, both of two patches are fine on my opinion and should go upstream. The first one fixes a bug and the second one improves performance considerably (and removes most of the overhead). Future improvements can go on top of these patches and are not expected to conflict. So I think they should go upstream - the first one immediately, the second one when possible.