[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [RFC] Page table sharing



On February 19, 2002 01:22 pm, Hugh Dickins wrote:
> On Tue, 19 Feb 2002, Daniel Phillips wrote:
> > On February 19, 2002 04:22 am, Linus Torvalds wrote:
> > > That still leaves the TLB invalidation issue, but we could handle that
> > > with an alternate approach: use the same "free_pte_ctx" kind of gathering
> > > that the zap_page_range() code uses for similar reasons (ie gather up the
> > > pte entries that you're going to free first, and then do a global
> > > invalidate later).
> > 
> > I think I'll fall back to unsharing the page table on swapout as Hugh 
> > suggested, until we sort this out.
> 
> My proposal was to unshare the page table on read fault, to avoid race.
> I suppose you could, just for your current testing, use that technique
> in swapout, to avoid the much more serious TLB issue that Linus has now
> raised.  But don't do so without realizing that it is a very deadlocky
> idea for swapout (making pages freeable) to need to allocate pages.

I didn't fail to notice that.  It's no worse than any other page reservation
issue, of which we have plenty.  One day we're going to have to solve them all.

> And it's not much use for swapout to skip them either, since the shared
> page tables become valuable on the very large address spaces which we'd
> want swapout to be hitting.

Unsharing is the route of least resistance at the moment.  If necessary I can
keep a page around for that purpose, then reestablish that reserve after using
it.

-- 
Daniel
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/