All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jens Axboe <jens.axboe@oracle.com>
To: Boaz Harrosh <bharrosh@panasas.com>
Cc: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>,
	dougg@torque.net, linux-scsi@vger.kernel.org,
	osd-dev@open-osd.org
Subject: Re: [PATCH] bsg: Add support for submitting requests at tail of queue
Date: Thu, 22 Jan 2009 13:46:41 +0100	[thread overview]
Message-ID: <20090122124640.GQ30821@kernel.dk> (raw)
In-Reply-To: <49786A1E.3070707@panasas.com>

On Thu, Jan 22 2009, Boaz Harrosh wrote:
> Jens Axboe wrote:
> > On Thu, Jan 22 2009, FUJITA Tomonori wrote:
> >> On Wed, 21 Jan 2009 11:52:39 +0200
> >> Boaz Harrosh <bharrosh@panasas.com> wrote:
> >>
> >>> Currently inherited from sg.c bsg will submit asynchronous request
> >>> at the head-of-the-queue, (using "at_head" set in the call to
> >>> blk_execute_rq_nowait()). This is bad in situation where we want
> >>> to keep the queues full but need the requests to execute in order.
> >> As I wrote, I think that blk_execute_rq_nowait inserts a request and
> >> plugs a queue. So how can you keep the queue full? On the completion
> >> of blk_execute_rq_nowait, the queue is empty.
> > 
> > That's not true at all. If you submit more than one request, request 2
> > and up would be queued according to the orientation given. It may even
> > include request 1 as well, what if the queue is busy doing work for
> > someone else already?
> > 
> > I think the patch makes sense, I also wish that the default would have
> > been reversed so that at_back would be the default. at_back is more
> > complex though, since it impacts existing requests for the device (it
> > drains the scheduler queue).
> > 
> 
> bsg only sends BLOCK_PC commands, I think these are not held in the
> scheduler queue, right? 

They are not, correct. But that queue may have other requests pending,
which may be "normal" file system requests. Then an at_back bsg command
would act almost like a barrier, draining the entire queue to dispatch.

> I think like you at_back is the default to use, but this is historic
> compatibility with SG that had problems with ABORT and such not. With
> my patch I give the user a choice and be done with it.

at_head is definitely useful and required for some situations, but that
doesn't mean it's a good default :-). But yes, we are stuck with it. I
think the patch makes sense.

-- 
Jens Axboe


  reply	other threads:[~2009-01-22 12:48 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-01-21  9:52 [PATCH] bsg: Add support for submitting requests at tail of queue Boaz Harrosh
2009-01-21 23:24 ` FUJITA Tomonori
2009-01-22  8:57   ` Boaz Harrosh
2009-01-22 11:13   ` Jens Axboe
2009-01-22 12:44     ` Boaz Harrosh
2009-01-22 12:46       ` Jens Axboe [this message]
2009-01-22 22:03         ` FUJITA Tomonori
2009-01-22 22:27           ` James Bottomley
2009-01-23  6:14             ` FUJITA Tomonori
2009-01-25  9:17               ` Boaz Harrosh
2009-01-25  9:41 ` [PATCH version2] " Boaz Harrosh
2009-01-25  9:44   ` Boaz Harrosh
2009-01-25 10:07 ` [PATCH version 3] " Boaz Harrosh

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20090122124640.GQ30821@kernel.dk \
    --to=jens.axboe@oracle.com \
    --cc=bharrosh@panasas.com \
    --cc=dougg@torque.net \
    --cc=fujita.tomonori@lab.ntt.co.jp \
    --cc=linux-scsi@vger.kernel.org \
    --cc=osd-dev@open-osd.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.