diff options
author | Ingo Molnar <mingo@elte.hu> | 2009-09-24 12:59:11 +0200 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2009-09-24 12:59:18 +0200 |
commit | d2ff6de537c61a0f05731c6679f3e1abc2d95e68 (patch) | |
tree | 821aa38121f57a9d5419388ef10ea6f3aa445d4d /init | |
parent | e23a8b6a8f319c0f08b6ccef2dccbb37e7603dc2 (diff) | |
parent | a724eada8c2a7b62463b73ccf73fd0bb6e928aeb (diff) | |
download | op-kernel-dev-d2ff6de537c61a0f05731c6679f3e1abc2d95e68.zip op-kernel-dev-d2ff6de537c61a0f05731c6679f3e1abc2d95e68.tar.gz |
Merge branch 'linus' into x86/urgent
Merge reason: Queueing up dependent early-printk fix.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'init')
-rw-r--r-- | init/Kconfig | 45 | ||||
-rw-r--r-- | init/main.c | 6 |
2 files changed, 35 insertions, 16 deletions
diff --git a/init/Kconfig b/init/Kconfig index 0121c0e..0aa6579 100644 --- a/init/Kconfig +++ b/init/Kconfig @@ -916,31 +916,36 @@ config AIO by some high performance threaded applications. Disabling this option saves about 7k. -config HAVE_PERF_COUNTERS +config HAVE_PERF_EVENTS bool help See tools/perf/design.txt for details. -menu "Performance Counters" +menu "Kernel Performance Events And Counters" -config PERF_COUNTERS - bool "Kernel Performance Counters" - default y if PROFILING - depends on HAVE_PERF_COUNTERS +config PERF_EVENTS + bool "Kernel performance events and counters" + default y if (PROFILING || PERF_COUNTERS) + depends on HAVE_PERF_EVENTS select ANON_INODES help - Enable kernel support for performance counter hardware. + Enable kernel support for various performance events provided + by software and hardware. + + Software events are supported either build-in or via the + use of generic tracepoints. - Performance counters are special hardware registers available - on most modern CPUs. These registers count the number of certain + Most modern CPUs support performance events via performance + counter registers. These registers count the number of certain types of hw events: such as instructions executed, cachemisses suffered, or branches mis-predicted - without slowing down the kernel or applications. These registers can also trigger interrupts when a threshold number of events have passed - and can thus be used to profile the code that runs on that CPU. - The Linux Performance Counter subsystem provides an abstraction of - these hardware capabilities, available via a system call. It + The Linux Performance Event subsystem provides an abstraction of + these software and hardware cevent apabilities, available via a + system call and used by the "perf" utility in tools/perf/. It provides per task and per CPU counters, and it provides event capabilities on top of those. @@ -948,17 +953,29 @@ config PERF_COUNTERS config EVENT_PROFILE bool "Tracepoint profiling sources" - depends on PERF_COUNTERS && EVENT_TRACING + depends on PERF_EVENTS && EVENT_TRACING default y help - Allow the use of tracepoints as software performance counters. + Allow the use of tracepoints as software performance events. - When this is enabled, you can create perf counters based on + When this is enabled, you can create perf events based on tracepoints using PERF_TYPE_TRACEPOINT and the tracepoint ID found in debugfs://tracing/events/*/*/id. (The -e/--events option to the perf tool can parse and interpret symbolic tracepoints, in the subsystem:tracepoint_name format.) +config PERF_COUNTERS + bool "Kernel performance counters (old config option)" + depends on HAVE_PERF_EVENTS + help + This config has been obsoleted by the PERF_EVENTS + config option - please see that one for details. + + It has no effect on the kernel whether you enable + it or not, it is a compatibility placeholder. + + Say N if unsure. + endmenu config VM_EVENT_COUNTERS diff --git a/init/main.c b/init/main.c index 34971be..6107223 100644 --- a/init/main.c +++ b/init/main.c @@ -68,6 +68,7 @@ #include <linux/async.h> #include <linux/kmemcheck.h> #include <linux/kmemtrace.h> +#include <linux/sfi.h> #include <linux/shmem_fs.h> #include <trace/boot.h> @@ -668,12 +669,12 @@ asmlinkage void __init start_kernel(void) #endif thread_info_cache_init(); cred_init(); - fork_init(num_physpages); + fork_init(totalram_pages); proc_caches_init(); buffer_init(); key_init(); security_init(); - vfs_caches_init(num_physpages); + vfs_caches_init(totalram_pages); radix_tree_init(); signals_init(); /* rootfs populating might need page-writeback */ @@ -689,6 +690,7 @@ asmlinkage void __init start_kernel(void) check_bugs(); acpi_early_init(); /* before LAPIC and SMP init */ + sfi_init_late(); ftrace_init(); |