From: Jens Axboe <axboe@suse.de>
To: Erik Slagter <erik@slagter.name>
Cc: DCox@icc.net, Linux IDE List <linux-ide@vger.kernel.org>
Subject: Re: Readahead with softraid1
Date: Fri, 8 Jul 2005 15:30:00 +0200 [thread overview]
Message-ID: <20050708132959.GM7050@suse.de> (raw)
In-Reply-To: <1120828592.23681.24.camel@localhost.localdomain>
On Fri, Jul 08 2005, Erik Slagter wrote:
> On Fri, 2005-07-08 at 08:16 -0400, Danny Cox wrote:
>
> > > What am I doing wrong here???
> >
> > Nothing. I'll take a shot at answering this one instead of lurking
> > this time. Then, I'll crawl back under my rock.
> >
> > The raid1 driver keeps a "last visited block" for each drive. This is
> > the block number that was most recently read or written by that drive.
> > When a read request arrives, the driver examines each drive for the
> > nearest last visited block to the one requested. Guess what? If the
> > read starts with drive sda, then it will *always* be the one chosen to
> > service the read in the future, because the last visited block number is
> > only one off. This would only change if there are multiple processes
> > performing I/O on the md device. Then, it may switch to another drive.
> > In any case, it will *tend* to stick with the same drive.
> >
> > Did I explain that well, or only muddy the waters?
>
> perfect explanation, thanks (and also Jens!).
>
> Is this a design decision or is it fundamentaly impossible to split the
> work amongst several drives? I guess the md driver at least do a
> prefetch of the next block/chunk on the "other" drive(s)?
Not sure if it's a design decision or just "this works ok, I'll fix it
later". Clearly there is a lot of room for improvement in the balancing
logic, to get more cases correct/faster. It's quite doable to split a
bio and send bits of it to various drives.
--
Jens Axboe
next prev parent reply other threads:[~2005-07-08 13:28 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-07-08 12:00 Readahead with softraid1 Erik Slagter
2005-07-08 12:05 ` Jens Axboe
2005-07-08 12:16 ` Danny Cox
2005-07-08 13:16 ` Erik Slagter
2005-07-08 13:30 ` Jens Axboe [this message]
2005-07-08 13:42 ` Danny Cox
2005-07-08 15:28 ` Greg Freemyer
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=20050708132959.GM7050@suse.de \
--to=axboe@suse.de \
--cc=DCox@icc.net \
--cc=erik@slagter.name \
--cc=linux-ide@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.