Message ID | 20181204175904.8486-1-josef@toxicpanda.com (mailing list archive) |
---|---|
Headers | show |
Series | Unify the throttling code for wbt and io-latency | expand |
On 12/4/18 10:59 AM, Josef Bacik wrote: > Originally when I wrote io-latency and the rq_qos code to provide a common base > between wbt and io-latency I left out the throttling part. These were basically > the same, but slightly different in both cases. The difference was enough and > the code wasn't too complicated that I just copied it into io-latency and > modified it for what I needed and carried on. > > Since then Jens has fixed a few issues with wakeups with the niave approach. > Before you could easily cycle waiters back to the end of the line if they were > woken up without the ability to actually do their IO yet. But because this was > only in wbt we didn't get it in io-latency. > > Resolve this by creating a unified interface for doing the throttling, and then > just handle the differences between the two users with user specific callbacks. > This allows us to have one place where we have to mess with wakeups, and gives > each user the ability to be their own special snowflake. > > Jens, I based this on for-next from 12/03, let me know if you want a different > base. I tested this with my blktests test. Thanks, Applies fine to for-4.21/block, which is what I care about. Looks good to me, applied, thanks.