lkml.org 
[lkml]   [2008]   [Sep]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: Populating multiple ptes at fault time
Martin Bligh wrote:
>> Thanks, that was exactly what I was hoping to see. I didn't see any
>> definitive statements against the patch set, other than a concern that
>> it could make things worse. Was the upshot that no consensus was
>> reached about how to detect when its beneficial to preallocate anonymous
>> pages?
>>
>> Martin, in that thread you mentioned that you had tried pre-populating
>> file-backed mappings as well, but "Mmmm ... we tried doing this before
>> for filebacked pages by sniffing the
>> pagecache, but it crippled forky workloads (like kernel compile) with the
>> extra cost in zap_pte_range, etc. ".
>>
>> Could you describe, or have a pointer to, what you tried and how it
>> turned out?
>
> Don't have the patches still, but it was fairly simple - just faulted in
> the next 3 pages whenever we took a fault, if the pages were already
> in pagecache. I would have thought that was pretty lightweight and
> non-invasive, but turns out it slowed things down.
>
>> Did you end up populating so many (unused) ptes that
>> zap_pte_range needed to do lots more work?
>
> Yup, basically you're assuming good locality of reference, but it turns
> out that (as davej would say) "userspace sucks".

Well, *most* userspace sucks. It might still be worthwhile to do this when
userspace is using madvise().

-- Chris


\
 
 \ /
  Last update: 2008-09-18 23:01    [W:0.272 / U:0.216 seconds]
©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site