From: Jeff Garzik <jeff@garzik.org>
To: Ingo Molnar <mingo@elte.hu>
Cc: Lee Revell <rlrevell@joe-job.com>,
"Bill Rugolsky Jr." <brugolsky@telemetry-investments.com>,
Andi Kleen <ak@suse.de>, Jason Baron <jbaron@redhat.com>,
linux-kernel@vger.kernel.org, john stultz <johnstul@us.ibm.com>
Subject: Re: libata/sata_nv latency on NVIDIA CK804 [was Re: AMD64 X2 lost ticks on PM timer]
Date: Wed, 15 Mar 2006 17:22:35 -0500 [thread overview]
Message-ID: <441893AB.1070300@garzik.org> (raw)
In-Reply-To: <20060315215848.GB18241@elte.hu>
Ingo Molnar wrote:
> in this particular case there's only very simple (and non-IO)
> instructions in that codepath (no loops either), except for
> ata_bmdma_status() which does IO ops: so i agree with you that the most
> likely candidate for the delay is the readb() or the inb() in
> ata_bdma_status().
>
> I'm wondering which one of the two. inb()s are known to be horrible on
> some systems - but i've never seen them take 16 milliseconds. If it's
> the inb(), then that could also involve SMM mode and IO
ata_bmdma_status() is just a single IO read, and even 1ms is highly
improbable.
I'd look elsewhere. There are a ton of udelay() calls in the legacy PCI
IDE BMDMA code paths (sata_nv uses these), so I'm not surprised there is
latency in general, in a libata+sata_nv configuration. Status checks
for example (ata_busy_wait in libata.h) are basically
while (ioreadX() != condition)
udelay(10)
That delay is mainly a "don't pound too hard on the hardware" delay. If
the hardware is really slow completing a command after signalling
completion, you'll potentially wait up to 1000*10 us in some cases. And
there are other delays, such as the per-command ndelay() plus ioread().
Welcome to the wonderful world of IDE.
Jeff
next prev parent reply other threads:[~2006-03-15 22:23 UTC|newest]
Thread overview: 60+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-02-27 21:22 AMD64 X2 lost ticks on PM timer bubshait
2006-02-27 22:21 ` Bill Rugolsky Jr.
2006-02-27 22:47 ` Jason Baron
2006-02-28 7:41 ` Abdulla Bubshait
2006-02-28 22:00 ` Bill Rugolsky Jr.
2006-02-28 23:53 ` Andi Kleen
2006-03-01 14:46 ` Bill Rugolsky Jr.
2006-03-01 14:56 ` Andi Kleen
2006-03-01 15:43 ` Bill Rugolsky Jr.
2006-03-01 15:47 ` Andi Kleen
2006-03-01 18:07 ` Bill Rugolsky Jr.
2006-03-01 18:29 ` Andi Kleen
2006-03-01 19:16 ` Lee Revell
2006-03-03 19:18 ` Bill Rugolsky Jr.
2006-03-03 21:26 ` Lee Revell
2006-03-03 22:09 ` Jeff Garzik
2006-03-03 23:43 ` Bill Rugolsky Jr.
2006-03-03 23:46 ` Jeff Garzik
2006-03-03 23:49 ` Lee Revell
2006-03-04 0:08 ` Andi Kleen
2006-03-04 0:07 ` Andi Kleen
[not found] ` <20060315213638.GA17817@ti64.telemetry-investments.com>
2006-03-15 21:45 ` libata/sata_nv latency on NVIDIA CK804 [was Re: AMD64 X2 lost ticks on PM timer] Lee Revell
2006-03-15 21:58 ` Ingo Molnar
2006-03-15 22:00 ` Ingo Molnar
2006-03-15 22:25 ` Jeff Garzik
2006-03-16 15:13 ` Alan Cox
2006-03-16 16:57 ` Bill Rugolsky Jr.
2006-03-22 16:09 ` Andi Kleen
2006-03-22 18:39 ` Bill Rugolsky Jr.
2006-03-22 23:07 ` Bill Rugolsky Jr.
2006-03-15 22:22 ` Jeff Garzik [this message]
2006-03-15 22:24 ` Ingo Molnar
2006-03-15 22:36 ` Bill Rugolsky Jr.
2006-03-15 22:46 ` Ingo Molnar
2006-03-15 22:48 ` Jeff Garzik
2006-03-15 23:31 ` Lee Revell
2006-03-15 21:50 ` Ingo Molnar
2006-03-15 22:11 ` Ingo Molnar
2006-03-15 22:33 ` Jeff Garzik
2006-03-15 22:44 ` Ingo Molnar
2006-03-15 22:50 ` Jeff Garzik
2006-03-15 23:14 ` Bill Rugolsky Jr.
2006-03-15 23:44 ` Lee Revell
[not found] ` <20060316002133.GE17817@ti64.telemetry-investments.com>
2006-03-16 0:48 ` Long latencies with MD RAID 1 [was Re: libata/sata_nv latency on NVIDIA CK804 ] Lee Revell
2006-03-16 3:15 ` libata/sata_nv latency on NVIDIA CK804 [was Re: AMD64 X2 lost ticks on PM timer] Bill Rugolsky Jr.
2006-03-16 4:20 ` Lee Revell
2006-03-16 9:18 ` Ingo Molnar
2006-03-16 14:42 ` Gabor Gombas
2006-03-16 0:01 ` Lee Revell
2006-03-16 0:14 ` Jeff Garzik
2006-03-15 22:30 ` Jeff Garzik
2006-03-15 22:36 ` Ingo Molnar
2006-03-15 22:04 ` [patch] latency-tracing-v2.6.16.patch Ingo Molnar
2006-03-15 22:32 ` Bill Rugolsky Jr.
2006-03-16 9:18 ` Ingo Molnar
2006-03-04 12:06 ` AMD64 X2 lost ticks on PM timer Martin Schlemmer
2006-03-05 7:07 ` Alexander Samad
2006-03-02 15:47 ` Gabor Gombas
2006-02-28 21:17 ` Abdulla Bubshait
2006-03-16 0:33 libata/sata_nv latency on NVIDIA CK804 [was Re: AMD64 X2 lost ticks on PM timer] Allen Martin
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=441893AB.1070300@garzik.org \
--to=jeff@garzik.org \
--cc=ak@suse.de \
--cc=brugolsky@telemetry-investments.com \
--cc=jbaron@redhat.com \
--cc=johnstul@us.ibm.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=rlrevell@joe-job.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).