Hi, These 4 patches implement the suggestion by Linus. The first patch nukes all architecture implementations of tlb_{start,end}_vma() by adding two additional MMU_GATHER config knobs. DaveM, please clarify the sparc64 case, it seems a little odd to have flush_cache_range() but to explicitly not call it at unmap time. It would be nice to remove this one special case. The second patch isn't strictly needed for this series but since I was looking at all this, I figured C-SKY didn't make a whole lot of sense. Guo, please have a look. The third patch cleans up the #ifdeffery and provides a single tlb_{start,end}_vma() implementation for everyone. The fourth, and final, patch does the force TLB-flush on VM_PFNMAP thing. I've had the first three patches exposed to the robots and they've (so far) not reported build (or other) fail.