lkml.org 
[lkml]   [2015]   [Nov]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [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


    \
     
     \ /
      Last update: 2015-11-19 11:21    [W:6.576 / U:0.056 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site