On Tue, Feb 12, 2019 at 09:56:45AM -0800, Roman Gushchin wrote: > The patchset contains few changes to the vmalloc code, which are > leading to some performance gains and code simplification. > > Also, it exports a number of pages, used by vmalloc(), > in /proc/meminfo. > > Patch (1) removes some redundancy on __vunmap(). > Patch (2) separates memory allocation and data initialization > in alloc_vmap_area() > Patch (3) adds vmalloc counter to /proc/meminfo. > > v2->v1: > - rebased on top of current mm tree > - switch from atomic to percpu vmalloc page counter
I don't understand what prompted this change to percpu counters. All writers already write vmap_area_lock and vmap_area_list, so it's not really saving much. The for_each_possible_cpu() for /proc/meminfo on the other hand is troublesome.