MIPS: sgi-ip27: Implement read_sched_clock
Use ip27 hub real time counter for sched_clock source. This implementation will give high resolution cputime accounting. Signed-off-by: Deng-Cheng Zhu <dengcheng.zhu@imgtec.com> Cc: linux-mips@linux-mips.org Cc: macro@linux-mips.org Patchwork: https://patchwork.linux-mips.org/patch/9483/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
This commit is contained in:

committed by
Ralf Baechle

parent
7cb24b7003
commit
c41cef3653
@@ -7,6 +7,7 @@
|
|||||||
#include <linux/init.h>
|
#include <linux/init.h>
|
||||||
#include <linux/kernel.h>
|
#include <linux/kernel.h>
|
||||||
#include <linux/sched.h>
|
#include <linux/sched.h>
|
||||||
|
#include <linux/sched_clock.h>
|
||||||
#include <linux/interrupt.h>
|
#include <linux/interrupt.h>
|
||||||
#include <linux/kernel_stat.h>
|
#include <linux/kernel_stat.h>
|
||||||
#include <linux/param.h>
|
#include <linux/param.h>
|
||||||
@@ -159,11 +160,18 @@ struct clocksource hub_rt_clocksource = {
|
|||||||
.flags = CLOCK_SOURCE_IS_CONTINUOUS,
|
.flags = CLOCK_SOURCE_IS_CONTINUOUS,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static u64 notrace hub_rt_read_sched_clock(void)
|
||||||
|
{
|
||||||
|
return REMOTE_HUB_L(cputonasid(0), PI_RT_COUNT);
|
||||||
|
}
|
||||||
|
|
||||||
static void __init hub_rt_clocksource_init(void)
|
static void __init hub_rt_clocksource_init(void)
|
||||||
{
|
{
|
||||||
struct clocksource *cs = &hub_rt_clocksource;
|
struct clocksource *cs = &hub_rt_clocksource;
|
||||||
|
|
||||||
clocksource_register_hz(cs, CYCLES_PER_SEC);
|
clocksource_register_hz(cs, CYCLES_PER_SEC);
|
||||||
|
|
||||||
|
sched_clock_register(hub_rt_read_sched_clock, 52, CYCLES_PER_SEC);
|
||||||
}
|
}
|
||||||
|
|
||||||
void __init plat_time_init(void)
|
void __init plat_time_init(void)
|
||||||
|
Reference in New Issue
Block a user