[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20080509133016.GA18317@csn.ul.ie>
Date: Fri, 9 May 2008 14:30:17 +0100
From: Mel Gorman <mel@....ul.ie>
To: David Gibson <dwg@....ibm.com>, Andy Whitcroft <apw@...dowen.org>,
linux-mm@...ck.org, dean@...tic.org, linux-kernel@...r.kernel.org,
wli@...omorphy.com, andi@...stfloor.org, kenchen@...gle.com,
agl@...ibm.com
Subject: Re: [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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists