On Fri, Apr 07, 2017 at 04:45:26PM +0200, Peter Zijlstra wrote: > On Fri, Apr 07, 2017 at 12:51:15PM +0200, Mathias Krause wrote: > > Why that? It allows fast and CPU local modifications of r/o memory. > > OTOH, an approach that needs to fiddle with page table entries > > requires global synchronization to keep the individual TLB states in > > sync. Hmm.. Not that fast, I'd say. > > The fixmaps used for kmap_atomic are per-cpu, no global sync required.
That might be fine for x86, but for some architectures fixmap slots and kmap_atomic mappings happen to be visible to other CPUs even if they're not required to be. Using an mm solves that for all, though. Thanks, Mark.