• Jeff Dike's avatar
    [PATCH] uml: TLB operation batching · c5600490
    Jeff Dike authored
    This adds VM op batching to skas0.  Rather than having a context switch to and
    from the userspace stub for each address space change, we write a number of
    operations to the stub data page and invoke a different stub which loops over
    them and executes them all in one go.
    
    The operations are stored as [ system call number, arg1, arg2, ... ] tuples.
    
    The set is terminated by a system call number of 0.  Single operations, i.e.
    page faults, are handled in the old way, since that is slightly more
    efficient.
    
    For a kernel build, a minority (~1/4) of the operations are part of a set.
    These sets averaged ~100 in length, so for this quarter, the context switching
    overhead is greatly reduced.
    Signed-off-by: default avatarJeff Dike <jdike@addtoit.com>
    Cc: Paolo Giarrusso <blaisorblade@yahoo.it>
    Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
    c5600490
mem_user.c 7.54 KB