• David Daney's avatar
    MIPS: Collect FPU emulator statistics per-CPU. · b6ee75ed
    David Daney authored
    On SMP systems, the collection of statistics can cause cache line
    bouncing in the lines associated with the counters.  Also there are
    races incrementing the counters on multiple CPUs.
    
    To fix both problems, we collect the statistics in per-CPU variables,
    and add them up in the debugfs read operation.
    
    As a test I ran the LTP float_bessel test on a 12 CPU Octeon system.
    
    Without CONFIG_DEBUG_FS :             2602 seconds.
    With CONFIG_DEBUG_FS:                 2640 seconds.
    With non-cpu-local atomic statistics: 14569 seconds.
    Signed-off-by: default avatarDavid Daney <ddaney@caviumnetworks.com>
    Cc: linux-mips@linux-mips.org
    Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
    b6ee75ed
fpu_emulator.h 1.98 KB