Thread (67 messages) 67 messages, 11 authors, 2014-08-24

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

From: Christoph Hellwig <hch@lst.de>
Date: 2014-07-09 15:05:54
Also in: lkml

On Wed, Jul 09, 2014 at 01:19:41PM +0200, Hannes Reinecke wrote:
quoted
   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.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help