lkml.org 
[lkml]   [2014]   [Apr]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH 0/5] Volatile Ranges (v12) & LSF-MM discussion fodder
    On Wed, Apr 02, 2014 at 10:48:03AM -0700, John Stultz wrote:
    > On Wed, Apr 2, 2014 at 10:40 AM, Dave Hansen <dave@sr71.net> wrote:
    > > On 04/02/2014 10:18 AM, Johannes Weiner wrote:
    > >> Hence my follow-up question in the other mail about how large we
    > >> expect such code caches to become in practice in relationship to
    > >> overall system memory. Are code caches interesting reclaim candidates
    > >> to begin with? Are they big enough to make the machine thrash/swap
    > >> otherwise?
    > >
    > > A big chunk of the use cases here are for swapless systems anyway, so
    > > this is the *only* way for them to reclaim anonymous memory. Their
    > > choices are either to be constantly throwing away and rebuilding these
    > > objects, or to leave them in memory effectively pinned.
    > >
    > > In practice I did see ashmem (the Android thing that we're trying to
    > > replace) get used a lot by the Android web browser when I was playing
    > > with it. John said that it got used for storing decompressed copies of
    > > images.
    >
    > Although images are a simpler case where its easier to not touch
    > volatile pages. I think Johannes is mostly concerned about cases where
    > volatile pages are being accessed while they are volatile, which the
    > Mozilla folks are so far the only viable case (in my mind... folks may
    > have others) where they intentionally want to access pages while
    > they're volatile and thus require SIGBUS semantics.

    Yes, absolutely, that is my only concern. Compressed images as in
    Android can easily be marked non-volatile before they are accessed
    again.

    Code caches are harder because control is handed off to the CPU, but
    I'm not entirely sure yet whether these are in fact interesting
    reclaim candidates.

    > I suspect handling the SIGBUS and patching up the purged page you
    > trapped on is likely much to complicated for most use cases. But I do
    > think SIGBUS is preferable to zero-fill on purged page access, just
    > because its likely to be easier to debug applications.

    Fully agreed, but it seems a bit overkill to add a separate syscall, a
    range-tree on top of shmem address_spaces, and an essentially new
    programming model based on SIGBUS userspace fault handling (incl. all
    the complexities and confusion this inevitably will bring when people
    DO end up passing these pointers into kernel space) just to be a bit
    nicer about use-after-free bugs in applications.


    \
     
     \ /
      Last update: 2014-04-02 21:01    [W:5.189 / U:0.012 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site