In 4.3.1, "Caveats of using a TLB", we have a mysterious paragraph with the line
"When the system call returns to the same process, all those flushed TLB entries could be used
again, but they will be gone."
What is Ulrich specifically talking about here? If Linux -- it fundamentally does not need to
flush the TLB when just switching from/to the kernel. A task switch needs a flush, but sharing
the virtual address-space between user and kernel as Linux does is exactly _because_ with it,
you don't need a TLB flush.
Needing one is the costly aspect of the (IA32) 4G/4G patches. With the split, that's what you
save.