Messages in this thread | | | Subject | Re: [PATCH RESEND v6 4/8] blk-throttle: fix io hung due to config updates | From | Yu Kuai <> | Date | Thu, 28 Jul 2022 18:34:44 +0800 |
| |
Hi
在 2022/07/28 17:33, Michal Koutný 写道: > On Wed, Jul 27, 2022 at 08:39:19AM -1000, Tejun Heo <tj@kernel.org> wrote: >> I'm not quiet sure this is correct. What if the limit keeps changing across >> different values? Then we'd be calculating the skipped amount based on the >> last configuration only which would be incorrect. > > When one change of configuration is correct, then all changes must be > correct by induction. It's sufficient to take into account only the one > old config and the new one. > > This __tg_update_skipped() calculates bytes_skipped with the limit > before the change and bytes_skipped are used (divided by) the new limit > in tg_with_in_bps_limit(). > The accumulation of bytes_skipped across multiple changes (until slice > properly ends) is proportional to how bytes_allowed would grow over > time. > That's why I find this correct (I admit I had to look back into my > notes when this was first discussed). > > HTH, > Michal >
Hi, Tejun
Michal already explain it very well, please let me know if you still thinks there are better ways.
Thanks, Kuai
| |