lkml.org 
[lkml]   [2008]   [May]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 0/3] Guarantee faults for processes that call mmap(MAP_PRIVATE) on hugetlbfs v2
On (09/05/08 10:02), David Gibson didst pronounce:
> > > <SNIP>
> > >
> > > I don't think patch 3 is a good idea. It's a fair bit of code to
> > > implement a pretty bizarre semantic that I really don't think is all
> > > that useful. Patches 1-2 are already sufficient to cover the
> > > fork()/exec() case and a fair proportion of fork()/minor
> > > frobbing/exit() cases. If the child also needs to write the hugepage
> > > area, chances are it's doing real work and we care about its
> > > reliability too.
> >
> > Without patch 3 the parent is still vunerable during the period the
> > child exists. Even if that child does nothing with the pages not even
> > referencing them, and then execs immediatly. As soon as we fork any
> > reference from the parent will trigger a COW, at which point there may
> > be no pages available and the parent will have to be killed. That is
> > regardless of the fact the child is not going to reference the page and
> > leave the address space shortly. With patch 3 on COW if we find no memory
> > available the page may be stolen for the parent saving it, and the _risk_
> > of reference death moves to the child; the child is killed only should it
> > then re-reference the page.
>
> Yes, thinko, sorry. Forgot that a COW would be triggered even if the
> child never wrote the pages. I see the point of patch 3 now. Damn,
> but it's still a weird semantic to be implementing though.
>

The current semantics without the patches are already pretty weird. I
still believe having reliable behaviour for the mapper and moving the
death-by-reference problem to the children when the pool is too small is an
improvement over what currently exists.

--
Mel Gorman
Part-time Phd Student Linux Technology Center
University of Limerick IBM Dublin Software Lab


\
 
 \ /
  Last update: 2008-05-09 15:33    [from the cache]
©2003-2011 Jasper Spaans. Advertise on this site