Thread (2 messages) 2 messages, 2 authors, 2018-01-02

Re: [for-416 PATCH] bcache: fix writeback target calc on large devices

From: Michael Lyle <hidden>
Date: 2018-01-02 08:12:14
Also in: linux-bcache

Tang Junhui--

Thank you for the feedback.

On Mon, Jan 1, 2018 at 10:33 PM,  [off-list ref] wrote:
From: Tang Junhui <redacted>

This patch is useful for preventing the overflow of the expression
(cache_dirty_target * bdev_sectors(dc->bdev)), but it also
lead into a calc error, for example, when there is a 1G and
100*164G cached device, it would cause the "target" value to
be aways zero of the 1G device, which would cause write-back
threshold losing efficacy.

Maybe at first we can judge if it overflows or not of the expression
(cache_dirty_target * bdev_sectors(dc->bdev)), if it overflows,
We can calc the value of target as the patch, otherwise,
we calc it as old way.
Maybe it'd be preferable just to ensure that share always >=1.  It
seems like a pretty narrow set of cases where the current math works
and the new math doesn't work, though, as I expect that it's
relatively rare to have such a variation in sizes, and even so 16.4TB
uses up 35 bits of the 64 bit quantity.

I don't really like special cases or trying two different ways to do
the math, because then it's very difficult to test.

What do you think?

Mike
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help