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
-- strict thread matches above, loose matches on Subject: below --
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 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.