Linda Walsh wrote:
> 
> Hi...
> 
>     Got two questions, really, first is more general:
> 
>     I have a semi-newbie question.  What exactly is tagged command queueing?

The ability to send more than one command to a SCSI device at a time and allow
the device to optimize it's head movements based upon the most effecient means
of completing the queue of commands as fast as possible.  Without it, the
drives only have one command in their buffer at a time and can not optimize
head movements or cache usage.

> Does it mean I can send commands for different drives to the controller and
> 
> it will queue them or does that mean the device itself handles the requests?

The device itself does.

>     Lets suppose I have 1 drive that allows queuing and another that doesn't.
> 
> Does that mean anytime I send something to the non-queueing drive I have
> 
> to wait on that drive before sending any other commands over the bus?

No, you can always send at least one command to each device on the bus (unless
you disable disconnection on a device, then it hogs the bus the entire time
it's working on a command).

>  Or
> 
> is the driver re-entrant such that one thread could be servicing the NQ
> 
> device while other threads would be putting queued commands on the bus
> 
> for other queueing devices?

Heh, this isn't NT here....there are no threads in that driver and we wouldn't
be so insane as to use a thread per device or thread per command.  The driver
is not re-entrant (mainly because the mid layer SCSI code isn't safe to be
re-entrant) but that doesn't change things, because we have an interrupt
driven device.  We can send a command in a matter of usecs and then wait for
the interrupt to tell us when it's done.  In the meantime, we can send any
more commands we might need to pass out to the devices.  Given the amount of
time it takes the average command to complete, it is fairly easy to get 128+
commands outstanding on the SCSI bus before the first command ever completes
(we could go up to 255, but that involves a lot of DMA overhead on controllers
without external SCB RAM and I don't recommend it).

>     2nd -- where do I find the Hardware Programmers Guide for the adaptec
> 
> series -- specifically the 7890 -- like what language is downloaded into the
> 
> drive, hardware states, etc?  I can't seem to find the right location on
> 
> the adaptec website.

Those docs are available under NDA from Adaptec, they aren't up on the web
site for general download.

-- 

 Doug Ledford <[EMAIL PROTECTED]>  http://people.redhat.com/dledford
      Please check my web site for aic7xxx updates/answers before
                      e-mailing me about problems

-
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to [EMAIL PROTECTED]

Reply via email to