microblaze: Improve ftrace time measuring
I had to comment sched_clock generic function because of broken toolchain. It is fine grain timing. Signed-off-by: Michal Simek <monstr@monstr.eu>
This commit is contained in:
@@ -235,6 +235,12 @@ static int __init microblaze_clocksource_init(void)
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* We have to protect accesses before timer initialization
|
||||
* and return 0 for sched_clock function below.
|
||||
*/
|
||||
static int timer_initialized;
|
||||
|
||||
void __init time_init(void)
|
||||
{
|
||||
u32 irq, i = 0;
|
||||
@@ -289,4 +295,15 @@ void __init time_init(void)
|
||||
#endif
|
||||
microblaze_clocksource_init();
|
||||
microblaze_clockevent_init();
|
||||
timer_initialized = 1;
|
||||
}
|
||||
|
||||
unsigned long long notrace sched_clock(void)
|
||||
{
|
||||
if (timer_initialized) {
|
||||
struct clocksource *cs = &clocksource_microblaze;
|
||||
cycle_t cyc = cs->read(NULL);
|
||||
return clocksource_cyc2ns(cyc, cs->mult, cs->shift);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
Reference in New Issue
Block a user