[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <473889C7.7000909@redhat.com>
Date: Mon, 12 Nov 2007 12:13:43 -0500
From: Chris Snook <csnook@...hat.com>
To: Yoav Artzi <yoavar@...ckpoint.com>
CC: linux-kernel@...r.kernel.org
Subject: Re: PAGE_SIZE on 64bit and 32bit machines
Yoav Artzi wrote:
> According to my knowledge the PAGE_SIZE on 32bit architectures in 4KB.
> Logically, the PAGE_SIZE on 64bit architectures should be 8KB. That's at
> least the way I understand it. However, looking at the kernel code of
> x86_64, I see the PAGE_SIZE is 4KB.
>
>
> Can anyone explain to me what am I missing here?
PAGE_SIZE is highly architecture-dependent. While it is true that 4K pages are
typical on 32-bit architectures, and 64-bit architectures have historically
introduced 8K pages, this is by no means a requirement. x86_64 uses the same
page sizes that are available on i686+PAE, so you get 4K base pages. alpha and
sparc64 typically use 8K base pages, though they have other options as well.
ia64 defaults to 16K, though it can do 4K, 8K, and a bunch of larger base sizes.
ppc64 does 4K and 64K. s390 uses 4K base pages in both 31-bit and 64-bit
kernels. If x86_64 processors are released with TLBs that can handle 8K pages,
it'll be straightforward to add that feature, but otherwise it would require
faking it in software, which has lots of pitfalls and does nothing to improve
TLB efficiency.
-- Chris
-
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