設定しようとしています。
writeback_percent
値> 40ですが、0から40の値のみが許可されます。
設定したら
echo 50 > /sys/block/bcache0/bcache/writeback_percent
その後、値を読み取るとき
more /sys/block/bcache0/bcache/writeback_percent
私は40を持っています。値が40未満の場合、設定は正しく機能します。
私のキャッシュタイプの設定は次のとおりです。
more /sys/block/bcache0/bcache/cache_mode
writethrough [writeback] writearound none
危険だということはわかりますが、私にとっては問題にはなりません。
私が理解したところ、writeback_percentはキャッシュに使用されたダーティデータの割合です。空き容量の90%または100%が利用できないのはなぜですか?私はこの設定をよく理解していませんか?
答え1
これは、bcacheドライバコード(linux/drivers/md/bcache/writeback.h)にハードコードされた値です。この制限を変更する唯一の方法は、ソースからドライバを再構築することです。
答え2
~によると https://evilpiepirate.org/git/linux-bcache.git/tree/Documentation/bcache.txt 書き換え率 0 以外の場合、bcache はバックグラウンド書き込みの保存を制限し、PD コントローラを使用してスピードをスムーズに調整することによってダーティキャッシュの割合を維持しようとします。
これがダーティキャッシュ量の目標です。以下の主張を変更すると、この目標は活動が継続的に発生している間に動的に達成されます。 writeback_rateでも、bcacheは十分な時間があれば書き込み保存操作を完了できます。