Bcache writeback_percent 最大值

Bcache writeback_percent 最大值

我正在尝试设置

writeback_percent

值 > 40,但它只接受 0 到 40 之间的值。

如果我设置

echo 50 >   /sys/block/bcache0/bcache/writeback_percent 

然后当我读到值时

more  /sys/block/bcache0/bcache/writeback_percent

我有 40。对于 value<=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 回写百分比 如果非零,bcache 会尝试通过限制后台写回并使用 PD 控制器平滑调整速率来保持脏缓存的百分比。

所以这是脏缓存量的目标。解释下面的辩论,这个目标是动态实现的,而活动不断发生。即使在 writeback_rate 下,只要有足够的时间,bcache 也可能完成写回操作。

相关内容