Linus Torvalds wrote:
The reason? We've definitely seen ACPI code or integrated graphics stuff
that steals a lot of memory at the end, which means that end-of-RAM might
be not at 2GB, but at 2GB-16MB-1MB, for example (1MB of "ACPI data", and
16MB of "stolen video ram").
This is pretty much standard these days. It's hard to implement ACPI
without doing so. Throw in the SMI T-seg for even more fun.
Now, the BIOS _hopefully_ marks those areas clearly reserved, and as a
result we don't end up allocating PCI data in there, but the gap was there
literally to make sure we always leave that gap, very much on purpose.
It would be nice if we would mark that memory reserved ourselves.
thing, so that if the gap is large, then we'll certainly get to 32MB too,
but I think your patch matters the most exactly when the gap is small.
Maybe we could just raise the initial minimum rounding from 1MB to 32MB?
Since we're talking about address space, not actual memory, it seems
rather hard to end up in a situation where either one of these is not true:
- we will have real hardware demand for a large alignment datum.
- we will have so much address space available that it doesn't matter.
The latter case would be e.g. a machine with a today-anemic handful of
megabytes of RAM.
-hpa[1]
[1] who remembers running a Linux server on a 0.59 bogomips i386/16 with
3 MB of half-speed memory...
--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html