On Wed, 30 Jul 2008, Andrew Morton wrote: > On Mon, 28 Jul 2008 12:17:10 -0700 Eric Munson <[EMAIL PROTECTED]> wrote: > > > Certain workloads benefit if their data or text segments are backed by > > huge pages. The stack is no exception to this rule but there is no > > mechanism currently that allows the backing of a stack reliably with > > huge pages. Doing this from userspace is excessively messy and has some > > awkward restrictions. Particularly on POWER where 256MB of address space > > gets wasted if the stack is setup there. > > > > This patch stack introduces a personality flag that indicates the kernel > > should setup the stack as a hugetlbfs-backed region. A userspace utility > > may set this flag then exec a process whose stack is to be backed by > > hugetlb pages. > > > > Eric Munson (5): > > Align stack boundaries based on personality > > Add shared and reservation control to hugetlb_file_setup > > Split boundary checking from body of do_munmap > > Build hugetlb backed process stacks > > [PPC] Setup stack memory segment for hugetlb pages > > > > arch/powerpc/mm/hugetlbpage.c | 6 + > > arch/powerpc/mm/slice.c | 11 ++ > > fs/exec.c | 209 > > ++++++++++++++++++++++++++++++++++++++--- > > fs/hugetlbfs/inode.c | 52 +++++++---- > > include/asm-powerpc/hugetlb.h | 3 + > > include/linux/hugetlb.h | 22 ++++- > > include/linux/mm.h | 1 + > > include/linux/personality.h | 3 + > > ipc/shm.c | 2 +- > > mm/mmap.c | 11 ++- > > 10 files changed, 284 insertions(+), 36 deletions(-) > > That all looks surprisingly straightforward. > > Might there exist an x86 port which people can play with? >
I have tested these patches on x86, x86_64, and ppc64, but not yet on ia64. There is a user space utility that I have been using to test which would be included in libhugetlbfs if this is merged into the kernel. I will send it out as a reply to this thread, performance numbers are also on the way. -- Eric B Munson IBM Linux Technology Center [EMAIL PROTECTED]
signature.asc
Description: Digital signature
_______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-dev