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    [from the cache]
    ©2003-2014 Jasper Spaans. hosted at Digital Ocean