설정하려고 하는데
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는 충분한 시간이 주어지면 쓰기 저장 작업을 완료할 수 있습니다.