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

From: Jeremy Fitzhardinge
Date: Thu Aug 07 2008 - 20:10:54 EST


H. Peter Anvin wrote:
Jeremy Fitzhardinge wrote:
H. Peter Anvin wrote:
The fixmap area should never have been made movable. It's utter braindamage.

Shrug. It's been like that for a couple of years now. It was one of the very first paravirt-ops patches. It wasn't controversial then, and nobody seems to have noticed since.

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.

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.

J
--
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/