Currently, the default tunables are
cache_meta_ratio = .01
cache_kv_ratio = .99
cache_kv_max = 512MB
We currently have no doubts that, for low memory situations, we want to
give all of the memory to rocksdb. The .99/.01 values are an indirect
way to communicating that. However, we do see problems with high-memory
situations where rocksdb needs more than 512MB (due to, we believe,
bloom filters). And it is very reasonable to think that there are
situations and reasons why we might want more than 512MB for rocksdb.
So, we change kv_max -> kv_min. For low memory situations, we give *all*
memory to rocksdb. (If you don't want this, set kv_min = 0.) Above that,
respect the kv_ratio and meta_ratio settings.
I don't see much reason to have an absolute kv_max on the rocksdb memory.
We adjust the kv_ratio and meta_ratio defaults in this patch so that all
high memory goes to bluestore and there is no effective change in
default behavior for this patch.