Hi guys, I'd like to get some comments about changes to the mm/memory.c code which determines what to do with user ptes. Basically, we have a vm_normal_page() to determine whether the page under the pte is "normal" (has an underlying struct page, which is refcounted); or "special" (may or may not have a struct page, but either way we don't want to refcount anything). Now the first patch should be uncontroversial. It adds a slightly different special vma mapping that can support COW for arbitrary page and/or pfn mappings. VM_PFNMAP cannot do this due to its special support for COW on /dev/mem. We are going to need this to support non-struct page backed XIP mappings, which is interesting for virtualisation, and for Jared's (IMO very important) work on hybrid RAM/NVRAM filesystems. The second patch simplifies a lot of this tricky logic by using an extra bit in the valid, user pte. Now depending on how s390 goes, this patch may or may not be required to get all this working on that architecture. I'm posting it here for comments because firstly, it might be required; and secondly, it is already written and has some other nice properties for *any* architecture that implements it. While we're working out the exact details of the xip stuff, I'd like to pipeline things by asking for comments on the changes we need to the memory mapping side of things. Thanks, Nick - To unsubscribe from this list: send the line "unsubscribe linux-arch" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html