BFS 全称 Brain Fuck Scheduler. 至于为什么叫这个名字,可以参考 BSF-FAQ.
作者 Con Kolivas 在介绍中表示,BFS 的设计的初衷是带来更好的桌面交互式体验,特别是对于大多数的低规格机器.
Android 也曾经评估过 BFS, 测试的结果对用户体验没有明显的改进,因此并没有最终导入.
通过一些第三方机构的测试数据来看,低配置的硬件平台使用 BFS 带来的体验提升会更加明显.比如笔者正在用的这台 thinkpad t61 ( 所以手上有比较老的笔记本 / PC 尽管来体验吧 ).
选择内核版本 从 http://www.kernel.org 选择下载需要的版本 , 比如 3.18.31.tx.gz
解压缩该版本到你想要路径 , 网络上有建议放在 /usr/src 下 , 看起来更合理 , 因为内核的源代码默认就存放在该路径 , 但我就遇到了编译是空间不够的问题 , 因为我给 ‘/’ 分配的空间是 20GB, 能用的不到 8GB 了 . 所以建议放在空间够的分区 , 至少有 15GB, 例如 ~/projects/3.18.31-ck1-bfs/
http://www.kernel.org/patches/3.0/3.18-ck1/patches/
下面就有 3.18-sched-bfs-460.patch 等 patch -p1 <xxxx.patch
, patch 不止一个 , 建议都打上 , 省的后期再 tunning 了
$ make menuconfig
注意再 General Setup 确认 BFS 是不是已经勾选上了,OK 之后就保存 .config 文件
$ make bzImage -j4
这取决于机器的性能, 一般是 -jx 是 CPU core 的 2 倍 , 考虑到有些电脑太老了, 可以把源码的编译放在性能更好的机器上做 , 完事后 copy 过来就 OK 了
$ make modules -j4
同上 , 完成这一步之后 , 可以把整个源码包复制到你想要的电脑上
$ make modules_install
$ sudo mkinitramfs -o /boot/initrd.img-3.18.31-ck1-bfs
Copy bzImage 到 /boot/ $ sudo cp arch/x86_64/boot/bzImage /boot/vmlinuz-3.18.31-ck1-bfs
具体取决于系统架构 , 也不一定是 x86_64 目录
Copy System.map 到 /boot/, 建立新的软链接 $ sudo cp System.map /boot/System.map-3.18.31-ck1-bfs
$ sudo ln -s /boot/System.map-3.18.31-ck1-bfs /boot/System.map
配置引导文件 $ sudo update-grub2
至此 , 工作完成 , reboot 之后就可以体验啦
http://ck.kolivas.org/patches/bfs/bfs-faq.txt