dm bufio: introduce a global cache replacement
authorMikulas Patocka <mpatocka@redhat.com>
Thu, 12 Sep 2019 16:07:23 +0000 (12:07 -0400)
committerMike Snitzer <snitzer@redhat.com>
Fri, 13 Sep 2019 21:00:21 +0000 (17:00 -0400)
commit6e913b28cd279212c4580dbd8b2cf9dcd4740cfb
tree6948fd5cc68ef7219aafe94b242d0c27c9fcd2ed
parentb132ff333201784e67654663360a1a4fb103ebe2
dm bufio: introduce a global cache replacement

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

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
sub-optimal.

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 <mpatocka@redhat.com>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
drivers/md/dm-bufio.c