diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-05-22 21:18:55 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-05-22 21:18:55 -0400 |
commit | 2ff2b289a695807e291e1ed9f639d8a3ba5f4254 (patch) | |
tree | e4b7f44e5cc1582ba2be8aeba221f4841f4c86a6 /kernel/sched | |
parent | 88d6ae8dc33af12fe1c7941b1fae2767374046fd (diff) | |
parent | 73787190d04a34e6da745da893b3ae8bedde418f (diff) |
Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull perf changes from Ingo Molnar:
"Lots of changes:
- (much) improved assembly annotation support in perf report, with
jump visualization, searching, navigation, visual output
improvements and more.
- kernel support for AMD IBS PMU hardware features. Notably 'perf
record -e cycles:p' and 'perf top -e cycles:p' should work without
skid now, like PEBS does on the Intel side, because it takes
advantage of IBS transparently.
- the libtracevents library: it is the first step towards unifying
tracing tooling and perf, and it also gives a tracing library for
external tools like powertop to rely on.
- infrastructure: various improvements and refactoring of the UI
modules and related code
- infrastructure: cleanup and simplification of the profiling
targets code (--uid, --pid, --tid, --cpu, --all-cpus, etc.)
- tons of robustness fixes all around
- various ftrace updates: speedups, cleanups, robustness
improvements.
- typing 'make' in tools/ will now give you a menu of projects to
build and a short help text to explain what each does.
- ... and lots of other changes I forgot to list.
The perf record make bzImage + perf report regression you reported
should be fixed."
* 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (166 commits)
tracing: Remove kernel_lock annotations
tracing: Fix initial buffer_size_kb state
ring-buffer: Merge separate resize loops
perf evsel: Create events initially disabled -- again
perf tools: Split term type into value type and term type
perf hists: Fix callchain ip printf format
perf target: Add uses_mmap field
ftrace: Remove selecting FRAME_POINTER with FUNCTION_TRACER
ftrace/x86: Have x86 ftrace use the ftrace_modify_all_code()
ftrace: Make ftrace_modify_all_code() global for archs to use
ftrace: Return record ip addr for ftrace_location()
ftrace: Consolidate ftrace_location() and ftrace_text_reserved()
ftrace: Speed up search by skipping pages by address
ftrace: Remove extra helper functions
ftrace: Sort all function addresses, not just per page
tracing: change CPU ring buffer state from tracing_cpumask
tracing: Check return value of tracing_dentry_percpu()
ring-buffer: Reset head page before running self test
ring-buffer: Add integrity check at end of iter read
ring-buffer: Make addition of pages in ring buffer atomic
...
Diffstat (limited to 'kernel/sched')
-rw-r--r-- | kernel/sched/core.c | 9 |
1 files changed, 1 insertions, 8 deletions
diff --git a/kernel/sched/core.c b/kernel/sched/core.c index 03667c3fdb33..d2e2e173d8f7 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c | |||
@@ -1914,7 +1914,7 @@ prepare_task_switch(struct rq *rq, struct task_struct *prev, | |||
1914 | struct task_struct *next) | 1914 | struct task_struct *next) |
1915 | { | 1915 | { |
1916 | sched_info_switch(prev, next); | 1916 | sched_info_switch(prev, next); |
1917 | perf_event_task_sched_out(prev, next); | 1917 | perf_event_task_sched(prev, next); |
1918 | fire_sched_out_preempt_notifiers(prev, next); | 1918 | fire_sched_out_preempt_notifiers(prev, next); |
1919 | prepare_lock_switch(rq, next); | 1919 | prepare_lock_switch(rq, next); |
1920 | prepare_arch_switch(next); | 1920 | prepare_arch_switch(next); |
@@ -1957,13 +1957,6 @@ static void finish_task_switch(struct rq *rq, struct task_struct *prev) | |||
1957 | */ | 1957 | */ |
1958 | prev_state = prev->state; | 1958 | prev_state = prev->state; |
1959 | finish_arch_switch(prev); | 1959 | finish_arch_switch(prev); |
1960 | #ifdef __ARCH_WANT_INTERRUPTS_ON_CTXSW | ||
1961 | local_irq_disable(); | ||
1962 | #endif /* __ARCH_WANT_INTERRUPTS_ON_CTXSW */ | ||
1963 | perf_event_task_sched_in(prev, current); | ||
1964 | #ifdef __ARCH_WANT_INTERRUPTS_ON_CTXSW | ||
1965 | local_irq_enable(); | ||
1966 | #endif /* __ARCH_WANT_INTERRUPTS_ON_CTXSW */ | ||
1967 | finish_lock_switch(rq, prev); | 1960 | finish_lock_switch(rq, prev); |
1968 | finish_arch_post_lock_switch(); | 1961 | finish_arch_post_lock_switch(); |
1969 | 1962 | ||