Re: sched: trace: update trace_sched_wakeup()



On Tue, 2008-12-16 at 08:07 +0100, Peter Zijlstra wrote:
Add the information needed to distinguish 'real' wakeups from 'false'
wakeups.

I don't seem to be doing so well this morning...

Signed-off-by: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>

Thanks Dhaval!

---
include/trace/sched.h | 4 ++--
kernel/sched.c | 2 +-
kernel/trace/trace_sched_switch.c | 2 +-
kernel/trace/trace_sched_wakeup.c | 2 +-
4 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/include/trace/sched.h b/include/trace/sched.h
index 9b2854a..a0861d2 100644
--- a/include/trace/sched.h
+++ b/include/trace/sched.h
@@ -17,8 +17,8 @@ DECLARE_TRACE(sched_wait_task,
TPARGS(rq, p));

DECLARE_TRACE(sched_wakeup,
- TPPROTO(struct rq *rq, struct task_struct *p),
- TPARGS(rq, p));
+ TPPROTO(struct rq *rq, struct task_struct *p, int success),
+ TPARGS(rq, p, success));

DECLARE_TRACE(sched_wakeup_new,
TPPROTO(struct rq *rq, struct task_struct *p),
diff --git a/kernel/sched.c b/kernel/sched.c
index 0eff15b..953ded9 100644
--- a/kernel/sched.c
+++ b/kernel/sched.c
@@ -2329,7 +2329,7 @@ out_activate:
success = 1;

out_running:
- trace_sched_wakeup(rq, p);
+ trace_sched_wakeup(rq, p, success);
check_preempt_curr(rq, p, sync);

p->state = TASK_RUNNING;
diff --git a/kernel/trace/trace_sched_switch.c b/kernel/trace/trace_sched_switch.c
index 8633905..d4db564 100644
--- a/kernel/trace/trace_sched_switch.c
+++ b/kernel/trace/trace_sched_switch.c
@@ -49,7 +49,7 @@ probe_sched_switch(struct rq *__rq, struct task_struct *prev,
}

static void
-probe_sched_wakeup(struct rq *__rq, struct task_struct *wakee)
+probe_sched_wakeup(struct rq *__rq, struct task_struct *wakee, int success)
{
struct trace_array_cpu *data;
unsigned long flags;
diff --git a/kernel/trace/trace_sched_wakeup.c b/kernel/trace/trace_sched_wakeup.c
index 0067b49..43586b6 100644
--- a/kernel/trace/trace_sched_wakeup.c
+++ b/kernel/trace/trace_sched_wakeup.c
@@ -211,7 +211,7 @@ static void wakeup_reset(struct trace_array *tr)
}

static void
-probe_wakeup(struct rq *rq, struct task_struct *p)
+probe_wakeup(struct rq *rq, struct task_struct *p, int success)
{
int cpu = smp_processor_id();
unsigned long flags;

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



Relevant Pages

  • Re: Zoned counters V1 [14/14]: Remove wbs
    ... > * Work out the current dirty-memory clamping and background writeout ... > More majordomo info at http://vger.kernel.org/majordomo-info.html ... > Please read the FAQ at http://www.tux.org/lkml/ ...
    (Linux-Kernel)
  • Re: sched: trace: update trace_sched_wakeup()
    ... unsigned long flags; ... More majordomo info at http://vger.kernel.org/majordomo-info.html ... Please read the FAQ at http://www.tux.org/lkml/ ...
    (Linux-Kernel)
  • Re: [PATCH] swiotlb: make range_needs_mapping architecture-specific
    ... static void swiotlb_print_info ... More majordomo info at http://vger.kernel.org/majordomo-info.html ... Please read the FAQ at http://www.tux.org/lkml/ ...
    (Linux-Kernel)
  • Re: No more bits in vm_area_structs vm_flags.
    ... KAMEZAWA Hiroyuki wrote: ... used flags to a new variable so that other flags that need to be in vm_flags ... More majordomo info at http://vger.kernel.org/majordomo-info.html ... Please read the FAQ at http://www.tux.org/lkml/ ...
    (Linux-Kernel)
  • Re: modpost error about size inconsitency
    ... minor conflicts with the eisa stuff. ... static void do_table(void *symval, unsigned long size, ... More majordomo info at http://vger.kernel.org/majordomo-info.html ... Please read the FAQ at http://www.tux.org/lkml/ ...
    (Linux-Kernel)