UPSTREAM: dm bufio: introduce a global cache replacement

This commit introduces a global cache replacement (instead of per-client

If one bufio client uses the cache heavily and another client is not using
it, we want to let the first client use most of the cache. The old
algorithm would partition the cache equally betwen the clients and that is

For cache replacement, we use the clock algorithm because it doesn't
require taking any lock when the buffer is accessed.

Signed-off-by: Mikulas Patocka <>
Signed-off-by: Mike Snitzer <>
(cherry picked from commit 6e913b28cd279212c4580dbd8b2cf9dcd4740cfb)

Bug: 136247322
Change-Id: Iad25b7058d3da32ae07959a348fa75178ff9c860
Signed-off-by: Martijn Coenen <>
1 file changed