Realtime is not BS
Realtime is not BS
Posted Nov 2, 2010 16:21 UTC (Tue) by daniel (guest, #3181)Parent article: KS2010: Deadline scheduling
[Linus] pronounced that "realtime is bullshit" in the session
For that matter, SMP is bullshit and so is virtual memory. The common element shared by all three of these varieties of bullshit is that each is essential to some important things that we do with computers. If Linus means "bullshit" as in not useful or important then he is just plain wrong, as he is from time to time (see the long slow process of cluing him in to the value of kernel preemption). Perhaps Linus has never had to deal with the reality of programming a multi ton intelligent machine that can kill you in an instant, or cause unbelievable amounts of monetary damage if certain realtime deadlines are ever missed. I have. The experience is purifying. There is absolutely no substitute for being sure that deadlines will be met, if it is important to meet them. There is no question about that, except perhaps in Linus's mind. The only valid question is how best to achieve it.
Until Linux has a usable CONFIG_RT compile option, just as it has CONFIG_SMP, then it will not be useful for a large and important class of industrial and scientific applications. Believe it or not, this void is now filled largely by Windows or Dos systems, often with hardware offload to some black box with largely unknown behavior characteristics. Do these systems suck? Yes they do. Do they kill people? Yes they can, and most probably have. Can we do something about it? Yes we can, but it's hard if our fearless leader is busy pulling in a different direction than the people on the ground who actually have a clue about the importance of the application area.
Posted Nov 2, 2010 19:38 UTC (Tue)
by caitlinbestler (guest, #32532)
[Link]
But there is still a valid discussion on whether it can be achieved in the
And Linus' comments that addressing CPU resources alone is a very on target.
Realtime is not BS
same set of kernel code as more general scheduling.
A true deadline scheduler needs to schedule CPU, Memory bandwidth and IO
bandwidth. Whether that can be achieved side-by-side with a kernel that
defaults to "best effort" is a major question.
