From: Jeff Garzik <jeff@garzik.org>
To: Fajun Chen <fajunchen@gmail.com>
Cc: Alan <alan@lxorguk.ukuu.org.uk>,
"linux-ide@vger.kernel.org" <linux-ide@vger.kernel.org>,
Tejun Heo <htejun@gmail.com>
Subject: Re: Question about PATA Sil680 Cache Line Size and Performance Degradation on ARM XScale
Date: Thu, 22 Feb 2007 18:23:06 -0500 [thread overview]
Message-ID: <45DE25DA.6080308@garzik.org> (raw)
In-Reply-To: <8202f4270702221514v680bb78byf5dd840e1ef861ca@mail.gmail.com>
Fajun Chen wrote:
> On 2/22/07, Jeff Garzik <jeff@garzik.org> wrote:
>> Alan wrote:
>> >> Since Sil3124 has better PCI read/write performance, as a reference,
>> >> could someone explain or point me to the PCI configuration code for
>> >> Sil3124? I couldn't find it in sata_sil24.c.
>> >
>> > Are you sure the values used are not the power on ones in this case ?
>>
>> The values used, most likely, are BIOS-programmed.
>>
>> sata_sil24.c does not call pci_set_mwi(), which is the only code in the
>> kernel (besides driver-specific, hand-coded stuff) that adjusts the PCI
>> cacheline register value.
>>
>
> I traced the latency timer and cache line size setup in SATA Sil3124.
> Latency timer is set to 0x40 and cache line size is set to 0. For
> PATA Sil680, latency timer is set to 0 and cache line size is set to
> 1. If Sil3124 is a good reference for performance, we probably should
> set latency timer to 0x40 and cache line size to 0 or 8 for Sil680.
> Both Sil3124 and Sil680 specs recommend using Read Multiple as a PCI
If you are going to be using PCI transactions that operate on cacheline
size-based quantities of data, you should definitely program the PCI
config register to a non-zero value.
> master, ARM XScale cache line is 32 bytes, so it is probably better to
> set cache line size to 8 for ARM XScale. I tested both
> configurations(cache line of 0 vs 8) though, no big difference in IO
> performance but both are much better than default configuration in
> Sil680.
Read pci_set_cacheline_size() in drivers/pci/pci.c for the proper method
of programming.
Jeff
prev parent reply other threads:[~2007-02-22 23:23 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-02-21 22:56 Question about PATA Sil680 Cache Line Size and Performance Degradation on ARM XScale Fajun Chen
2007-02-22 0:04 ` Alan
2007-02-22 1:21 ` Fajun Chen
2007-02-22 18:52 ` Alan
2007-02-22 18:18 ` Jeff Garzik
2007-02-22 23:14 ` Fajun Chen
2007-02-22 23:23 ` Jeff Garzik [this message]
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=45DE25DA.6080308@garzik.org \
--to=jeff@garzik.org \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=fajunchen@gmail.com \
--cc=htejun@gmail.com \
--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.