Re: [PATCH 10/14] scsi: only maintain target_blocked if the driver has a target queue limit

From: Christoph Hellwig
Date: Wed Jul 09 2014 - 11:05:57 EST


On Wed, Jul 09, 2014 at 01:19:41PM +0200, Hannes Reinecke wrote:
>> host_not_ready:
>> - atomic_dec(&scsi_target(sdev)->target_busy);
>> + if (scsi_target(sdev)->can_queue > 0)
>> + atomic_dec(&scsi_target(sdev)->target_busy);
>> not_ready:
>> /*
>> * lock q, handle tag, requeue req, and decrement device_busy. We
>>
> Hmm. 'can_queue' can be changed by the LLDD. Don't we need some sort of
> synchronization here?

While a few drivers change the host can_queue value at runtime none
do for the target. While I don't think driver should even change the
host one even modification to the target one is perfectly fine as long
as no driver drops it to zero.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/