[ofw] RE: Release IBA resources in DISPATCH_LEVEL ?
Leonid Keller
leonid at mellanox.co.il
Mon Jun 16 02:56:33 PDT 2008
Hi Fab,
I didn't tell that there are HW limitations.
I meant to say that in addition to the change of CMD interface API and
IBAL one have to add all the logic of issueing/delaying of requests,
which make the things more complicated.
Maybe it was obvious to you. :(
> -----Original Message-----
> From: Fab Tillier [mailto:ftillier at windows.microsoft.com]
> Sent: Monday, June 16, 2008 1:25 AM
> To: Leonid Keller; Tzachi Dar; Sean Hefty; James Yang;
> ofw at lists.openfabrics.org
> Subject: RE: [ofw] RE: Release IBA resources in DISPATCH_LEVEL ?
>
> Hi Leo,
>
> > -----Original Message-----
> > From: Leonid Keller [mailto:leonid at mellanox.co.il]
> > Sent: Sunday, June 15, 2008 2:08 AM
> >
> >> The only reason waiting is needed is because the driver
> >> implementation forces it.
> > Generally, you are right, but it's a bit more complicated
> then that.
> > There are dependencies between the commands, which can
> cause problems
> > in fully asynchronous work with the card.
>
> I disagree: the blocking semantics are independent of
> hardware limitations.
>
> Dependencies between commands just affects whether you can
> issue the command right away, of if you have to wait for a
> previous command to complete. You need that anyway as the
> hardware has a limit to the number of commands that it can
> handle concurrently, even with the synchronous mechanisms in
> use today. With the synchronous model of the driver, you may
> block before the command is issued, and you will block while
> the command is being processed by the hardware. The logic
> must already be there to resume command processing when a
> command completes, regardless of whether the command is
> blocking or asynchronous.
>
> With an asynchronous model, the caller's request would always
> return STATUS_PENDING. It would do this when either
> a). a command is in progress that is a prerequisiste for
> this command;
> b). there are too many commands in flight to issue this command;
> c). the command is issued to the hardware;
>
> For cases a) and b), the command would be issued once the
> prerequisite command or first previous command completes,
> respectively.
>
> In all cases, the client would be notified of the request
> completion when the command is complete.
>
> I would actually suspect handling commands asynchronously
> would simplify the HCA driver. All the logic for blocking
> and waking up the caller would be eliminated. The HCA driver
> wouldn't have to care whether callers are at DISPATCH or
> lower, the processing would be the same always.
>
> -Fab
>
--
Leonid Keller
Mellanox Technologies LTD.
SW- Windows
Phone: +972 (4) 909 7200 (ext 372)
Mobile: +972 (54) 464 7702
E-mail: leonid at mellanox.co.il
----------------------------------------------------------------------
Emails belong on computers, trees belong in forests; if you must print
this, do it on recycled paper.
http://www.greenpeace.org/international/
----------------------------------------------------------------------
Disclaimer added by CodeTwo Exchange Rules
http://www.codetwo.com
More information about the ofw
mailing list