On Thu, May 01, 2008 at 11:16:31AM -0700, Jesse Barnes wrote:On Wednesday, April 30, 2008 9:07 am TJ wrote:In preparation for writing a Windows-style PCI resource allocation
strategy
- use all e820 gaps for IOMEM resources; top-down allocation -
and thus giving devices with large IOMEM requirements more chance of
allocation in the 32-bit address space below 4GB (see bugzilla #10461),
I tried that some time ago and it turned out that some systems have
mappings in holes and don't boot anymore when you fill the holes too much. But that was only considering e820. if you do this it might work if you do it really like windows and consider all resources, including ACPI.
So, why the big difference in implementations?
What are the implications of each?
Is one preferable to the other?
I don't remember why it is different. Probably wasn't intentional.
But in general x86-64 is less fragile than i386 here because it has the e820
allocator and can deal better with conflicts.