Cc: David P. Reed <dpreed@...>, H. Peter Anvin <hpa@...>, Rene Herman <rene.herman@...>, Paul Rolland <rol@...>, Pavel Machek <pavel@...>, Thomas Gleixner <tglx@...>, <linux-kernel@...>, Ingo Molnar <mingo@...>, <rol@...>
yes, ISA is fragile, and no way do we want to remove the delay, but are
there strong counter-arguments against doing the clean thing and adding
an udelay(2) (or udelay(1)) to replace those _p() uses in ISA drivers?
That removes the global effect once and forever. Initially for
standalone drivers without early bootup functionality, not platform
drivers that might need to run before we have calibrated udelay.
if someone runs a fresh new kernel on an ancient device then timings
_will_ change a bit, no matter what we do. Alignments change, the
compiler output will change (old compilers get deprecated so a new
compiler might have to be picked), cache effects change - and this is
inevitable. The important thing is to not eliminate the delays - but we
sure dont have to keep them cycle accurate (we couldnt even if we wanted
to). The only way to get the _exact same_ behavior is to not change the
kernel at all.
Ingo
--