[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <44F46E8C.1000308@goop.org>
Date: Tue, 29 Aug 2006 09:42:52 -0700
From: Jeremy Fitzhardinge <jeremy@...p.org>
To: Dong Feng <middle.fengdong@...il.com>
CC: Jan Engelhardt <jengelh@...ux01.gwdg.de>, Andi Kleen <ak@...e.de>,
Nick Piggin <nickpiggin@...oo.com.au>,
Arjan van de Ven <arjan@...radead.org>,
Paul Mackerras <paulus@...ba.org>,
Christoph Lameter <clameter@....com>,
David Howells <dhowells@...hat.com>,
linux-kernel@...r.kernel.org
Subject: Re: The 3G (or nG) Kernel Memory Space Offset
Dong Feng wrote:
> Sorry for my typo. I actually means "0-1G physical memory space." My
> question is actually why there is a 3G offset from linear kernel to
> physical kernel. Why not simply have kernel memory linear space
> located on 0-1G linear address, and therefore the physical kernel and
> linear kernel just coincide?
If kernel virtual addresses were low, you would either need to do an
address-space switch (=TLB flush) on every user-kernel switch, or
require userspace to be at some high address. The former would be very
expensive, and the latter very strange (the standard x86 ABI requires
low addresses). The clean solution is to map the kernel to the high
part of the address space, but it is easier to load the kernel into low
physical memory at boot, thus leading to a physical-virtual offset. The
selection of 3G is a reasonable tradeoff of physical memory size vs user
virtual address space size, but of course it can be adjusted, or you can
use highmem.
J
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists