One-shot-oriented event timers management
Alexander Motin
mav at FreeBSD.org
Wed Sep 1 12:21:58 UTC 2010
Gary Jennejohn wrote:
> On Wed, 01 Sep 2010 13:44:26 +0300
> Alexander Motin <mav at FreeBSD.org> wrote:
>> I have reproduced the problem locally. It happens more often when ticks
>> are not stopped on idle, like in your original case (or if explicitly
>> enabled by kern.eventtimer.idletick sysctl).
>>
>> I've made some changes to HPET driver, which, I hope, should fix
>> interrupt losses there.
>>
>> Updated patch: http://people.freebsd.org/~mav/timers_oneshot6.patch
>>
>> Patch also includes some optimizations to reduce lock contention.
>>
>> Thanks for testing.
>
> OK, I'll give it a try, althought your previous patch seems to be working
> quite well.
Stopping/starting timer around idle could partially hide the problem.
Single external even in such case could be enough to revive system.
> BTW I've also been using tm6292_idle.patch. Do I really need it?
It is not necessary. It just reduces number of events generated by
system by hacking several aggressive places I've found.
--
Alexander Motin
More information about the freebsd-current
mailing list