Real Time response/latency question
Marcus Sundberg
erammsu at kieraypc01.p.y.ki.era.ericsson.se
Thu Dec 2 02:34:35 EST 1999
Dan Malek <dan at netx4.com> writes:
> Graham Stoney wrote:
> > .... Can anyone give me a rough idea of the maximum latency in user
> >space I could expect on an 860T based system with multiple threads,
> >where only one thread has SCHED_RR realtime scheduling priority?
>
>
> You can't answer this question due to the design and implementation of
> the kernel. Most "real-time" systems can't either once you throw
> protocol stacks, file systems, disk drives, and other external devices
> or distributed services into the feature mix.
>
> I have successfully written applications that required sub-millisecond
> latency. You just have to be careful about other applications in the
> system, and remember that you can't preempt the kernel.
Ingo molnars lowlatency patch (http://www.redhat.com/~mingo/lowlatency-2.2.13-A1)
(adapted to PPC ofcourse) in combination with POSIX realtime scheduling
can actually do great things for you. (Not hard realtime ofcourse
but very good "normal-case" latency even under high load)
However, if you use a serial console - don't even think about doing
anything remotely realtime without the following patch. Without it
the 8xx serial driver can busy-wait up to 25ms(!!!) (assuming 9600
bits/s) when it prints a newline.
Index: n_tty.c
===================================================================
RCS file: /swb/cvs_repository/linux/drivers/char/n_tty.c,v
retrieving revision 1.1.1.1
diff -u -r1.1.1.1 n_tty.c
--- n_tty.c 1999/07/07 13:57:03 1.1.1.1
+++ n_tty.c 1999/11/30 20:17:16
@@ -144,11 +144,13 @@
if (O_ONLCR(tty)) {
if (space < 2)
return -1;
- tty->driver.put_char(tty, '\r');
+ tty->driver.write(tty, 0, "\r\n", 2);
tty->column = 0;
+ } else {
+ tty->driver.put_char(tty, c);
}
tty->canon_column = tty->column;
- break;
+ return 0;
case '\r':
if (O_ONOCR(tty) && tty->column == 0)
return 0;
//Marcus
--
-------------------------------+------------------------------------
Marcus Sundberg | http://www.stacken.kth.se/~mackan/
Royal Institute of Technology | Phone: +46 707 295404
Stockholm, Sweden | E-Mail: mackan at stacken.kth.se
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
More information about the Linuxppc-embedded
mailing list