Kernel BFS

Con Kolivas вернулся к разработке ядра и представил новый шедулер BFS.

BFS – это аббревиатура от Brain Fuck Scheduler. Он был разработан по принципу «гляжу только вперёд» и позволяет выжать максимум из достаточно слабых компьютеров, при этом он не ориентирован на суперкомпьютеры. BFS ориентирован на десктоп, имеет при этом по дизайну сверхнизкие задержки для великолепной интерактивности, вместо того, чтобы заниматься подсчётами, при этом BFS имеет настоящую «честность» (распределения процессорного времени), хорошее распределение уровней NICE и отличную масштабируемость при обычных нагрузках.

Начитавшись всего этого очень захотелось его попробовать в работе. Скачал патч, попытался наложить на свое текущее ядро 2.6.30.5 и получил кучу сообщений об ошибках. Пришлось на время оставить эту затею.

И вот сегодня оказалось, что в AUR появился пакет kernel26-bfs, который позволяет собрать ядро с необходимыми патчами. Оказалось так же, что пакет несколько устарел и пытается использовать версию патча, которой уже нет на сервере. Опишу решение данной проблемы.

Во-первых, нам необходимо получить файл PKGBUILD, для этого переходим во временный каталог, созданный специально для сборки ядра и даем команду:

$yaourt -G kernel26-bfs

После чего в текущем каталоге окажутся несколько файлов. Нам нужно будет изменить только PKGBUILD. Для этого заходим на страницу ck.kolivas.org и смотрим версию патча, который будет представлен на день сборки. В моем случае это был файл 2.6.30-sched-bfs-205.patch

Качаем его и смотрим md5 сумму:

$md5sum 2.6.30-sched-bfs-205.patch

Полученное значение прописываем в соответствующей строке md5sum файла PKGBUILD. И не забываем сменить имя файла в строке source.

Если хотим использовать готовую конфигурацию своего ядра, ее нужно скопировать в текущий каталог и переименовать в config, или config.x86_64, в зависимости от того, какое ядро используется. После чего опять нужно определить значение md5sum для данного файла и прописать его в соответствующей строке файла PKGBUILD.

Теперь можно заняться самой сборкой, для этого в текущем каталоге даем команду:

$makepkg

На что будут скачаны исходники ядра 2.6.30, необходимые патчи и начнется сама сборка. По прошествии немного времени в текущем каталоге появиться файл пакета, который можно будет устанавливать:

$yaourt -U kernel26-bfs-2.6.30.5-1-i686.pkg.tar.gz

Осталось только изменить настройки grub для использования данного ядра при загрузке системы и можно начинать эксперименты.

Что могу сказать? Ядро получается более отзывчивым, чем обычно. Работать очень приятно. Но не обошлось и без проблем. После перезагрузки сервера xorg у меня прекращали работать все оболочки. Ни в иксовых терминалах, ни в консоли не запускались ни bash, ни zsh… А спустя некоторое время зависал и сам сервер xorg

Проблема решается только жесткой перезагрузкой компьютера. Возможно это только моя частная проблема, так как я использовал конфиг ядра не из пакета, а свой собственный, который использую уже на протяжении нескольких месяцев…

Попробую еще поэкспериментировать с данным патчем. А пока ждем официального релиза!

Проект очень интересный, и на мой взгляд, имеет право на жизнь.

Похожие записи:

  1. Результаты измерения производительности последних 6 релизов Linux ядра
  2. Дополнение по сборке ядра в archlinux
  3. archlinux – сборка ядра
  4. способы включения KMS
  5. Opera Turbo

Метки: archlinux, kernel

Отзывов (19) на «Kernel BFS»

  • Сижу на Mandriv’е. Я патчил ванильное ядро 2.6.30.5. Ругнулся два раза, но скомпилилось и работает нормально. И да, работать стало намного приятней, даже при загруженном проце интерфейс на удивление отзывчив. Я просто в поросячем восторге =)

  • Хмм… у меня ругалось так же, два раза, но в итоге патч не накладывался…
    По крайней мере я это понял после того, как увидел вывод процесса наложения патча исходников 2.6.30

  • Как я понимаю в ауре пакет уже обновился:
    Last Updated: Sat, 05 Sep 2009 14:41:09 +0000

  • Да, только что проверил, уже содержит описание патча 208, который актуален именно на сейчас…

  • уже 209 =) . пропатчил, особой разницы не наблюдаю, хотя и так арч – опенбокс.

  • Кто нибудь сравнивал разницу BFQvsBFS? счас сижу на BFQ интересуют мнения о их плюсах и минусах(если никто не отпишется придется самому попробьовать))

  • Все версии, которые сейчас выпускаются, все они экспериментальные, просто исправляются ошибки, добавляется что то новое. Релиза пока еще не было. =)

  • Нет, я не сравнивал. Если будешь пробовать – отпишись?

  • Ну почему все путают IO sheduler (BFQ) с process sheduler (BFS)? Это совершенно разные вещи.

  • С чего вы взяли, что я перепутал? ;)

  • Установил – действительно заметны улучшения в работе, но тема уже не актуальна, собирается без косяков :-)

  • По сути и раньше косяков особо не возникало при сборке… Проблема в том, что у меня процессы просто фризились…

  • Что то у меня в этом ядре проблемка одна, иногда западает любая клавиша, и спасает только ребут, даже Xсы не рестартануть…

  • Уверен, что проблема именно с этим ядром и именно из-за BFS??

  • На стандартном ядре из репозитория arch (2.6.30) таких проблем не наблюдалось.

  • а конфиг в ядре BFS использовался именно от ядра из репо? или может конфиги таки разные??

  • Собирал yaourt’ом

    yaourt -Sy kernel26-bfs…

  • Значит вероятность того, что виноват именно патч BFS увеличивается… Сколько я не пробовал, кстати говоря, данный патч. Особой разницы не заметил. Ну да, отзывчивее, но проблем то больше. Стоит ли это того??

  • Ну у меня с этим ядром видеокарта(Radeon 9600) с открытым драйвером radeon показывает гораздо лучше результаты, только в glxgears количество fps увеличилось на 500 в секунду, для моей карты это глобальный прогресс.

Вы можете оставить свой комментарий...

Имя (required)
Почта (обязательно)
Сайт