lkml.org 
[lkml]   [2004]   [Apr]   [8]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
/
DateThu, 08 Apr 2004 13:10:51 +0200
FromZoltan Menyhart <>
SubjectRe: RFC: COW for hugepages
David Gibson wrote:

> > Why not just add a flag for a VMA telling if you want / do not want to
> > copy it on "fork()" ? E.g.:
> >
> > dup_mmap():
> >
> >       for (mpnt = current->mm->mmap ; mpnt ; mpnt = mpnt->vm_next) {
> >
> >               if (mpnt->vm_flags & VM_HUGETLB_DONT_COPY)
> >                       <do nothing>
> >       }
> >
> 
> Um.. why would that be useful?

I think there are 2 major cases:

- A big hugepage-using program creates threads to take advantage
  of all of the CPUs => use clone2(...CLONEVM...), it works today.
- Another big hugepage-using program calling a little shell function
  with system() => just skip the VMA of the huge page area in
	do_fork():
		copy_process():
			copy_mm():
				dup_mmap()
  The child will have no copy of the huge page area. No problem, it will
  exec() soon, and the stack, the usual data, the malloc()'ed data, etc.
  are not in the huge page area => exec() will will work correctly.

I do not think we need a COW of the huge pages.

Regards,

Zoltán Menyhárt
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:02    [W:0.315 / U:0.040 seconds]
©2003-2008 Jasper Spaans