提交 6e5ef1a9 编写于 作者: C Christoph Lameter 提交者: Linus Torvalds

[PATCH] vmscan: emove obsolete checks from shrink_list() and fix unlikely in refill_inactive_zone()

As suggested by Marcelo:

1. The optimization introduced recently for not calling
   page_referenced() during zone reclaim makes two additional checks in
   shrink_list unnecessary.

2. The if (unlikely(sc->may_swap)) in refill_inactive_zone is optimized
   for the zone_reclaim case.  However, most peoples system only does swap.
   Undo that.
Signed-off-by: NChristoph Lameter <clameter@sgi.com>
Cc: Marcelo Tosatti <marcelo.tosatti@cyclades.com>
Signed-off-by: NAndrew Morton <akpm@osdl.org>
Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
上级 a7290ee0
......@@ -460,12 +460,9 @@ static unsigned long shrink_page_list(struct list_head *page_list,
* Anonymous process memory has backing store?
* Try to allocate it some swap space here.
*/
if (PageAnon(page) && !PageSwapCache(page)) {
if (!sc->may_swap)
goto keep_locked;
if (PageAnon(page) && !PageSwapCache(page))
if (!add_to_swap(page, GFP_ATOMIC))
goto activate_locked;
}
#endif /* CONFIG_SWAP */
mapping = page_mapping(page);
......@@ -477,12 +474,6 @@ static unsigned long shrink_page_list(struct list_head *page_list,
* processes. Try to unmap it here.
*/
if (page_mapped(page) && mapping) {
/*
* No unmapping if we do not swap
*/
if (!sc->may_swap)
goto keep_locked;
switch (try_to_unmap(page, 0)) {
case SWAP_FAIL:
goto activate_locked;
......@@ -1205,7 +1196,7 @@ static void shrink_active_list(unsigned long nr_pages, struct zone *zone,
struct pagevec pvec;
int reclaim_mapped = 0;
if (unlikely(sc->may_swap)) {
if (sc->may_swap) {
long mapped_ratio;
long distress;
long swap_tendency;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册