lkml.org 
[lkml]   [2007]   [Dec]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] x86: provide a DMI based port 0x80 I/O delay override

* Rene Herman <rene.herman@keyaccess.nl> wrote:

>>> Hardly. Duron 1300 on AMD756:
>>
>> but that does not matter at all: that's not '90s era hardware that we
>> are (slightly) worried about wrt. IO delays in misc_32.c. (i.e. on
>> _real_ ISA systems)
>
> Real ISA systems will also generally respond faster to it than the
> unused port (this thing actually has an ISA bus but not VGA on it
> ofcourse) which means that "a perfect delay register" it is not. But
> yes, I have an actual Am386DX-40 with ISA VGA up and running which
> also doesn't care either way, about the ones in misc_32.c or anywhere
> else for that matter.

yeah - and that's typical of most _p() use: most of them are totally
bogus, but the global existence of the delay was used as a "it _might_
break system" boogey-man against replacing it.

so _IF_ we do any delay in x86 platform drivers, we at most do a delay
on the order of the round-trip latency to the same piece of hardware we
are handling. That isolates the quirk to the same hardware category,
instead of creating these cross-dependencies and assumed dependencies on
fixed, absolute timings. (and most hardware timing bugs are not absolute
but depend on some bus speed/frequency, thus round-trip latency of that
hardware is a good approximation of that. The round-trip to the same
hardware also correctly adds any assumed PCI posting dependencies.)

So the current plan is to go with an io_delay=udelay default in v2.6.25,
to give this a migration window, and io_delay=none in v2.6.26 [and a
complete removal of arch/x86/kernel/io_delay.c], once the _p() uses are
fixed up. This is gradual enough to notice any regressions we care about
and also makes it nicely bisectable and gradual.

Ingo


\
 
 \ /
  Last update: 2007-12-30 18:09    [from the cache]
©2003-2014 Jasper Spaans. Advertise on this site