Messages in this thread | | | Date | Thu, 19 Nov 2015 11:13:33 +0100 | From | Michal Hocko <> | Subject | Re: [PATCH v5 4/6] mm, proc: reduce cost of /proc/pid/smaps for unpopulated shmem mappings |
| |
On Wed 18-11-15 10:29:34, Vlastimil Babka wrote: > Following the previous patch, further reduction of /proc/pid/smaps cost is > possible for private writable shmem mappings with unpopulated areas where > the page walk invokes the .pte_hole function. We can use radix tree iterator > for each such area instead of calling find_get_entry() in a loop. This is > possible at the extra maintenance cost of introducing another shmem function > shmem_partial_swap_usage(). > > To demonstrate the diference, I have measured this on a process that creates a > private writable 2GB mapping of a partially swapped out /dev/shm/file (which > cannot employ the optimizations from the prvious patch) and doesn't populate it > at all. I time how long does it take to cat /proc/pid/smaps of this process 100 > times. > > Before this patch: > > real 0m3.831s > user 0m0.180s > sys 0m3.212s > > After this patch: > > real 0m1.176s > user 0m0.180s > sys 0m0.684s > > The time is similar to case where radix tree iterator is employed on the whole > mapping. > > Signed-off-by: Vlastimil Babka <vbabka@suse.cz>
Looks good as well. Acked-by: Michal Hocko <mhocko@suse.com> [...] -- Michal Hocko SUSE Labs
| |