Subject: Re: 4MB pages?
From: Ignatios Souvatzis <firstname.lastname@example.org>
Date: 09/07/2000 06:56:39
On Wed, Sep 06, 2000 at 08:16:42AM -0700, Matt Thomas wrote:
> At 07:11 AM 9/6/2000 -0700, Jason R Thorpe wrote:
> >On Wed, Sep 06, 2000 at 02:10:05PM +0200, Hubert Feyrer wrote:
> > > Seeing this jump from few kb pages to few MB pages looks ... interresting.
> > > What's the background on this?
> > > Is it intended to make switch pagesize on i386 unconditionally?
> >No, the i386 port will use a combination of 4K and 4MB pages. The idea is
> >to use a 4MB page for the kernel text+data+bss to reduce TLB usage for the
> >kernel, thus improving overall performance.
> >See the Intel IA32 system programmers reference manual.
> For memory intensive (mmap large files, etc.) programs, I was wondering whether
> it would be useful to have another uvm free page area which contains free 4MB
> blocks. As memory gets freed, as a complete 4MB block is freed it would be
> moved to the free 4MB list.
> 4MB page table entries would be real useful for mapping framebuffers as
> well but
> that requires a[nother] change to the driver mmap interface.
> Note that these idea are applicable to other architectures that support
> such as alpha.
PowerPC using BATs, size is 2^n bytes, where n is 17...28.
However, those are a limited resource; only 4 sets for
data and 4 for instructions are implemented in hardware.
The pmap currently only uses them to map most of (kernel) accesses 1:1.