Re: [PATCH 1/2] Report the pagesize backing a VMA in /proc/pid/smaps

From: KOSAKI Motohiro
Date: Wed Sep 24 2008 - 08:32:37 EST


> > Dave, please let me know getpagesize() function return to 4k or 64k on ppc64.
> > I think the PageSize line of the /proc/pid/smap and getpagesize() result should be matched.
> >
> > otherwise, enduser may be confused.
> >
>
> To distinguish between the two, I now report the kernel pagesize and the
> mmu pagesize like so
>
> KernelPageSize: 64 kB
> MMUPageSize: 4 kB
>
> This is running a kernel with a 64K base pagesize on a PPC970MP which
> does not support 64K hardware pagesizes.
>
> Does this make sense?

Hmmm, Who want to this infomation?

I agreed with
- An administrator want to know these page are normal or huge.
- An administrator want to know hugepage size.
(e.g. x86_64 has two hugepage size (2M and 1G))

but above ppc64 case seems deeply implementation depended infomation and
nobody want to know it.

it seems a bottleneck of future enhancement.

then I disagreed with
- show both KernelPageSize and MMUPageSize in normal page.


I like following two choice


1) in normal page, show PAZE_SIZE

because, any userland application woks as pagesize==PAZE_SIZE
on current powerpc architecture.

because

fs/binfmt_elf.c
------------------------------
static int
create_elf_tables(struct linux_binprm *bprm, struct elfhdr *exec,
unsigned long load_addr, unsigned long interp_load_addr)
{
(snip)
NEW_AUX_ENT(AT_HWCAP, ELF_HWCAP);
NEW_AUX_ENT(AT_PAGESZ, ELF_EXEC_PAGESIZE); /* pass ELF_EXEC_PAGESIZE to libc */

include/asm-powerpc/elf.h
-----------------------------
#define ELF_EXEC_PAGESIZE PAGE_SIZE


2) in normal page, no display any page size.
only hugepage case, display page size.

because, An administrator want to hugepage size only. (AFAICS)



Thought?


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