linux-uconsole/arch
David Daney b6ee75ed4f MIPS: Collect FPU emulator statistics per-CPU.
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: David Daney <ddaney@caviumnetworks.com>
Cc: linux-mips@linux-mips.org
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2009-12-17 01:57:08 +00:00
..
alpha elf: kill USE_ELF_CORE_DUMP 2009-12-16 07:20:12 -08:00
arm Merge branch 'module' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus 2009-12-16 10:47:24 -08:00
avr32 elf: kill USE_ELF_CORE_DUMP 2009-12-16 07:20:12 -08:00
blackfin Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/vapier/blackfin 2009-12-16 10:52:35 -08:00
cris elf: kill USE_ELF_CORE_DUMP 2009-12-16 07:20:12 -08:00
frv elf: kill USE_ELF_CORE_DUMP 2009-12-16 07:20:12 -08:00
h8300 Merge branch 'module' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus 2009-12-16 10:47:24 -08:00
ia64 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6 2009-12-16 12:04:02 -08:00
m32r elf: kill USE_ELF_CORE_DUMP 2009-12-16 07:20:12 -08:00
m68k elf: kill USE_ELF_CORE_DUMP 2009-12-16 07:20:12 -08:00
m68knommu Unify sys_mmap* 2009-12-11 06:44:29 -05:00
microblaze elf: kill USE_ELF_CORE_DUMP 2009-12-16 07:20:12 -08:00
mips MIPS: Collect FPU emulator statistics per-CPU. 2009-12-17 01:57:08 +00:00
mn10300 elf: kill USE_ELF_CORE_DUMP 2009-12-16 07:20:12 -08:00
parisc Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6 2009-12-16 12:04:02 -08:00
powerpc Merge branch 'next' of git://git.secretlab.ca/git/linux-2.6 2009-12-16 13:26:53 -08:00
s390 elf: kill USE_ELF_CORE_DUMP 2009-12-16 07:20:12 -08:00
score elf: kill USE_ELF_CORE_DUMP 2009-12-16 07:20:12 -08:00
sh Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6 2009-12-16 10:29:52 -08:00
sparc Merge branch 'module' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus 2009-12-16 10:47:24 -08:00
um elf: kill USE_ELF_CORE_DUMP 2009-12-16 07:20:12 -08:00
x86 Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 2009-12-16 12:33:19 -08:00
xtensa Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6 2009-12-16 12:04:02 -08:00
.gitignore
Kconfig Merge branch 'kvm-updates/2.6.33' of git://git.kernel.org/pub/scm/virt/kvm/kvm 2009-12-08 08:02:38 -08:00