Commit 09efe93d authored by Andrew Morton's avatar Andrew Morton Committed by Dave Jones

[PATCH] permit page unmapping if !CONFIG_SWAP

From: Hugh Dickins <hugh@veritas.com>

Raised #endif CONFIG_SWAP in shrink_list, it was excluding
try_to_unmap of file pages.  Suspect !CONFIG_MMU relied on
that to suppress try_to_unmap, added SWAP_FAIL stub for it.
parent 255373b8
......@@ -178,19 +178,18 @@ struct pte_chain *FASTCALL(page_add_rmap(struct page *, pte_t *,
void FASTCALL(page_remove_rmap(struct page *, pte_t *));
int FASTCALL(try_to_unmap(struct page *));
/* return values of try_to_unmap */
#define SWAP_SUCCESS 0
#define SWAP_AGAIN 1
#define SWAP_FAIL 2
/* linux/mm/shmem.c */
extern int shmem_unuse(swp_entry_t entry, struct page *page);
#else
#define page_referenced(page) \
TestClearPageReferenced(page)
#define page_referenced(page) TestClearPageReferenced(page)
#define try_to_unmap(page) SWAP_FAIL
#endif /* CONFIG_MMU */
/* return values of try_to_unmap */
#define SWAP_SUCCESS 0
#define SWAP_AGAIN 1
#define SWAP_FAIL 2
#ifdef CONFIG_SWAP
/* linux/mm/page_io.c */
extern int swap_readpage(struct file *, struct page *);
......
......@@ -277,6 +277,7 @@ shrink_list(struct list_head *page_list, unsigned int gfp_mask,
pte_chain_lock(page);
mapping = page->mapping;
}
#endif /* CONFIG_SWAP */
/*
* The page is mapped into the page tables of one or more
......@@ -294,7 +295,6 @@ shrink_list(struct list_head *page_list, unsigned int gfp_mask,
; /* try to free the page below */
}
}
#endif /* CONFIG_SWAP */
pte_chain_unlock(page);
/*
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment