Brain Fuck Scheduler-5分で設定

Habré上のLinux向けの新しいタスクスケジューラについては、すでにここに書いています 。 新しいスケジューラーへのxkcdを備えた非常に衝撃的な「トレーラー」と、それほどよくないFAQが興味をそそりました。 「新しいカーネルをインストールします」または「メインストリームに表示されるまで待ちます」という理由で、印象を共有するために設定した知人に尋ねました。 私はそれを自分でインストールし、試してみました。同じことをしたい人のために-潜在的なレーキの説明付きのUbuntu 9.04への短いガイド。



ティーザーとしては、YouTubeのフルスクリーンビデオの速度が実際に低下することはなく、システムの応答性と高速性が向上したとしか言えません。



だから、根拠がないように、始めましょう。 Ubuntu 9.04(Jaunty)がインストールされていることを前提としています。



コア



このスケジューラは2.6.30+カーネル用に書かれているため、Jauntyのデフォルトの2.6.28カーネルは私たちには合いません。 2.6.30をダウンロードする必要がありますが、現時点ではブランチから最新の2.6.30.5をダウンロードする必要があります。



Ubuntu開発者が.debに慎重にパッケージ化したソースをダウンロードします。

wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v2.6.30.5/linux-source-2.6.30_2.6.30-02063005_all.deb







ソースをインストールします。

sudo dpkg -i linux-source-2.6.30_2.6.30-02063005_all.deb

cd /usr/src

sudo tar xvjf linux-source-2.6.30.tar.bz2








コアはまだ完成しています。



パッチbfs



次に、BrainFuck Schedulerパッチをインストールする必要があります。 パッチおよびその他の関連ファイルのあるディレクトリは、 ck.kolivas.org / patches / bfsにあります。

2.0.9執筆時点でのパッチの最新の最新バージョンは、 ck.kolivas.org / patches / bfs / 2.6.30-sched-bfs-209.patchです。



パッチをダウンロードして適用します。

cd /usr/src/linux-source-2.6.30/

sudo wget http://ck.kolivas.org/patches/bfs/2.6.30-sched-bfs-209.patch

sudo patch -p1 < 2.6.30-sched-bfs-209.patch






パッチは「リバースパッチを想定」で2回宣誓します。「いいえ」と答え、「適用しますか?」-「はい」と答える必要があります。



パッチを適用したカーネルアセンブリ



今、いつものように収集します。 常にアセンブルする方法がわからない人、簡単な紹介-カーネルを構築するためのDebian / Ubuntuには、便利なユーティリティkernel-packageがあります。 したがって、最初にそれをインストールするか、それ(および他のいくつかの必要なプログラム)がインストールされていることを確認します。

sudo apt-get install kernel-package libncurses5-dev fakeroot wget bzip2







次に、既存の構成に基づいて新しいカーネル構成を生成します。

sudo cp /boot/config-`uname -r` ./.config

sudo make menuconfig






ここで、いくつかの変更を行う必要があります。



UPD coldFlameからの修正 -これらの変更は必須ではありません。さらに、ラップトップでは推奨されません。 FAQから

これらは最低レイテンシーのオプションです。 これらは必要ありません!

カーネルを1000Hzで構成し、プリエンプションONおよび動的ティックを無効にします。





設定を終了して保存します。



次に、アセンブリ自体。 もちろん、タイトルで約5分、私は嘘をつきました:)が、ビルドフェーズを無視し(調整)、上記のパッケージのダウンロード速度を無限にした場合、5分に追いつくことができます。 :)

sudo make-kpkg clean

fakeroot make-kpkg --initrd --append-to-version=-bfuck kernel_image kernel_headers








すべてがうまくいけば、/ usr / src /に2つの.debパッケージがあり、ファイルヘッダーがあり、カーネルとモジュールが直接あります。 それらをインストールします。

sudo dpkg -i /usr/src/*bfuck*.deb







この場合、カーネルとモジュールがシステムにインストールされ、新しいinitrdが生成され、依存する外部モジュールが再構築され(nvidiaを除くが、以下で詳細を説明します)、grubは新しいカーネルについて自動的に学習します。



すべて、再起動できます。



NVidiaドライバー



デフォルトでリポジトリにあるドライバー-新しいカーネルには自動的にインストールされませんが、エラーが発生します。 これにより、自動インストールスクリプトの魅力がなくなり、Nvidia Webサイトから最新のインストールバイナリをダウンロードするか、ドライバー用のパッチを使用して美しい方法を使用するかの2つのオプションがあります。



したがって、nvidiaモジュールのパッチをダウンロードします。

wget http://lionsimba.lerlan.ru/temp/proc-dir-entry-owner.patch







/usr/src/nvidia-180.44/patches/にコピーします

sudo cp proc-dir-entry-owner.patch /usr/src/nvidia-180.44/patches/







/usr/src/nvidia-180.44/dkms.confファイルに次の行を追加します。

PATCH[1]="proc-dir-entry-owner.patch"

PATCH_MATCH[1]="^2.6.30"








すべて、dkmsのすべての楽しみを使用でき、Nvidiaドライバーが新しいカーネルで動作することを確認できます。

UPD これらのコメントを見るのは理にかなっています。



おわりに



印象のために。 このシステムは、さまざまなアクション中の主観的により敏感で、微妙ではあるが迷惑な一時停止が削除されました。 YouTubeのフルスクリーンビデオ-私は確認します:)-本当に遅くなりません。 これまでに気づいたことから-Windows用のKompizovリングスイッチャーはほとんど瞬時になりました-より早く、重さと遅さの感覚を残しました。 私は基本的にテスト、ベンチマーク、測定を行いません。マシンを操作することによる主観的な感覚は私にとってより重要です。



私は今のところ、このカーネルとこのスケジューラに間違いなくとどまっています。



UPD パッチバージョン2.10は2.6.31-rc9に適用されます( davnozduに感謝)



All Articles