Ingo Molnar wrote: > nice stuff! > > I suspect the extra cost might be worth it for two reasons: 1) we could > optimize the cross-call implementation further Unfortunately, I think the kmalloc fix for the RCU issue is going to hurt quite a lot. > 2) on systems where TLB > flushes actually matter, the ability to overlap multiple TLB flushes to > the same single CPU might improve workloads. > ...perhaps. > FYI, i've created a new -tip topic for your patches, tip/x86/tlbflush. > It's based on tip/irq/sparseirq (there are a good deal of dependencies > with that topic). > Really? I didn't see much conflict when rebasing onto current tip.git. Just an incidental context conflict in entry_arch.h. > It would be nice to see some numbers on sufficiently SMP systems, using > some mmap/munmap intense workload. I've attached my test program: tlb-mash.c. Compile with "gcc -o tlb-mash tlb-mash.c -lpthread" and run with ./tlb-mash X, where X is the number of threads to run (2x cpus works well). It keeps running until killed, with each thread repeatedly mprotecting a page within a shared mapping. J