Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
try to reap reiserfs pages left around by invalidatepage
reiserfs_invalidatepage will refuse to free pages if they have been logged in data=journal mode, or were pinned down by a data=ordered operation. For data=journal, this is fairly easy to trigger just with fsx-linux, and it results in a large number of pages hanging around on the LRUs with page->mapping == NULL. Calling try_to_free_buffers when reiserfs decides it is done with the page allows it to be freed earlier, and with much less VM thrashing. Lock ordering rules mean that reiserfs can't call lock_page when it is releasing the buffers, so TestSetPageLocked is used instead. Contention on these pages should be rare, so it should be sufficient most of the time. Signed-off-by: Chris Mason <[email protected]> Cc: "Vladimir V. Saveliev" <[email protected]> Cc: Jeff Mahoney <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
- Loading branch information