• Paul Jackson's avatar
    [PATCH] cpuset: combine refresh_mems and update_mems · cf2a473c
    Paul Jackson authored
    The important code paths through alloc_pages_current() and alloc_page_vma(),
    by which most kernel page allocations go, both called
    cpuset_update_current_mems_allowed(), which in turn called refresh_mems().
    -Both- of these latter two routines did a tasklock, got the tasks cpuset
    pointer, and checked for out of date cpuset->mems_generation.
    
    That was a silly duplication of code and waste of CPU cycles on an important
    code path.
    
    Consolidated those two routines into a single routine, called
    cpuset_update_task_memory_state(), since it updates more than just
    mems_allowed.
    
    Changed all callers of either routine to call the new consolidated routine.
    Signed-off-by: default avatarPaul Jackson <pj@sgi.com>
    Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
    cf2a473c
mempolicy.c 39.1 KB