qla2xxx: fix busy wait regression
authorBruno Prémont <bonbons@linux-vserver.org>
Fri, 19 Dec 2014 09:29:16 +0000 (10:29 +0100)
committerChristoph Hellwig <hch@lst.de>
Mon, 5 Jan 2015 17:15:08 +0000 (18:15 +0100)
commit975f7d467480a11864d71a10dee908b83c5e682b
tree229cf31cb7212150f4e1aded48484fb7f7bc074a
parent693a30b8f19a964087a3762d09fb2e1cbad6b0d4
qla2xxx: fix busy wait regression

Commit e05fe29248 (qla2xxx: Honor FCP_RSP retry delay timer field.)
causes systems to busy-wait for about 3 minutes after boot prior to
detecting SAN disks.

During this wait period one kworker is running full-time
(though /proc/<pid>/stack has no useful data). Another kworker is
waiting for IO to complete during that whole time period.

Looking at drivers/scsi/qla2xxx/qla_os.c, fcport->retry_delay_timestamp
has a special value of 0 though that 0 value forces system to wait when
jiffies is very large value (e.g. 4294952605 - "negative" value when
signed on 32bit systems).

Signed-off-by: Bruno Prémont <bonbons@linux-vserver.org>
Acked-by: Chad Dupuis <chad.dupuis@qlogic.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
drivers/scsi/qla2xxx/qla_os.c