void trace_preempt_on(unsigned long a0, unsigned long a1)
{
	trace_preemptirqsoff_hist(PREEMPT_ON, 0);
	if (preempt_trace())
		stop_critical_timing(a0, a1);
}
void trace_preempt_off(unsigned long a0, unsigned long a1)
{
	trace_preemptirqsoff_hist(PREEMPT_OFF, 1);
	if (preempt_trace())
		start_critical_timing(a0, a1);
}
void trace_hardirqs_on_caller(unsigned long caller_addr)
{
	trace_preemptirqsoff_hist(IRQS_ON, 0);
	if (!preempt_trace() && irq_trace())
		stop_critical_timing(CALLER_ADDR0, caller_addr);
}
void trace_hardirqs_off_caller(unsigned long caller_addr)
{
	if (!preempt_trace() && irq_trace())
		start_critical_timing(CALLER_ADDR0, caller_addr);
	trace_preemptirqsoff_hist(IRQS_OFF, 1);
}
/*
 * We are only interested in hardirq on/off events:
 */
void trace_hardirqs_on(void)
{
	trace_preemptirqsoff_hist(IRQS_ON, 0);
	if (!preempt_trace() && irq_trace())
		stop_critical_timing(CALLER_ADDR0, CALLER_ADDR1);
}
void trace_hardirqs_off(void)
{
	if (!preempt_trace() && irq_trace())
		start_critical_timing(CALLER_ADDR0, CALLER_ADDR1);
	trace_preemptirqsoff_hist(IRQS_OFF, 1);
}
void time_hardirqs_on(unsigned long a0, unsigned long a1)
{
	trace_preemptirqsoff_hist(IRQS_ON, 0);
	if (!preempt_trace() && irq_trace())
		stop_critical_timing(a0, a1);
}
void time_hardirqs_off(unsigned long a0, unsigned long a1)
{
	if (!preempt_trace() && irq_trace())
		start_critical_timing(a0, a1);
	trace_preemptirqsoff_hist(IRQS_OFF, 1);
}
/* start and stop critical timings used to for stoppage (in idle) */
void start_critical_timings(void)
{
	if (preempt_trace() || irq_trace())
		start_critical_timing(CALLER_ADDR0, CALLER_ADDR1);
	trace_preemptirqsoff_hist(TRACE_START, 1);
}
Example #10
0
void stop_critical_timings(void)
{
	trace_preemptirqsoff_hist(TRACE_STOP, 0);
	if (preempt_trace() || irq_trace())
		stop_critical_timing(CALLER_ADDR0, CALLER_ADDR1);
}
Example #11
0
void trace_preempt_off(unsigned long a0, unsigned long a1)
{
	if (preempt_trace())
		start_critical_timing(a0, a1);
}
Example #12
0
void trace_hardirqs_on_caller(unsigned long caller_addr)
{
	if (!preempt_trace() && irq_trace())
		stop_critical_timing(CALLER_ADDR0, caller_addr);
}
Example #13
0
void trace_hardirqs_off(void)
{
	if (!preempt_trace() && irq_trace())
		start_critical_timing(CALLER_ADDR0, CALLER_ADDR1);
}
Example #14
0
void time_hardirqs_off(unsigned long a0, unsigned long a1)
{
	if (!preempt_trace() && irq_trace())
		start_critical_timing(a0, a1);
}
Example #15
0
void stop_critical_timings(void)
{
	if (preempt_trace() || irq_trace())
		stop_critical_timing(CALLER_ADDR0, CALLER_ADDR1);
}