Linus Torvalds wrote:
> If you care, the reason we need to do this on x86 is that the TLB walker
> is speculative and almost totally asynchronous wrt the rest of the CPU
> core, so we may have a CPU "TLB lookup thread" goin on in parallel with
> the TLB cleaning - and that TLB lookup may have looked up the pmd contents
> already but not resolved the entry yet. Which is why we have to
> synchronize the PMD freeing with the TLB flush - the same way we already
> have to do it for the regular data pages.
Alternative suggestion: remove the present bit from the pgd/pmd entry.
After you flushed the tlb, you can clean up the page tables without a
hurry. That will work on any sane system and you don't have to force
data and table pages into the same interface.
bye, Roman
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/