With exception of the very first patch, this whole series is probablt RFC at this point.
(and thanks to sending that earlier email saying that I was stumped by this crap, I instantly spotted my problem) Dave, I didn't address that tlbinv(0) point you made, mostly because I didn't have a good answer. These patches get rid of around ~40 lines of pageattr.c while adding smarts and removing a few (IMO) warts. The total LoC improvement not quite as impressive because of the additional lines of selftest. --- arch/x86/mm/mm_internal.h | 2 + arch/x86/mm/pageattr-test.c | 31 +++-- arch/x86/mm/pageattr.c | 267 +++++++++++++++++++------------------------- arch/x86/mm/tlb.c | 4 +- 4 files changed, 143 insertions(+), 161 deletions(-)