Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
mm: pagevec: defer deciding which LRU to add a page to until pagevec …
…drain time mark_page_accessed() cannot activate an inactive page that is located on an inactive LRU pagevec. Hints from filesystems may be ignored as a result. In preparation for fixing that problem, this patch removes the per-LRU pagevecs and leaves just one pagevec. The final LRU the page is added to is deferred until the pagevec is drained. This means that fewer pagevecs are available and potentially there is greater contention on the LRU lock. However, this only applies in the case where there is an almost perfect mix of file, anon, active and inactive pages being added to the LRU. In practice I expect that we are adding stream of pages of a particular time and that the changes in contention will barely be measurable. Signed-off-by: Mel Gorman <[email protected]> Acked-by: Rik van Riel <[email protected]> Cc: Jan Kara <[email protected]> Acked-by: Johannes Weiner <[email protected]> Cc: Alexey Lyahkov <[email protected]> Cc: Andrew Perepechko <[email protected]> Cc: Robin Dong <[email protected]> Cc: Theodore Tso <[email protected]> Cc: Hugh Dickins <[email protected]> Cc: Rik van Riel <[email protected]> Cc: Bernd Schubert <[email protected]> Cc: David Howells <[email protected]> Cc: Trond Myklebust <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
- Loading branch information