linux-scsi.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: bugzilla-daemon@bugzilla.kernel.org
To: linux-scsi@vger.kernel.org
Subject: [Bug 15565] SCSI Generic queueing completes commands in reverse order
Date: Thu, 18 Mar 2010 18:03:21 GMT	[thread overview]
Message-ID: <201003181803.o2II3L2F020805@demeter.kernel.org> (raw)
In-Reply-To: <bug-15565-11613@http.bugzilla.kernel.org/>

http://bugzilla.kernel.org/show_bug.cgi?id=15565





--- Comment #5 from Anonymous Emailer <anonymous@kernel-bugs.osdl.org>  2010-03-18 18:03:17 ---
Reply-To: bharrosh@panasas.com

Please switch to mail ?

On 03/18/2010 07:21 PM, bugzilla-daemon@bugzilla.kernel.org wrote:
> http://bugzilla.kernel.org/show_bug.cgi?id=15565
> 
> 
> 
> 
> 
> --- Comment #4 from Mike Hayward <mh-linux-kernel@loup.net>  2010-03-18 17:21:05 ---
> Hi Boaz,
> 
>  > I have fixed that for bsg long ago. There is a flag
>  > that you put:
>  >     sg.flags = BSG_FLAG_Q_AT_TAIL;
>  > Which will do the by order, queue at tail. Zero was kept compatible
>  > to sg meaning "queue at head" i.e. jump the line.
>  > 
>  > It could be added to sg as well if needed
> 
> I think that would be a huge improvement for disk drives.
> 
> Isn't BSG driven with a blocking ioctl?  Maybe I'm using old docs, but
> from the HOWTO's I've read, I was under the impression it would issue
> one SCSI command at a time and block until it completed.  Queueing
> would effectively only be possible then with multiple threads, right?
> 

There is a way to do write with multiple ios at once and then
do reads to get return status. (I have untested code that does
that but never needed it so badly as to finish it. But I know
of other people that did it)

bsg does not have all these mmap/shared buffers options like
sg does, though. Hell not even AIOs.

> Since sg allows multiple (only 16 right now) ios to be queued
> nonblocking to a block device from a single threaded process,
> an SG_FLAG_Q_AT_TAIL flag would seem particularly relevant.
> 

Yes. Currently the queue of 16 does nothing because in effect the
Kernel will completely drain the Q on each "Q_AT_HEAD". So the Q
does nothing for IO with current sg.

> Nonblocking behavior is the primary reason why I am using sg... it
> seems really inefficient and complex to use dozens of threads and ipc
> just to try to submit a queue of ios to the kernel and hence a device.
> 

There are surely other ways to do AIO, no?
(The A in AIO stands for Asynchronous)

> If bsg actually allowed tasks to be queued nonblocking like sg, I'd
> switch in a heart beat since having two filesystem names for the same
> device introduces locking problems, name translation complexity, and
> confusion in general for administrators.
> 

Well bsg has it's own naming translation. You do not use /dev/sdX1. You
need to open the bsg char-device corresponding the particular scsi-device
...

> - Mike
> 

Boaz

-- 
Configure bugmail: http://bugzilla.kernel.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

  parent reply	other threads:[~2010-03-18 18:03 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-03-17 22:33 [Bug 15565] New: SCSI Generic queueing completes commands in reverse order bugzilla-daemon
2010-03-18  2:19 ` Douglas Gilbert
2010-03-18  9:56   ` Boaz Harrosh
2010-03-18  2:20 ` [Bug 15565] " bugzilla-daemon
2010-03-18  8:23 ` bugzilla-daemon
2010-03-18 10:33 ` bugzilla-daemon
2010-03-18 17:21 ` bugzilla-daemon
2010-03-18 18:02   ` Boaz Harrosh
2010-03-18 19:30     ` Douglas Gilbert
2010-03-19 19:41       ` Vladislav Bolkhovitin
2010-03-19 20:57         ` Michael Reed
2010-03-21 11:45           ` Boaz Harrosh
2010-03-18 18:03 ` bugzilla-daemon [this message]
2010-03-18 19:31 ` bugzilla-daemon
2010-03-19 20:30 ` bugzilla-daemon
2010-03-19 21:36 ` bugzilla-daemon
2010-03-20  3:28 ` bugzilla-daemon
     [not found] <bug-15565-11613@https.bugzilla.kernel.org/>
2010-03-21 11:46 ` bugzilla-daemon
2012-07-05 16:12 ` bugzilla-daemon

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=201003181803.o2II3L2F020805@demeter.kernel.org \
    --to=bugzilla-daemon@bugzilla.kernel.org \
    --cc=linux-scsi@vger.kernel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).