Sending Multiple Request to SCSI Target

Hi All,
Can I send Multiple request to a same SCSI Target Device when it has not
completed the previous request and How ??..

TIA
Rahul Gupta


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

Sending from where? If you are a higher level driver or application,
scsiport or the scsi class drivers will figure out what the right thing to
do is. If you are a miniport driver it depends on the target and the
firmware on your adapter. Search for scsi tagged requests and command
queuing. Disk targets frequently accept some number of requests (tagged
requests that is) that they then process in whatever order and fashion they
choose, in order to optimize performance.

-----Original Message-----
From: Rahul Gupta [mailto:xxxxx@dcmtech.co.in]
Sent: Thursday, November 08, 2001 6:25 AM
To: NT Developers Interest List
Subject: [ntdev] Sending Multiple Request to SCSI Target

Hi All,
Can I send Multiple request to a same SCSI Target Device when it has not
completed the previous request and How ??..

TIA
Rahul Gupta


You are currently subscribed to ntdev as: xxxxx@stratus.com To
unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

You have to support multipe request per logical unit (Set this BOOLEAN to
TRUE when registring your miniport driver). Then you can queue the SRBs in
your miniport yourself.

Anton

On 11/08/01, “Rahul Gupta ” wrote:
> Hi All,
> Can I send Multiple request to a same SCSI Target Device when it has not
> completed the previous request and How ??..
>
> TIA
> Rahul Gupta
>
> —
> You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
> To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

From the level above SCSIPORT, you can send any requests and SCSIPORT will take care of synchronization.

As about how they will be executed on the HBA - depends on the miniport’s MultipleRequestPerLu or TaggedQueuing (they are synonims)
flags.

If it is FALSE, then the miniport will have only 1 request per LUN delivered to it. The next request for the same LUN will be
delivered after previous request completion. Tagged queue is not used in this case - all requests are SP_UNTAGGED.

Otherwise, SCSIPORT assigns queue tags and can deliver the next tagged request to the miniport if there are already tagged requests
pending AND NextLuRequest notification is called. The miniport must call either NextLuRequest or RequestComplete to have a next SRB
delivered to the same LUN.

The SCSI concurrency rule - there can be either - many tagged requests with different tags OR one untagged request pending on the
LUN - is enforced by SCSIPORT.

Max

----- Original Message -----
From: “Rahul Gupta”
To: “NT Developers Interest List”
Sent: Thursday, November 08, 2001 2:25 PM
Subject: [ntdev] Sending Multiple Request to SCSI Target

> Hi All,
> Can I send Multiple request to a same SCSI Target Device when it has not
> completed the previous request and How ??..
>
> TIA
> Rahul Gupta
>
> —
> You are currently subscribed to ntdev as: xxxxx@storagecraft.com
> To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com
>


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

No need of doing this. SCSIPORT already does this.
If you will need to find the SRB by Target/Lun/QueueTag, then use ScsiPortGetSrb.

Max

----- Original Message -----
From:
To: “NT Developers Interest List”
Sent: Thursday, November 08, 2001 10:00 AM
Subject: [ntdev] Re: Sending Multiple Request to SCSI Target

> You have to support multipe request per logical unit (Set this BOOLEAN to
> TRUE when registring your miniport driver). Then you can queue the SRBs in
> your miniport yourself.
>
> Anton
>
> On 11/08/01, “Rahul Gupta ” wrote:
> > Hi All,
> > Can I send Multiple request to a same SCSI Target Device when it has not
> > completed the previous request and How ??..
> >
> > TIA
> > Rahul Gupta
> >
> > —
> > You are currently subscribed to ntdev as: xxxxx@storagecraft.com
> > To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com
>
> —
> You are currently subscribed to ntdev as: xxxxx@storagecraft.com
> To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com
>


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com