[RFC] Event timers on MIPS
Alexander Motin
mav at FreeBSD.org
Sat Jul 17 19:35:49 UTC 2010
Jayachandran C. wrote:
> On XLR we would like to use the count/compare which is faster but less
> accurate on all cpus - we can have upto 32 cpus now. We also have a
> PIC which can provide a better timestamp and timer interrupts. This
> PIC timestamp can be read from all CPUs but the timer interrupt can be
> delivered to just one CPU at a time. I think this is how we ended up
> with the current implementation, but any suggestions on how to improve
> this is welcome.
I would prefer to not mix the things.
I think:
- PIC timestamp looks like the best candidate for system timecounter.
- per-CPU counters could be registered as per-CPU timecounters with
set_cputicker() - the main criteria there is a speed.
- if per-CPU counters are synchronized between CPUs - they could be
registered as alternative timecounter for people who wish fastest
timecounting; if they are not - they are useless in that role.
- both PIC timer and per-CPU comparators should be independently
registered as eventtimers - it is better to have two of them to from
accounting correctness PoV, and it will allow user to experiment which
one he likes more.
- if there is any other timer hardware - it also should be registered -
it will give additional flexibility.
PS: I've managed to run MALTA kernel with patch under gxemul. It works,
except time is not going right. But I suppose it is emulator problem, as
original kernel works the same.
--
Alexander Motin
More information about the freebsd-mips
mailing list