on 12/1/2022 9:32 PM, Gabriel Krisman Bertazi wrote: > Kemeng Shi <shikemeng@xxxxxxxxxx> writes: > >> If we decremented queue without waiters, we should not decremente freed >> bits number "nr", or all "nr" could be consumed in a empty queue and no >> wakeup will be called. >> Currently, for case "wait_cnt > 0", "nr" will not be decremented if we >> decremented queue without watiers and retry is returned to avoid lost >> wakeups. However for case "wait_cnt == 0", "nr" will be decremented >> unconditionally and maybe decremented to zero. Although retry is >> returned by active state of queue, it's not actually executed for "nr" >> is zero. >> > > Hi Kemeng, > > Fwiw, I sent a patch rewriting this algorithm which is now merged in > axboe/for-next. It drops the per-waitqueue wait_cnt entirely. You can > find it here: > > https://lore.kernel.org/lkml/20221110153533.go5qs3psm75h27mx@quack3/T/ > > Thanks! Hi Gabriel, Thanks for remind me of this, I will recheck my patches in the axboe/for-next branch. -- Best wishes Kemeng Shi