Re: [PATCH] deadline io scheduler

Patrick Mansfield
2002-09-30T15:34:51Z

On Mon, Sep 30, 2002 at 10:15:22AM +0200, Jens Axboe wrote:
> On Thu, Sep 26 2002, Patrick Mansfield wrote:

> > I haven't look closely at the block tagging, but for the FCP protocol,
> > there are no tags, just the type of queueing to use (task attributes)
> > - like ordered, head of queue, untagged, and some others. The tagging
> > is normally done on the adapter itself (FCP2 protocol AFAIK). Does this
> > mean block level queued tagging can't help FCP?
>
> The generic block level tagging is nothing more than tag management. It
> can 'tag' a request (assigning it an integer tag), and later let you
> locate that request by giving it the tag.
>
> I suspect you need none of that for FCP. Instead it looks more like you
> can set the task attributes based on the type of request itself. So you
> would currently set 'ordered' for a request with REQ_BARRIER set. And
> you could set 'head of queue' for REQ_URGENT (I'm making this one up
> :-), etc.
>
> Do you need any request management to deal with FCP queueing? It doesn't
> sound like it.

No.

OK I understand it now - if someone wants to put barrier support in an FCP
adapter driver something like we have in scsi_populate_tag_msg() would be
useful, an inline or macro like:

static inline int scsi_is_ordered(Scsi_Cmnd *SCpnt)
{
if (SCpnt->request->flags & REQ_BARRIER)
return 1;
else
return 0;
}

-- Patrick Mansfield