Re: [PATCH, RFC]: move full command queue handling into fabric drivers

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

 



On Tue, Nov 29, 2011 at 11:27:13PM -0800, Nicholas A. Bellinger wrote:
> So I'm still undecided if pushing this completely out into fabric
> drivers in order to drop the current complexity of queue full with
> target-core is a better tradeoff for not..
> 
> This type of core internal queue-full handling is used by ib_srpt and
> other fabrics potentially using ACK_KREF, so I think we want to at least
> still handle generically for fabrics (if necessary) that need it atm.

How exactly do they use it?

Note that we really can't do better than the dumb busy waiting done now
in the core code.  The ressources generally are per-hba, and without
introducing a huge mess of methods for waiting and wakeups it's
impossible to get this right outside the drivers.  Now that we use
workqueues for the submission and completion pathes blocing inside
->queue_data_in and ->queue_status isn't a problem, and all these issues
can be fixed pretty trivially by adding a waitqueue in the driver.

> > +	}
> > +
> > +	return error;
> >  }
> >  EXPORT_SYMBOL(qla_tgt_xmit_response);
> >  
> 
> Note outgoing TFO->write_pending() -> qla_tgt_rdy_to_xfer() failures
> will also need to be addressed for this to work as expected for FCP
> WRITE.

Indeed.  But it's just another waiter on the waitqueue.  What's more
important is finding out where it should be woken.

Given that you wrote the initial code - what is the actual resource
the we run out of, and where does it get used/released?  That is the
kind of comment much more important in code than reiterating what
is beeing done, btw.
--
To unsubscribe from this list: send the line "unsubscribe target-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux SCSI]     [Kernel Newbies]     [Linux SCSI Target Infrastructure]     [Share Photos]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Device Mapper]

  Powered by Linux