On Wed 13 Sep 2017 06:31:58 PM CEST, Philippe Mathieu-Daudé wrote: >> If bkt->max == 0 and bkt->burst_length > 1 then we could have a >> division by 0 in throttle_do_compute_wait(). That configuration is >> however not permitted and is already detected by throttle_is_valid(), >> but let's assert it in throttle_compute_wait() to make it explicit. > > This is correct but I'm not sure this is enough, as > throttle_compute_wait() is exported/public, however it seems testing > is the only reason to export it.
You're right but in general I don't think the throttling code is guaranteed to behave correctly if the configuration hasn't been checked with throttle_is_valid() first. > Also I spent 10min looking at it thinking about how bkt->max is used, > before to realize there should be a simpler way to write this (KISS). I'm sure there is :) if you have suggestions I'll be glad to hear them. Berto