Yeah, with those small fixes from Ingo, I definitely don't think this looks hacky at all. This all seems to be exactly what we should always have done.
The only remaining comment is that I'd make that
lazy_tlb_can_skip_flush() function just use a switch table for the
tlbstate comparisons rather than the repeated conditionals.
I'd love to see the results from Benjamin - maybe it helps a lot, and
maybe it doesn't. But regardless, the patch makes sense to me.
So with the small fixups: Ack.
Linus

