[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20080730150405.GA20465@us.ibm.com>
Date: Wed, 30 Jul 2008 08:04:05 -0700
From: Eric B Munson <ebmunson@...ibm.com>
To: Andrew Morton <akpm@...ux-foundation.org>
Cc: linux-mm@...ck.org, linux-kernel@...r.kernel.org,
linuxppc-dev@...abs.org, libhugetlbfs-devel@...ts.sourceforge.net
Subject: Re: [RFC] [PATCH 0/5 V2] Huge page backed user-space stacks
On Wed, 30 Jul 2008, Andrew Morton wrote:
> On Mon, 28 Jul 2008 12:17:10 -0700 Eric Munson <ebmunson@...ibm.com> 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@...ibm.com
Download attachment "signature.asc" of type "application/pgp-signature" (190 bytes)
Powered by blists - more mailing lists