Re: [RFC][PATCH 3/9] actual generic PAGE_SIZE infrastructure

Dave Hansen
2006-08-31T17:57:38Z

On Wed, 2006-08-30 at 17:08 -0700, Christoph Lameter wrote:
> On Wed, 30 Aug 2006, Dave Hansen wrote:
>
> > #endif /* CONFIG_ARCH_HAVE_GET_ORDER */
> > -#endif /* __ASSEMBLY__ */
> > +#endif /* __ASSEMBLY__ */
> ^^^ Extra blank.

OK. I'll fix that.

> > + prompt "Kernel Page Size"
> page size?

Sure.

> > + This lets you select the page size of the kernel. For best
> > + 32-bit compatibility on 64-bit architectures, a page size of 4KB
> > + should be selected (although most binaries work perfectly fine with
> > + a larger page size). For best performance, a page size of larger
> > + than 4KB is recommended. However, there are a number of
> > + side-effects of larger page sizes, like small files fitting poorly
> > + into the page cache.
>
> Could we change this somewhat? Avoid the direct address and maybe say:
>
> The kernel page size determines the basic chunk of memory handled
> by the Linux VM. The bigger the page size the less page objects
> have to be managed by the kernel which reduces the VM overhead in
> handling large amounts of data. However, larger pages also lead
> to memory being wasted by the kernel since small files will
> at mininum require one page of memory. A 4K pagesize is fairly standard
> and may be required for 32 bit compatibility on many platforms.
>
> It is usually not wise to select another page size than the default
> unless one knows what one is doing or has some time to spend on
> getting to know the kernel.

This is very nice. I'll incorporate it.

> Note that the default pagesize on IA64 is 16K and some important things
> would change if a lesser size is selected. I have never run a 4K kernel.
> I do not think we can just say that 4KB is okay. There may be other
> platforms that have other default page sizes.

If we can't just say that it is OK, then we should probably disable it
in Kconfig. Should we do that?

-- Dave