コード例 #1
0
ファイル: sched_monitor.c プロジェクト: Lesozav25/mtk_6572
void mt_trace_ISR_end(int irq)
{
    struct sched_block_event *b;
#ifdef CONFIG_MTK_SCHED_TRACERS
	struct task_struct *tsk= __raw_get_cpu_var(mtk_next_task);
    if (unlikely(!sched_stopped))
        trace_int_switch(tsk, irq, 0);
    __mt_irq_exit(irq);
#endif
    b = & __raw_get_cpu_var(ISR_mon);

    WARN_ON(b->cur_event != irq);
    b->last_event = b->cur_event;
    b->last_ts = b->cur_ts;
    b->last_te = sched_clock();
    b->cur_event = 0;
    b->cur_ts = 0;
    event_duration_check(b);
    aee_rr_rec_last_irq_exit(smp_processor_id(), irq, b->last_te);

    //reset HRTimer function counter
    b = & __raw_get_cpu_var(hrt_mon);
    reset_event_count(b);

}
コード例 #2
0
void mt_trace_ISR_end(int irq)
{
    struct sched_block_event *b;
    b = & __raw_get_cpu_var(ISR_mon);

    WARN_ON(b->cur_event != irq);
    b->last_event = b->cur_event;
    b->last_ts = b->cur_ts;
    b->last_te = sched_clock();
    b->cur_event = 0;
    b->cur_ts = 0;
    event_duration_check(b);
    aee_rr_rec_last_irq_exit(smp_processor_id(), irq, b->last_te);

    //reset HRTimer function counter
    b = & __raw_get_cpu_var(hrt_mon);
    reset_event_count(b);

}