BFS seems to be doing something seriously right, so here is some reporting from my experiments. Pulled from mail to Con.
> First of all, thank you for your fine work on Linux scheduler. I've been
> really surprised by the low userspace latencies BFS brought. Testing so
> far has been some kernel compilation with video and audio playback, but
> most importantly all the above with timed HW I/O measurement. That means
> a digital storage oscilloscope attched to serial port RTS line and
> wiggling it up/down (40 ms period) with few lines of python. Results are
> groundbreakingThe worst case latency was 10ms on saturated machine
> without any job nicing or schedtool usage. Unloaded latency was always
> below 2ms. Stock kernel would break totally. The machine is Core2 duo
> 1.86GHz with Q965 chipset and integrated graphics. Ubuntu 9.04 64b base
> system and graphics drivers from git.
The piece of python used was:
import serial, time
port = serial.Serial(1) #Serial port number
while(True):
time.sleep(0.02)
port.setRTS(0)
time.sleep(0.02)
port.setRTS(1)
You'll need to have pyserial installed and it's called python-serial in Ubuntu. The signal was taken from pins 5 (ground) and 7 (RTS) by connecting a led and 1k resistor for load. That allows convenient visual feedback too as a bonus. There are many ways of improvement for data logging and very good instrument can be built from some microcontroller like AVR/PIC/8051. Uc could be powered from the port and also upload the interval histogram data to the host system too. Current measurements were taken with old trusty Tektronix 486 with waveform envelope storage, so there is no histogram data available yet.
I've also tested RT-kernels in similar ways (RT wiki is a good start), and very interesting test would be BFS+RT. Con said that he has no time for studying the RT patch set, but is willing to help anyone taking the task. So there it is for the adventurous.
Also BFS solves some of the problems depicted here http://www.phoronix.com/forums/showthread.php?t=18108
as much of the tearing and missed syncs/frames are really sheduling issue. Our DVB here is locked to rubidium and if I set my framrate close enough to 50Hz, the field slips are so rare that there are way more glitches in low quality overseas streams. Domestic stuff is technically top quality and there one may indeed notice the error.


Reply With Quote
The worst case latency was 10ms on saturated machine
(In theory
)