On 07/22/2015 03:48 PM, Catalin Marinas wrote: > You are right, on x86 the tlb_single_page_flush_ceiling seems to be > 33, so for an HPAGE_SIZE range the code does a local_flush_tlb() > always. I would say a single page TLB flush is more efficient than a > whole TLB flush but I'm not familiar enough with x86.
The last time I looked, the instruction to invalidate a single page is more expensive than the instruction to flush the entire TLB. We also don't bother doing ranged flushes _ever_ for hugetlbfs TLB invalidations, but that was just because the work done around commit e7b52ffd4 didn't see any benefit. That said, I can't imagine this will hurt anything. We also have TLBs that can mix 2M and 4k pages and I don't think we did back when we put that code in originally. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/