DragonFly kernel List (threaded) for 2007-01
Re: Virtual Kernel Update - 14 January
:On Sun, Jan 14, 2007 at 05:40:38PM -0800, Matthew Dillon wrote:
:> The one remaining issue on the virtual kernel hot list is a high
:> resolution clock interrupt. I think it is possible to do it using a
:> combination of KQUEUE's timeout feature and SYSTIMERs. I will spend
:> a little time trying to make this work but no promises.
:The Linux -rt folks have made the system timer dynamic and it might be a
:good thing to make dfBSD use that mechanism as well for a whole host of
:reasons other than real time. It just happens to also be a major problem
:with vitualization, paravirtualization, as well. You might want to look
:at an implementation of that by Thomas Gleixner. If you want a link,
:I'll post one that's a bit technically predigested.
Our system timer has been dynamic for a long time. That's what our
SYSTIMER kernel API does. That isn't the problem.
The problem is that the itimer and kqueue timer implementations
use tick-based callouts instead of our systimers, and changing them
over to use systimers requires making them MP safe because systimers
do not run with the MP lock held. That's all. It's just coding.
I don't think I want to try to implement it just before this release.
It requires recoding some significant bits of the signaling code.
But after the release I will look into recoding the kqueue EVFILT_TIMER
interface to use SYSTIMERs instead of callouts.