I'm currently running a patch that reimplements much of the
timekeeping in the kernel, to avoid all the crud involved with
using the TSC for microsecond timing and the 8254 for long-term
timing and trying to keep them synchronized when using NTP, etc.
One of the things I contemplated doing is to separate jiffies
counting from the timer interrupt. Basically, treat jiffies
just like seconds -- every time 10 ms rolls over, update jiffies
and do the right thing. It would be trivial to implement, and
would probably almost work. This would be the first step to
implementing the equivalent to the microsecond timer feature
of KURT.
(it will be at ftp://stm.lbl.gov/pub/realtime/patch-*-timekeeper
when I get a chance to pull it out of cvs.)
>
> > I want to try this trick on TCP/IP sometime.
>
> I think having RTLinux going in and grope the kernel all over is just
> asking for trouble. That path leads to madness. It will add a tight
> dependency between the internals of Linux and RTLinux. Take it from
> someone who knows: tracking kernel drift is a bitch.
>
> Again: this is why I like my idea of scheduling user-space RT
> processes with the RTLinux run queue. Only a few well-defined places
> are needed for Linux/RTLinux to co-operate.
I'd like to see a hard-real-time context as a fully-integrated
Linux feature. Then we don't have to argue about whose patch
is easier to maintain/touches the kernel less/is smaller. At
one time, I wrote a patch that fully integrated real-time, but
it was impossible to maintain because of kernel drift.
About user-space RT -- since starting to use LXRT, I'm never
going back to writing a module to do hard real time. Well,
maybe... if I need 10 us latency instead of 15 us.
dave...
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/