Re: dm-bufio: check watermark periodically each 30 seconds

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sun, Apr 30 2017 at  5:34pm -0400,
Mikulas Patocka <mpatocka@xxxxxxxxxx> wrote:

> dm-bufio checks a watermark when it allocates a new buffer in the function
> __bufio_new. However, it doesn't check the watermark when the user changes
> the value /sys/module/dm_bufio/parameters/max_cache_size_bytes.
> 
> This may result in a problem - if the watermark is high enough so that all
> possible buffers are allocated and if the user lowers the value
> "max_cache_size_bytes", the watermark will never be checked against the
> new value because no new buffer would be allocated.
> 
> This patch changes the function __evict_old_buffers so that it checks the
> watermark. __evict_old_buffers is called every 30 seconds, so if the user
> lowes "max_cache_size_bytes", dm-bufio will react to this change within
> 30 seconds and decrease memory consumption.
> 
> This patch requires the previous patch "dm-bufio: avoid a possible
> deadlock due to lock ordering" to be applied. Applying this patch without
> the previous patch would result in a deadlock.
> 
> Signed-off-by: Mikulas Patocka <mpatocka@xxxxxxxxxx>
> Cc: stable@xxxxxxxxxxxxxxx

I've applied the 2 stable@ fixes for 4.12 but the optimizations will
have to wait for 4.13 (the 4.12 merge window is already open, I need to
draw a line in the sand now).

Mike

--
dm-devel mailing list
dm-devel@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/dm-devel



[Index of Archives]     [DM Crypt]     [Fedora Desktop]     [ATA RAID]     [Fedora Marketing]     [Fedora Packaging]     [Fedora SELinux]     [Yosemite Discussion]     [KDE Users]     [Fedora Docs]

  Powered by Linux