From: Sergei Shtylyov <sshtylyov@ru.mvista.com>
To: Matt Sealey <matt@genesi-usa.com>
Cc: linux-ide@vger.kernel.org
Subject: Re: Read Prefetch, Post Write on IDE chipsets
Date: Sun, 02 Sep 2007 18:07:47 +0400 [thread overview]
Message-ID: <46DAC3B3.9040806@ru.mvista.com> (raw)
In-Reply-To: <46DAB1DF.5050109@genesi-usa.com>
Hello.
Matt Sealey wrote:
> Does anyone have any decent information on the purpose,
Prefetch allows the controller to keep reading data until it fills it's
(usually 512 byte sector but may be programmable size on some devices to
accomodate ATAPI) not waiting for PCI I/O read cycles -- which are than
satisfied from that buffer (if it's not empty). So, this effectively decoples
PCI and IDE transactions.
> performance potential
> or perhaps quirks of the "read prefetch" and "post write" buffer
> features on some IDE chipsets?
The quirks are quite well known: non-data reads get into the prefetch
buffer, sometimes even reads from the mate channel which causes the wrong
sector data to be read and buffer left in non-empty state, thus causing wrong
reads afterwards, if the measures are not taken (like the buffer reset).
> It doesn't look like any standard but at least is included in quite a few
> of the libata drivers,
It may be considered a "de facto" standard.
> and a lot of x86 BIOS control has toggles to try and turn it on or off.
Yeah, for ATAPI devices it's usually turned off (unless meybe for the
commands known to return a power of 2 bytes of data, like 2KiB).
> But, what is it? I've never seen any documentation but which register to
> use
> to toggle it..
I can advice reading Intel's manual, 29860004.pdf, or the datasheets for
the concrete chipset...
> no vendor recommendations to turn it on, it seems like a rather
> secret feature..?
Just misdocoumeted and/or buggy sometimes. It's generally a good idea to
turn it off for ATAPI devices, and on for normal disks (unless there's a known
bug in its implementation).
MBR, Sergei
next prev parent reply other threads:[~2007-09-02 14:04 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-09-02 12:51 Read Prefetch, Post Write on IDE chipsets Matt Sealey
2007-09-02 14:00 ` Alan Cox
2007-09-02 14:04 ` Matt Sealey
2007-09-02 14:07 ` Sergei Shtylyov [this message]
2007-09-02 14:12 ` Sergei Shtylyov
2007-09-02 14:23 ` Sergei Shtylyov
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=46DAC3B3.9040806@ru.mvista.com \
--to=sshtylyov@ru.mvista.com \
--cc=linux-ide@vger.kernel.org \
--cc=matt@genesi-usa.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).