public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* Block device strategy and requests
@ 2001-04-26 14:38 Malcolm Beattie
  2001-04-26 14:56 ` Jens Axboe
  2001-04-26 15:21 ` Jeremy Jackson
  0 siblings, 2 replies; 3+ messages in thread
From: Malcolm Beattie @ 2001-04-26 14:38 UTC (permalink / raw)
  To: linux-kernel

I'm designing a block device driver for a high performance disk
subsystem with unusual characteristics. To what extent is the
limited number of "struct request"s (128 by default) necessary for
back-pressure? With this I/O subsystem it would be possible for the
strategy function to rip the requests from the request list straight
away, arrange for the I/Os to be done to/from the buffer_heads (with
no additional state required) with no memory "leak". This would
effectively mean that the only limit on the number of I/Os queued
would be the number of buffer_heads allocated; not a fixed number of
"struct request"s in flight. Is this reasonable or does any memory or
resource balancing depend on the number of I/Os outstanding being
bounded?

Also, there is a lot of flexibility in how often interrupts are sent
to mark the buffer_heads up-to-date. (With the requests pulled
straight off the queue, the job of end_that_request_first() in doing
the linked list updates and bh->b_end_io() callbacks would be done by
the interrupt routine directly.) At one extreme, I could take an
interrupt for each 4K block issued and mark it up-to-date very
quickly making for very low-latency I/O but a very large interrupt
rate when I/O throughput is high. The alternative would be to arrange
for an interrupt every n buffer_heads (or based on some other
criterion) and only take an interrupt and mark buffers up-to-date on
each of those). Are there any rules of thumb on which is best or
doesn't it matter too much?

--Malcolm

-- 
Malcolm Beattie <mbeattie@sable.ox.ac.uk>
Unix Systems Programmer
Oxford University Computing Services

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2001-04-26 15:21 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2001-04-26 14:38 Block device strategy and requests Malcolm Beattie
2001-04-26 14:56 ` Jens Axboe
2001-04-26 15:21 ` Jeremy Jackson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox