From: "Justin T. Gibbs" <gibbs@scsiguy.com>
To: James Bottomley <James.Bottomley@steeleye.com>
Cc: Andrew Morton <akpm@digeo.com>, Jens Axboe <axboe@suse.de>,
Matthew Jacob <mjacob@feral.com>,
"Pedro M. Rodrigues" <pmanuel@myrealbox.com>,
Mathieu Chouquet-Stringer <mathieu@newview.com>,
linux-scsi@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: Warning - running *really* short on DMA buffers while doingfiletransfers
Date: Fri, 27 Sep 2002 15:28:47 -0600 [thread overview]
Message-ID: <2645346224.1033162127@aslan.btc.adaptec.com> (raw)
In-Reply-To: <200209272113.g8RLD1420775@localhost.localdomain>
> Linux is perfectly happy just to have you return 1 in queuecommand if the
> device won't accept the tag. The can_queue parameter represents the
> maximum number of outstanding commands the mid-layer will ever send.
> The mid-layer is happy to re-queue I/O below this limit if it cannot be
> accepted by the drive. In fact, that's more or less what queue plugging
> is about.
>
> The only problem occurs if you return 1 from queuecommand with no other
> outstanding I/O for the device.
>
> There should be no reason in 2.5 for a driver to have to implement an
> internal queue.
Did this really get fixed in 2.5? The internal queuing was completely
broken in 2.4. Some of the known breakages were:
1) Device returns queue full with no outstanding commands from us
(usually occurs in multi-initiator environments).
2) No delay after busy status so devices that will continually
report BUSY if you hammer them with commands never come ready.
3) Queue is restarted as soon as any command completes even if
you really need to throttle down the number of tags supported
by the device.
4) No tag throttling. If tag throttling is in 2.5, does it ever
increment the tag depth to handle devices that report temporary
resource shortages (Atlas II and III do this all the time, other
devices usually do this only in multi-initiator environments).
5) Proper transaction ordering across a queue full. The aic7xxx
driver "requeues" all transactions that have not yet been sent
to the device replacing the transaction that experienced the queue
full back at the head so that ordering is maintained.
No thought was put into any of these issues in 2.4, so I decided not
to even think about trusting the mid-layer for this functionality.
--
Justin
next prev parent reply other threads:[~2002-09-27 21:24 UTC|newest]
Thread overview: 60+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-09-26 3:27 Warning - running *really* short on DMA buffers while doing file transfers Mathieu Chouquet-Stringer
2002-09-26 6:14 ` Jens Axboe
2002-09-26 7:04 ` Pedro M. Rodrigues
2002-09-26 15:31 ` Justin T. Gibbs
2002-09-27 6:13 ` Jens Axboe
2002-09-27 6:33 ` Matthew Jacob
2002-09-27 6:36 ` Jens Axboe
2002-09-27 6:50 ` Matthew Jacob
2002-09-27 6:56 ` Jens Axboe
2002-09-27 7:18 ` Matthew Jacob
2002-09-27 7:24 ` Jens Axboe
2002-09-27 7:29 ` Matthew Jacob
2002-09-27 7:34 ` Matthew Jacob
2002-09-27 7:45 ` Jens Axboe
2002-09-27 8:37 ` Matthew Jacob
2002-09-27 10:25 ` Jens Axboe
2002-09-27 12:18 ` Matthew Jacob
2002-09-27 12:54 ` Jens Axboe
2002-09-27 13:30 ` Justin T. Gibbs
2002-09-27 14:26 ` James Bottomley
2002-09-27 14:33 ` Jens Axboe
2002-09-27 16:26 ` Justin T. Gibbs
2002-09-27 17:21 ` James Bottomley
2002-09-27 18:56 ` Justin T. Gibbs
2002-09-27 19:07 ` Warning - running *really* short on DMA buffers while doingfile transfers Andrew Morton
2002-09-27 19:16 ` Justin T. Gibbs
2002-09-27 19:36 ` Warning - running *really* short on DMA buffers while doingfiletransfers Andrew Morton
2002-09-27 19:52 ` Justin T. Gibbs
2002-09-27 21:13 ` James Bottomley
2002-09-27 21:18 ` Matthew Jacob
2002-09-27 21:23 ` James Bottomley
2002-09-27 21:29 ` Justin T. Gibbs
2002-09-27 21:32 ` Matthew Jacob
2002-09-27 22:08 ` Mike Anderson
2002-09-30 23:49 ` Doug Ledford
2002-09-27 21:28 ` Justin T. Gibbs [this message]
2002-09-28 15:52 ` James Bottomley
2002-09-28 23:25 ` Luben Tuikov
2002-09-29 2:48 ` James Bottomley
2002-09-30 8:34 ` Jens Axboe
2002-09-29 4:00 ` Justin T. Gibbs
2002-09-29 15:45 ` James Bottomley
2002-09-29 16:49 ` [ getting OT ] " Matthew Jacob
2002-09-30 19:06 ` Luben Tuikov
2002-09-30 23:54 ` Doug Ledford
2002-09-27 19:58 ` Andrew Morton
2002-09-27 20:58 ` Warning - running *really* short on DMA buffers while doing file transfers Justin T. Gibbs
2002-09-27 21:38 ` Patrick Mansfield
2002-09-27 22:08 ` Justin T. Gibbs
2002-09-27 22:28 ` Patrick Mansfield
2002-09-27 22:48 ` Justin T. Gibbs
2002-09-27 18:59 ` Warning - running *really* short on DMA buffers while doingfile transfers Andrew Morton
2002-09-27 14:30 ` Warning - running *really* short on DMA buffers while doing file transfers Jens Axboe
2002-09-27 17:19 ` Justin T. Gibbs
2002-09-27 18:29 ` Rik van Riel
2002-09-27 14:56 ` Rik van Riel
2002-09-27 15:34 ` Matthew Jacob
2002-09-27 15:37 ` Jens Axboe
2002-09-27 17:20 ` Justin T. Gibbs
2002-09-27 12:28 ` Pedro M. Rodrigues
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=2645346224.1033162127@aslan.btc.adaptec.com \
--to=gibbs@scsiguy.com \
--cc=James.Bottomley@steeleye.com \
--cc=akpm@digeo.com \
--cc=axboe@suse.de \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-scsi@vger.kernel.org \
--cc=mathieu@newview.com \
--cc=mjacob@feral.com \
--cc=pmanuel@myrealbox.com \
/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