Messages in this thread | | | Date | Wed, 22 Jun 2011 19:04:28 -0400 | From | Rik van Riel <> | Subject | Re: [PATCH RFC] fadvise: move active pages to inactive list with POSIX_FADV_DONTNEED |
| |
On 06/22/2011 05:51 PM, Andrea Righi wrote: > There were some reported problems in the past about trashing page cache > when a backup software (i.e., rsync) touches a huge amount of pages (see > for example [1]). > > This problem has been almost fixed by the Minchan Kim's patch [2] and a > proper use of fadvise() in the backup software. For example this patch > set [3] has been proposed for inclusion in rsync. > > However, there can be still other similar trashing problems: when the > backup software reads all the source files, some of them may be part of > the actual working set of the system. When a > posix_fadvise(POSIX_FADV_DONTNEED) is performed _all_ pages are evicted > from pagecache, both the working set and the use-once pages touched only > by the backup software. > > With the following solution when posix_fadvise(POSIX_FADV_DONTNEED) is > called for an active page instead of removing it from the page cache it > is added to the tail of the inactive list. Otherwise, if it's already in > the inactive list the page is removed from the page cache.
> Signed-off-by: Andrea Righi<andrea@betterlinux.com>
Acked-by: Rik van Riel <riel@redhat.com>
-- All rights reversed
| |