[lkml]   [2008]   [May]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    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    [W:0.020 / U:178.540 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site