On 07/11/2017 12:21 PM, Ming Lei wrote: > When .queue_rq() returns BLK_STS_RESOURCE(BUSY), we can > consider that there is congestion in either low level > driver or hardware. > > This patch uses EWMA to estimate this congestion threshold, > then this threshold can be used to detect/avoid congestion. This whole patch set lacks some sort of reasoning why this makes sense. I'm assuming you want to reduce unnecessary restarts of the queue? I would much rather ensure that we only start when we absolutely have to to begin with, I'm pretty sure we have a number of cases where that is not so. What happens with fluid congestion boundaries, with shared tags? -- Jens Axboe