"When it comes to pure software algorithms, and things like schedulers,
you'll still obviously have timing issues and tuning, but generally things
*work*, which makes it a lot easier to debug and describe."
Hmmm... I have a major counterexample to this assertion. The CFQ completely "fair" scheduler, which, for months could indefinitely delay I/O on systems with a realistic number of disks (not some toy desktop). It took the Oracle OCFS2 people to track this one down as it was killing them.
Really annoying, especially because actually Linus' comment is quite correct - it IS much easier to debug/test such things. This particular bug could have been trivially discovered simply by testing the algorithm in user-space with a simple simulator harness emulating arriving and dispatching I/O. But apparently that wasn't done. So I think Andrea has a good point.
"When it comes to pure
"When it comes to pure software algorithms, and things like schedulers,
you'll still obviously have timing issues and tuning, but generally things
*work*, which makes it a lot easier to debug and describe."
Hmmm... I have a major counterexample to this assertion. The CFQ completely "fair" scheduler, which, for months could indefinitely delay I/O on systems with a realistic number of disks (not some toy desktop). It took the Oracle OCFS2 people to track this one down as it was killing them.
Really annoying, especially because actually Linus' comment is quite correct - it IS much easier to debug/test such things. This particular bug could have been trivially discovered simply by testing the algorithm in user-space with a simple simulator harness emulating arriving and dispatching I/O. But apparently that wasn't done. So I think Andrea has a good point.