• Nicolas Pitre's avatar
    [ARM] alternative copy_to_user: more precise fallback threshold · c626e3f5
    Nicolas Pitre authored
    Previous size thresholds were guessed from various user space benchmarks
    using a kernel with and without the alternative uaccess option.  This
    is however not as precise as a kernel based test to measure the real
    speed of each method.
    
    This adds a simple test bench to show the time needed for each method.
    With this, the optimal size treshold for the alternative implementation
    can be determined with more confidence.  It appears that the optimal
    threshold for both copy_to_user and clear_user is around 64 bytes. This
    is not a surprise knowing that the memcpy and memset implementations
    need at least 64 bytes to achieve maximum throughput.
    
    One might suggest that such test be used to determine the optimal
    threshold at run time instead, but results are near enough to 64 on
    tested targets concerned by this alternative copy_to_user implementation,
    so adding some overhead associated with a variable threshold is probably
    not worth it for now.
    Signed-off-by: default avatarNicolas Pitre <nico@marvell.com>
    c626e3f5
uaccess_with_memcpy.c 5.15 KB