Re: [PATCH] blk-wbt: Avoid lock contention and thundering herd issue in wbt_wait

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 08/22/18 21:46, Jens Axboe wrote:
On 8/22/18 1:37 PM, Holger Hoffstätte wrote:
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.

That's a relief!

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.

At least we have an explanation for why it didn't work.

Luckily I can still read and 22f17952c7 is conveniently called "blk-rq-qos:
make depth comparisons unsigned"! Needless to say with that thrown into the
mix all is good again. Sorry for the confusion & thanks for your patience.

cheers!
Holger



[Index of Archives]     [Linux RAID]     [Linux SCSI]     [Linux ATA RAID]     [IDE]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Device Mapper]

  Powered by Linux