linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Luben Tuikov <luben@splentec.com>
To: James Bottomley <James.Bottomley@SteelEye.com>
Cc: "Justin T. Gibbs" <gibbs@scsiguy.com>,
	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: Sat, 28 Sep 2002 19:25:39 -0400	[thread overview]
Message-ID: <3D963A73.F593F5F7@splentec.com> (raw)
In-Reply-To: 200209281552.g8SFqKS04855@localhost.localdomain

James Bottomley wrote:
> 
> > 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.
> 
> I'm lost here.  We currently implement TCQ with simple tags which have no
> guarantee of execution order in the drive I/O scheduler.  Why would we want to
> bother preserving the order of what will become essentially an unordered queue?
> 
> This will become an issue when (or more likely if) journalled fs rely on the
> barrier being implemented down to the medium, and the mid layer does do
> reqeueing in the correct order in that case, except for the tiny race where
> the command following the queue full could be accepted by the device before
> the queue is blocked.

Justin has the right idea.

TCQ goes hand in hand with Task Attributes. I.e. a tagged task
is an I_T_L_Q nexus and has a task attribute (Simple, Ordered, Head
of Queue, ACA; cf. SAM-3, 4.9.1).

Maybe the generator of tags (block layer, user process through sg, etc)
should also set the tag attribute of the task, as per SAM-3.
Most often (as currently implicitly) this would be a Simple task attribute.
Why not the block layer borrow the idea from SAM-3, I see IDE only
coming closer to SCSI...

This way there'd be no need for explicit barriers. They can be implemented
through Ordered and Head of Queue Tasks, everything else is Simple
attribute task (IO scheduler can play with those as it wishes).

This would provide for a more general basis the whole game (IO scheduling,
TCQ, IO barriers, etc).

If the device is not SCSI or it doesn't provide for those (the applicable
bits in the INQ data and mode pages), then those can be succesfully
simulated in the kernel, but at lowest level as I mentioned before.

-- 
Luben

  reply	other threads:[~2002-09-28 23:20 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
2002-09-28 15:52                                                     ` James Bottomley
2002-09-28 23:25                                                       ` Luben Tuikov [this message]
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=3D963A73.F593F5F7@splentec.com \
    --to=luben@splentec.com \
    --cc=James.Bottomley@SteelEye.com \
    --cc=akpm@digeo.com \
    --cc=axboe@suse.de \
    --cc=gibbs@scsiguy.com \
    --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;
as well as URLs for NNTP newsgroup(s).