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 10:33:54 GMT [thread overview]
Message-ID: <201003181033.o2IAXsfr015339@demeter.kernel.org> (raw)
In-Reply-To: <bug-15565-11613@http.bugzilla.kernel.org/>
http://bugzilla.kernel.org/show_bug.cgi?id=15565
--- Comment #3 from Anonymous Emailer <anonymous@kernel-bugs.osdl.org> 2010-03-18 10:32:31 ---
Reply-To: bharrosh@panasas.com
On 03/18/2010 04:19 AM, Douglas Gilbert wrote:
> bugzilla-daemon@bugzilla.kernel.org wrote:
>> http://bugzilla.kernel.org/show_bug.cgi?id=15565
>>
>> Summary: SCSI Generic queueing completes commands in reverse
>> order
>> Product: IO/Storage
>> Version: 2.5
>> Kernel Version: 2.6.18-2.6.32
>> Platform: All
>> OS/Version: Linux
>> Tree: Mainline
>> Status: NEW
>> Severity: normal
>> Priority: P1
>> Component: SCSI
>> AssignedTo: linux-scsi@vger.kernel.org
>> ReportedBy: mh-linux-kernel@loup.net
>> Regression: No
>>
>>
>> I've noticed after queueing the first command, subsequent commands
>> appear to be executed and complete in reverse order. The SCSI Generic
>> HOWTO says "By default, read() will return the oldest completed
>> request that is queued up."
>>
>> This could also be a performance defect if it's what's really
>> happening since it isn't desirable behavior if, for example, ios are
>> typically ordered by lba and issued one at a time by kernel to a non
>> queueing block device.
>>
>> This reverse order behavior is trivial to reproduce; just queue 16
>> concurrent INQUIRY commands. The following are typical results I get
>> from initially queueing 16 READ_10 commands.
>>
>> Completion Command # hdr.driver_duration (us)
>> Order
>> 1 22 14979
>> 2 20 14981
>> 3 19 14982
>> 4 17 14984
>> 5 16 14985
>> 6 15 14986
>> 7 14 14988
>> 8 12 14990
>> 9 11 14991
>> 10 10 14992
>>
>
> I have been told that is a feature :-)
>
> The SCSI mid level processes commands from
> pass-throughs (e.g. sg and bsg) in LIFO order.
> For certain types of error processing it makes
> sense. For READs and WRITEs it makes no sense.
>
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.
> Doug Gilbert
>
It could be added to sg as well if needed
Boaz
--
Configure bugmail: http://bugzilla.kernel.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
next prev parent reply other threads:[~2010-03-18 10:33 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 [this message]
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
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=201003181033.o2IAXsfr015339@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).