Re: [tip:x86/platform] x86/PCI/mmcfg: Switch to ECAM config mode if possible

From: Linus Torvalds
Date: Fri Jun 30 2017 - 13:16:32 EST


On Fri, Jun 30, 2017 at 7:30 AM, Thomas Gleixner <tglx@xxxxxxxxxxxxx> wrote:
>> But MCFG problems were a long time ago and noone uses these systems anymore,
>> so perhaps he is right.
>
> The obvious solution to this is to force type 1 for older machines, i.e. <=
> K8. Some day we should stop supporting 15+ years old crap just because we
> can.

No.

The fact is, type 1 is the *good* thing. It's the standard thing that
has worked pretty much forever, and that is not just tested, but has
good semantics.

The new stuff is the crazy crap. It's crazy crap in so many ways:

- non-deterministic memory addresses found in firmware tables that
have had bugs

- using MMIO means that there are lots of basic issues with
fundamental things like write gathering and ordering

The right thing to do is to just admit that the extended mmcfg isn't
actually the rigth thjing to do by default, and only use it when you
have to.

"Newer" does not always mean "better", and there's been lots of bad
hardware (and bad firmware).

So use the "enhanced" one for stuff above the 256-byte limit. Not for
basic probing.

Anmd don't think that it should be phased out just because it's old.

Old is often *good*. Old means stable. Old means tested. Old means
simple. Those are all *good* thing.

Linus