linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
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



  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).