On 08/22/18 21:17, Jens Axboe wrote:
So the obvious suspect is the new return of UINT_MAX from get_limit() to __wbt_wait(). I first suspected that I mispatched something, but it's all like in mainline or your tree. Even the recently moved-around atomic loop inside rq_wait_inc_below() is 1:1 the same and looks like it should. Now building mainline and see where that leads me.
So mainline + your tree's last 4 patches works fine, as suspected. It's all me, as usual.
I wonder if it's a signedness thing? Can you try and see if using INT_MAX instead changes anything?
Beat me to it while I was rebooting ;-) Exactly what I also found a minute ago: $diff -rup linux-4.18.4/block/blk-rq-qos.c linux/block/blk-rq-qos.c .. -bool rq_wait_inc_below(struct rq_wait *rq_wait, int limit) +bool rq_wait_inc_below(struct rq_wait *rq_wait, unsigned int limit) .. Moo! Patching now. cheers Holger