[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <48D2D4AF.2050206@goop.org>
Date: Thu, 18 Sep 2008 15:22:39 -0700
From: Jeremy Fitzhardinge <jeremy@...p.org>
To: Martin Bligh <mbligh@...igh.org>
CC: Christoph Lameter <cl@...ux-foundation.org>,
Martin Bligh <mbligh@...gle.com>,
MinChan Kim <minchan.kim@...il.com>,
Chris Snook <csnook@...hat.com>,
Nick Piggin <nickpiggin@...oo.com.au>,
Hugh Dickens <hugh@...itas.com>,
Linux Memory Management List <linux-mm@...ck.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Avi Kivity <avi@...ranet.com>,
Andrew Morton <akpm@...ux-foundation.org>,
Rik van Riel <riel@...hat.com>
Subject: Re: Populating multiple ptes at fault time
Martin Bligh wrote:
>>>> My patches were only for anonymous pages not for file backed because readahead
>>>> is available for file backed mappings.
>>>>
>>> Do we populate the PTEs though? I didn't think that was batched, but I
>>> might well be wrong.
>>>
>> We do not populate the PTEs and AFAICT PTE population was assumed not to be
>> performance critical since the backing media is comparatively slow.
>>
>
> I think the times when this matters are things like glibc, which are
> heavily shared -
> we were only 'prefaulting' when the pagecache was already there. So it's a case
> for a "readahead like algorithm", not necessarily a direct hook.
>
Yes. My thought was that there should be very little cost to
opportunistically populating the pte for a page which is already
resident anyway.
> Anonymous pages seem much riskier, as presumably there's a no backing page
> except in the fork case.
>
> I presume the reason Jeremy is interested is because his pagefaults are more
> expensive than most (under virtualization), so he may well find a
> different tradeoff
> than I did (try running kernbench?)
>
Right. The faults themselves are more or less the same as the native
case, but setting a pte requires a hypercall compared to a memory write
in the native case. But I can set any number of ptes in one hypercall,
so batching would amortize the cost.
J
--
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