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

Re: [dm-devel] multipath_busy() stalls IO due to scsi_host_is_busy()



On 05/16/2012 04:06 PM, James Bottomley wrote:
On Wed, 2012-05-16 at 14:28 +0200, Bernd Schubert wrote:
shost->can_queue ->  62 here
shost->host_busy ->  62 when one of the multipath groups does IO, further
multipath groups then seem to get stalled.

I'm not sure yet why multipath_busy() does not stall IO when there is a
passive path in the prio group.

Any idea how to properly address this problem?

shost->can_queue is supposed to represent the maximum number of possible
outstanding commands per HBA (i.e. the HBA hardware limit).  Assuming
the driver got it right, the only way of increasing this is to buy a
better HBA.

HBA is a mellanox IB adapter. I have not checked yet where the limit of 62 queue entries comes from. This is also not a real problem. Real problem is that multipath suspends IO, although it should not. As I said, if I remove the functionality of those busy functions everything is fine. I think what happens is that dm-multipath suspends IO for too long and in the mean time the other path already submits IO again. So I guess the underlying problem is an unfair queuing strategy.


Cheers,
Bernd


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