On Thu, 2012-06-28 at 13:19 +0200, Martin Schwidefsky wrote:
The cpu can create speculative TLB entries, but only if it runs in the
mode that uses the respective mm. We have two mm's active at the same
time, the kernel mm (init_mm) and the user mm. While the cpu runs only
in kernel mode it is not allowed to create TLBs for the user mm.
While running in user mode it is allowed to speculatively create TLBs.
OK, that's neat.
Basically we have two special requirements on s390:
1) do not modify ptes while attached to another cpu except with the
special IPTE / IDTE instructions
Right, and your fullmm case works by doing a global invalidate after all
threads have ceased userspace execution, this allows you to do away with
the IPTE/IDTE instructions since there's no other active cpus on the
userspace mm anymore.
2) do a TLB flush before freeing any kind of page table page, s390
needs a flush for pud, pmd & pte tables.
Right, we do that (now)..
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>