• Minchan Kim's avatar
    mm: deactivate invalidated pages · 31560180
    Minchan Kim authored
    Recently, there are reported problem about thrashing.
    (http://marc.info/?l=rsync&m=128885034930933&w=2) It happens by backup
    workloads(ex, nightly rsync).  That's because the workload makes just
    use-once pages and touches pages twice.  It promotes the page into active
    list so that it results in working set page eviction.
    
    Some app developer want to support POSIX_FADV_NOREUSE.  But other OSes
    don't support it, either.
    (http://marc.info/?l=linux-mm&m=128928979512086&w=2)
    
    By other approach, app developers use POSIX_FADV_DONTNEED.  But it has a
    problem.  If kernel meets page is writing during invalidate_mapping_pages,
    it can't work.  It makes for application programmer to use it since they
    always have to sync data before calling fadivse(..POSIX_FADV_DONTNEED) to
    make sure the pages could be discardable.  At last, they can't use
    deferred write of kernel so that they could see performance loss.
    (http://insights.oetiker.ch/linux/fadvise.html)
    
    In fact, invalidation is very big h...
    31560180
truncate.c 16.6 KB