lkml.org 
[lkml]   [2008]   [Jul]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH 4/5 V2] Build hugetlb backed process stacks
From
Date
On Mon, 2008-07-28 at 12:17 -0700, Eric Munson wrote:
>
> +static int move_to_huge_pages(struct linux_binprm *bprm,
> + struct vm_area_struct *vma, unsigned
> long shift)
> +{
> + struct mm_struct *mm = vma->vm_mm;
> + struct vm_area_struct *new_vma;
> + unsigned long old_end = vma->vm_end;
> + unsigned long old_start = vma->vm_start;
> + unsigned long new_end = old_end - shift;
> + unsigned long new_start, length;
> + unsigned long arg_size = new_end - bprm->p;
> + unsigned long flags = vma->vm_flags;
> + struct file *hugefile = NULL;
> + unsigned int stack_hpages = 0;
> + struct page **from_pages = NULL;
> + struct page **to_pages = NULL;
> + unsigned long num_pages = (arg_size / PAGE_SIZE) + 1;
> + int ret;
> + int i;
> +
> +#ifdef CONFIG_STACK_GROWSUP

Why do you have the #ifdef for the CONFIG_STACK_GROWSUP=y case in that
first patch if you don't support CONFIG_STACK_GROWSUP=y?

I think it might be worth some time to break this up a wee little bit.
16 local variables is a big on the beefy side. :)

-- Dave



\
 
 \ /
  Last update: 2008-07-28 22:41    [W:0.161 / U:0.104 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site