[3362] in linux-scsi channel archive

home help back first fref pref prev next nref lref last post

Re: How are the commands queued

daemon@ATHENA.MIT.EDU (Eric Youngdale)
Wed Feb 18 23:06:07 1998

Date: 	Wed, 18 Feb 1998 23:17:07 -0500 (EST)
From: Eric Youngdale <eric@andante.jic.com>
To: "Manjunath.J.J" <manjujj@cdc.bflsl.soft.net>
cc: linux-scsi@vger.rutgers.edu
In-Reply-To: <m0y5DpZ-0002APC@cdc.bflsl.soft.net>


On Wed, 18 Feb 1998, Manjunath.J.J wrote:

> 
> Hello everybody,
> 	To build a command list I need to read all the requests queued
> in the buffer. Can someone tell me how the requests for read/write are
> queued in the request list. That is I would like to know whether the
> requests are queued in contiguous blocks in the memory or in some other
> fashion.

	Could you step back a moment, and tell me what you are trying to
accomplish?  I am assuming that you are working with a low-level driver of
some sort.

	An individual request that a low-level driver receives will always
be for a contiguous blocks on the disk.   WRT the memory arrangements
there are two possible ways it can be done.

	Host adapters that don't support scatter-gather will get requests
where there is one block of memory to which the data is read from or
written to.

	Hosts that do support scatter gather can also get requests that
consist of a list of buffer addresses and lengths.   Many host adapters
have hardware support for scatter-gather, which is a big win in terms of
performance.

	In general hosts that don't support scatter-gather will receive
smaller requests, which will limit performance.

	Does this answer your questions?

-Eric



home help back first fref pref prev next nref lref last post