On 11/21/2017 03:32 PM, Andy Lutomirski wrote: >> To do this, we need to special-case the kernel page table walker to deal >> with PTEs only since we can't just grab PMD or PUD flags and stick them >> in a PTE. We would only be able to use this path when populating things >> that we know are 4k-mapped in the kernel. > I'm not sure I'm understanding the issue. We'd promise to map the > cpu_entry_area without using large pages, but I'm not sure I know what > you're referring to. The only issue I see is that we'd have to be > quite careful when tearing down the user tables to avoid freeing the > shared part. It's just that it currently handles large and small pages in the kernel mapping that it's copying. If we want to have it just copy the PTE, we've got to refactor things a bit to separate out the PTE flags from the paddr being targeted, and also make sure we don't munge the flags conversion from the large-page entries to 4k PTEs. The PAT and PSE bits cause a bit of trouble here. IOW, it would make the call-sites look cleaner, but it largely just shifts the complexity elsewhere. But, either way, it's all contained to kaiser.c -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>