]> git.baikalelectronics.ru Git - kernel.git/commit
dm bufio: evict buffers that are past the max age but retain some buffers
authorJoe Thornber <ejt@redhat.com>
Thu, 9 Oct 2014 10:10:25 +0000 (11:10 +0100)
committerMike Snitzer <snitzer@redhat.com>
Mon, 10 Nov 2014 20:25:26 +0000 (15:25 -0500)
commit385accbda021f3bd0bdf4d048407e49cddd7362c
tree1814ee0de89579652025599746cae9c7fa942aed
parent5eba72ef482dbc32d0861c2c2d0c7d922bce14df
dm bufio: evict buffers that are past the max age but retain some buffers

These changes help keep metadata backed by dm-bufio in-core longer which
fixes reports of metadata churn in the face of heavy random IO workloads.

Before, bufio evicted all buffers older than DM_BUFIO_DEFAULT_AGE_SECS.
Having a device (e.g. dm-thinp or dm-cache) lose all metadata just
because associated buffers had been idle for some time is unfriendly.

Now, the user may now configure the number of bytes that bufio retains
using the 'retain_bytes' module parameter.  The default is 256K.

Also, the DM_BUFIO_WORK_TIMER_SECS and DM_BUFIO_DEFAULT_AGE_SECS
defaults were quite low so increase them (to 30 and 300 respectively).

Signed-off-by: Joe Thornber <ejt@redhat.com>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
drivers/md/dm-bufio.c