Re: [PATCH]Fix broken VMI in 2.6.27-rc..

From: H. Peter Anvin
Date: Thu Aug 07 2008 - 20:17:15 EST


Jeremy Fitzhardinge wrote:

The Linux kernel was never a paragon of perfection - it was never meant to be. Just because a bit of cruft went unnoticed into the kernel doesn't mean we shouldn't fix it.

I don't really see what the issue is.

Fixmaps are primarily used for things that need to be mapped early before we can allocate address space dynamically. They're predominantly used for boot-time init, and rarely on any performance-critical path. The only vaguely regular use a fixmap gets during runtime is poking at apics, and that's dominated by IO time, and kmap_atomic. Statically, there's only 100 references in the kernel. And it only affects 32-bit.

Having fixmaps at link-time fixed addresses would be nice, I suppose, but hardly worth going to vast effort over.


No, but it's hardly vast effort, either.

Given the x86 architecture, it's inevitable that PV will want to reserve address space at the top of memory, and therefore the fixmap area needs to be moved out of that space.

OK. But there's a few places where the code uses FIXADDR_TOP to mean "top of kernel address space", so we'd need to come up with a proper symbol for that.

I suggest KERNEL_TOP.

Fine by me. It would be easy to plug KERNEL_TOP/__KERNEL_TOP in now, and then fix up fixmap independently.

Yes, and we should add a symbol for the bottom of the 1:1 area as well (to disambiguate it from TASK_SIZE).

-hpa

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/