Re: [PATCH 1/2] block: get rid of BLK_MAX_TIMEOUT

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

 



On Thu, 2018-12-06 at 22:18 +-0800, Weiping Zhang wrote:
+AD4 Before this patch, even we set io+AF8-timeout to 30+ACo-HZ(default), but
+AD4 blk+AF8-rq+AF8-timeout always return jiffies +-5+ACo-HZ,
+AD4   +AFs-1+AF0. if there no pending request in timeout list, the timer callback
+AD4 blk+AF8-rq+AF8-timed+AF8-out+AF8-timer will be called after 5+ACo-HZ, and then
+AD4 blk+AF8-mq+AF8-check+AF8-expired will check is there exist some request
+AD4 was delayed by compare jiffies and request-+AD4-deadline, obvious
+AD4 request is not timeout because we set request's timeouts is 30+ACo-HZ.
+AD4 So for this case timer callback should be called at jiffies +- 30 instead
+AD4 of jiffies +- 5+ACo-HZ.
+AD4 
+AD4   +AFs-2+AF0. if there are pending request in timeout list, we compare request's
+AD4 expiry and queue's expiry. If time+AF8-after(request-+AD4-expire, queue-+AD4-expire) modify
+AD4 queue-+AD4-timeout.expire to request-+AD4-expire, otherwise do nothing.
+AD4 
+AD4 So I think this patch just solve problem in +AFs-1+AF0, no other regression, or what's
+AD4 I missing here ?

The blk+AF8-rq+AF8-timeout() function was introduced by commit 0d2602ca30e4 (+ACI-blk-mq:
improve support for shared tags maps+ACI). I think the purpose of that function
is to make sure that the nr+AF8-active counter in struct blk+AF8-mq+AF8-hw+AF8-ctx gets updated
at least once every five seconds. So there are two problems with this patch:
- It reduces the frequency of 'nr+AF8-active' updates. I think that is wrong and
  also that it will negatively affect drivers that rely on this functionality,
  e.g. the SCSI core.
- The patch description does not match the code changes in this patch.

Bart.




[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