![]() |
Linux >
(on Wikipedia)
http://ck.kolivas.org/patches/bfs/
While researching the annoyance of a 1 minute boot delay waiting for device sda8 to appear, I figured that a kernel update was in order. Unity Linux had a new option that I just had to try out. I thought I’d write a bit about this..
- 2010-05-16 – (version not recorded) on Unity Linux (version not recorded)
-
2010-05-27 – (version not recorded) on Unity Linux (version not recorded)
2010-05-16 – (version not recorded) ∞
initial switch
Simplification has been a long-standing dream of mine. I’ve only recently been trying to apply it more and more rigidly, especially with the concept of the chain of trust. Whenever I see an opportunity to replace something complex with something with less moving parts and less complexity, I make an honest effort to try that new something.
I’ve been using Linux for a long long time now. It’s an example of my breaking that dream of less complexity. In fact, I’ve dropped earlier simpler tools and impressive expertness in order to learn and use Linux on a daily basis. There are more things at play with my decisions on software tools than just the notion of simplicity. Linux represents a level of freedom that I’ve never known before, and it’s worth the learning curve.. the level of complexity that I’ve never known before.
Linux itself is still way too complex. The layers of complexity and the various tools that work together are challenging to understand. There are fundamental philosophies which I struggle to agree with.
We can look at one significant set of them by looking at the philosophies of Richard Stallman’s software. His collection of tools are each created to solve as specific and indivisible a problem as possible. This reduces duplication of effort and code. The small tools can be chained together in incomprehensibly convoluted ways through the pipeline mechanism.
One of the core components of my computing experience is the Linux kernel’s scheduler. It’s responsible for .. scheduling. Processes like programs and little spinoff processes created by those programs are all competing for CPU time. This is an extremely complex task and it’s done in an entirely convoluted manner.
At this point I had the notion of Programming with “twins”.
So I learned about the Brain Fuck Scheduler (BFS). It’s a replacement scheduler for Linux. I had heard nothing about it, but there was some discussion within Unity Linux about it, and I did a bit of reading on it.
The first thing I learned was that it was a black sheep project. It was done by a single person and it was rejected from the main Linux kernel project. It’s philosophies are fundamentally different.
This is always intriguing stuff for me to hear about. Something that’s actually done and working that was accomplished by one single person can be quite spectacular. When it’s one rogue doing it in spite of differing philosophies, I can feel their passion.
BFS is a replacement for a key component of the most key part of my operating system. It being done by one passionate hacker is intriguing enough, but what really interests me is the leading philosophy:
http://ck.kolivas.org:80/patches/bfs/sched-BFS.txt
The goal of the Brain Fuck Scheduler … is to completely do away with the complex designs of the past for the CPU process scheduler and instead implement one that is very simple in basic design.
Simplification. That’s gold.
In terms of the chain of trust, it’s dangerous to rely on the work of any one single point of failure. The single-hacker nature of this system is intimidating, but I can very easily switch back to the traditional CFS scheduler of the everyday Linux kernel. I do also hope that BFS begins to reach a wider audience and finds additional developer support if and when it needs it.
The BFS FAQ has some additional good reading.
Apparently like every good hacker, this one does documentation but doesn’t particularly care to wrap a whole website around it. The project’s files are found at http://ck.kolivas.org/patches/bfs/
… oh, and BFS is working just fine. So far.. I approve! I’ve had some brutal issues with a hard-locking system and such, thanks to some stupidity of mine. See how to hard lock a Linux system, the dangers of tmpfs for more on that. With that issue out of the way, I don’t know if there are any other issues with my system which BFS may or may not reveal or solve. I’ll report back with any issues.
2010-05-27 – (version not recorded) ∞
switched back
I’ve had some odd system hangs, primarily while using Firefox (destroying Flash save data, sigh). This morning I woke up to a misbehaving system and decided to switch my kernel back.
I’ll see if any problem persist. If they don’t, then I can rule out bfs as the culprit.

