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-hackers mailing list