aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/trace/trace.h
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2009-02-09 04:35:12 -0500
committerIngo Molnar <mingo@elte.hu>2009-02-09 04:35:12 -0500
commit44b0635481437140b0e29d6023f05e805d5e7620 (patch)
treeff31986115075410d0479df307a6b9841976026c /kernel/trace/trace.h
parent4ad476e11f94fd3724c6e272d8220e99cd222b27 (diff)
parent57794a9d48b63e34acbe63282628c9f029603308 (diff)
Merge branch 'tip/tracing/core/devel' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/ftrace
Conflicts: kernel/trace/trace_hw_branches.c
Diffstat (limited to 'kernel/trace/trace.h')
-rw-r--r--kernel/trace/trace.h7
1 files changed, 3 insertions, 4 deletions
diff --git a/kernel/trace/trace.h b/kernel/trace/trace.h
index f2742fb1575a..b9838f4a6929 100644
--- a/kernel/trace/trace.h
+++ b/kernel/trace/trace.h
@@ -45,7 +45,6 @@ enum trace_type {
45 */ 45 */
46struct trace_entry { 46struct trace_entry {
47 unsigned char type; 47 unsigned char type;
48 unsigned char cpu;
49 unsigned char flags; 48 unsigned char flags;
50 unsigned char preempt_count; 49 unsigned char preempt_count;
51 int pid; 50 int pid;
@@ -625,12 +624,12 @@ extern struct tracer nop_trace;
625 * preempt_enable (after a disable), a schedule might take place 624 * preempt_enable (after a disable), a schedule might take place
626 * causing an infinite recursion. 625 * causing an infinite recursion.
627 * 626 *
628 * To prevent this, we read the need_recshed flag before 627 * To prevent this, we read the need_resched flag before
629 * disabling preemption. When we want to enable preemption we 628 * disabling preemption. When we want to enable preemption we
630 * check the flag, if it is set, then we call preempt_enable_no_resched. 629 * check the flag, if it is set, then we call preempt_enable_no_resched.
631 * Otherwise, we call preempt_enable. 630 * Otherwise, we call preempt_enable.
632 * 631 *
633 * The rational for doing the above is that if need resched is set 632 * The rational for doing the above is that if need_resched is set
634 * and we have yet to reschedule, we are either in an atomic location 633 * and we have yet to reschedule, we are either in an atomic location
635 * (where we do not need to check for scheduling) or we are inside 634 * (where we do not need to check for scheduling) or we are inside
636 * the scheduler and do not want to resched. 635 * the scheduler and do not want to resched.
@@ -651,7 +650,7 @@ static inline int ftrace_preempt_disable(void)
651 * 650 *
652 * This is a scheduler safe way to enable preemption and not miss 651 * This is a scheduler safe way to enable preemption and not miss
653 * any preemption checks. The disabled saved the state of preemption. 652 * any preemption checks. The disabled saved the state of preemption.
654 * If resched is set, then we were either inside an atomic or 653 * If resched is set, then we are either inside an atomic or
655 * are inside the scheduler (we would have already scheduled 654 * are inside the scheduler (we would have already scheduled
656 * otherwise). In this case, we do not want to call normal 655 * otherwise). In this case, we do not want to call normal
657 * preempt_enable, but preempt_enable_no_resched instead. 656 * preempt_enable, but preempt_enable_no_resched instead.