[lkml]   [2008]   [Sep]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
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.077 / U:0.896 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site