Re: [RFC] [PATCH 0/5 V2] Huge page backed user-space stacks
From: Eric B Munson
Date: Wed Jul 30 2008 - 11:04:50 EST
On Wed, 30 Jul 2008, Andrew Morton wrote:
> On Mon, 28 Jul 2008 12:17:10 -0700 Eric Munson <ebmunson@xxxxxxxxxx> 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
ebmunson@xxxxxxxxxx
Attachment:
signature.asc
Description: Digital signature