bcache: New writeback PD controller
The old writeback PD controller could get into states where it had throttled all the way down and take way too long to recover - it was too complicated to really understand what it was doing. This rewrites a good chunk of it to hopefully be simpler and make more sense, and it also pays more attention to units which should make the behaviour a bit easier to understand. Signed-off-by: Kent Overstreet <kmo@daterainc.com>
This commit is contained in:
@@ -373,14 +373,14 @@ struct cached_dev {
|
||||
unsigned char writeback_percent;
|
||||
unsigned writeback_delay;
|
||||
|
||||
int writeback_rate_change;
|
||||
int64_t writeback_rate_derivative;
|
||||
uint64_t writeback_rate_target;
|
||||
int64_t writeback_rate_proportional;
|
||||
int64_t writeback_rate_derivative;
|
||||
int64_t writeback_rate_change;
|
||||
|
||||
unsigned writeback_rate_update_seconds;
|
||||
unsigned writeback_rate_d_term;
|
||||
unsigned writeback_rate_p_term_inverse;
|
||||
unsigned writeback_rate_d_smooth;
|
||||
};
|
||||
|
||||
enum alloc_watermarks {
|
||||
|
مرجع در شماره جدید
Block a user