mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-16 16:54:20 +08:00
bba9076058
This is just a test program for raw_spinlocks. The main reason I wrote it is to validate my spinlock changes that I sent in a previous patch. To use it enable CONFIG_DEBUG_FS and CONFIG_SPINLOCK_TEST then at run time do: # mount -t debugfs none /sys/kernel/debug/ # cat /sys/kernel/debug/mips/spin_single # cat /sys/kernel/debug/mips/spin_multi On my 600MHz octeon cn5860 (16 CPUs) I get spin_single spin_multi base 106885 247941 spinlock_patch 75194 219465 This shows that for uncontended locks the spinlock patch gives 41% improvement and for contended locks 12% improvement (1/time). Signed-off-by: David Daney <ddaney@caviumnetworks.com> To: linux-mips@linux-mips.org Patchwork: http://patchwork.linux-mips.org/patch/969/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
132 lines
4.6 KiB
Plaintext
132 lines
4.6 KiB
Plaintext
menu "Kernel hacking"
|
|
|
|
config TRACE_IRQFLAGS_SUPPORT
|
|
bool
|
|
default y
|
|
|
|
source "lib/Kconfig.debug"
|
|
|
|
config EARLY_PRINTK
|
|
bool "Early printk" if EMBEDDED
|
|
depends on SYS_HAS_EARLY_PRINTK
|
|
default y
|
|
help
|
|
This option enables special console drivers which allow the kernel
|
|
to print messages very early in the bootup process.
|
|
|
|
This is useful for kernel debugging when your machine crashes very
|
|
early before the console code is initialized. For normal operation,
|
|
it is not recommended because it looks ugly on some machines and
|
|
doesn't cooperate with an X server. You should normally say N here,
|
|
unless you want to debug such a crash.
|
|
|
|
config CMDLINE_BOOL
|
|
bool "Built-in kernel command line"
|
|
default n
|
|
help
|
|
For most systems, it is firmware or second stage bootloader that
|
|
by default specifies the kernel command line options. However,
|
|
it might be necessary or advantageous to either override the
|
|
default kernel command line or add a few extra options to it.
|
|
For such cases, this option allows you to hardcode your own
|
|
command line options directly into the kernel. For that, you
|
|
should choose 'Y' here, and fill in the extra boot arguments
|
|
in CONFIG_CMDLINE.
|
|
|
|
The built-in options will be concatenated to the default command
|
|
line if CMDLINE_OVERRIDE is set to 'N'. Otherwise, the default
|
|
command line will be ignored and replaced by the built-in string.
|
|
|
|
Most MIPS systems will normally expect 'N' here and rely upon
|
|
the command line from the firmware or the second-stage bootloader.
|
|
|
|
config CMDLINE
|
|
string "Default kernel command string"
|
|
depends on CMDLINE_BOOL
|
|
default ""
|
|
help
|
|
On some platforms, there is currently no way for the boot loader to
|
|
pass arguments to the kernel. For these platforms, and for the cases
|
|
when you want to add some extra options to the command line or ignore
|
|
the default command line, you can supply some command-line options at
|
|
build time by entering them here. In other cases you can specify
|
|
kernel args so that you don't have to set them up in board prom
|
|
initialization routines.
|
|
|
|
For more information, see the CMDLINE_BOOL and CMDLINE_OVERRIDE
|
|
options.
|
|
|
|
config CMDLINE_OVERRIDE
|
|
bool "Built-in command line overrides firware arguments"
|
|
default n
|
|
depends on CMDLINE_BOOL
|
|
help
|
|
By setting this option to 'Y' you will have your kernel ignore
|
|
command line arguments from firmware or second stage bootloader.
|
|
Instead, the built-in command line will be used exclusively.
|
|
|
|
Normally, you will choose 'N' here.
|
|
|
|
config DEBUG_STACK_USAGE
|
|
bool "Enable stack utilization instrumentation"
|
|
depends on DEBUG_KERNEL
|
|
help
|
|
Enables the display of the minimum amount of free stack which each
|
|
task has ever had available in the sysrq-T and sysrq-P debug output.
|
|
|
|
This option will slow down process creation somewhat.
|
|
|
|
config SMTC_IDLE_HOOK_DEBUG
|
|
bool "Enable additional debug checks before going into CPU idle loop"
|
|
depends on DEBUG_KERNEL && MIPS_MT_SMTC
|
|
help
|
|
This option enables Enable additional debug checks before going into
|
|
CPU idle loop. For details on these checks, see
|
|
arch/mips/kernel/smtc.c. This debugging option result in significant
|
|
overhead so should be disabled in production kernels.
|
|
|
|
config SB1XXX_CORELIS
|
|
bool "Corelis Debugger"
|
|
depends on SIBYTE_SB1xxx_SOC
|
|
select DEBUG_INFO
|
|
help
|
|
Select compile flags that produce code that can be processed by the
|
|
Corelis mksym utility and UDB Emulator.
|
|
|
|
config RUNTIME_DEBUG
|
|
bool "Enable run-time debugging"
|
|
depends on DEBUG_KERNEL
|
|
help
|
|
If you say Y here, some debugging macros will do run-time checking.
|
|
If you say N here, those macros will mostly turn to no-ops. See
|
|
arch/mips/include/asm/debug.h for debugging macros.
|
|
If unsure, say N.
|
|
|
|
config DEBUG_ZBOOT
|
|
bool "Enable compressed kernel support debugging"
|
|
depends on DEBUG_KERNEL && SYS_SUPPORTS_ZBOOT
|
|
default n
|
|
help
|
|
If you want to add compressed kernel support to a new board, and the
|
|
board supports uart16550 compatible serial port, please select
|
|
SYS_SUPPORTS_ZBOOT_UART16550 for your board and enable this option to
|
|
debug it.
|
|
|
|
If your board doesn't support uart16550 compatible serial port, you
|
|
can try to select SYS_SUPPORTS_ZBOOT and use the other methods to
|
|
debug it. for example, add a new serial port support just as
|
|
arch/mips/boot/compressed/uart-16550.c does.
|
|
|
|
After the compressed kernel support works, please disable this option
|
|
to reduce the kernel image size and speed up the booting procedure a
|
|
little.
|
|
|
|
config SPINLOCK_TEST
|
|
bool "Enable spinlock timing tests in debugfs"
|
|
depends on DEBUG_FS
|
|
default n
|
|
help
|
|
Add several files to the debugfs to test spinlock speed.
|
|
|
|
endmenu
|