Commit 3139a3ec authored by Andrew Morton's avatar Andrew Morton Committed by Linus Torvalds

[PATCH] Remove the final per-page throttling site in the VM

This removes the last remnant of the 2.4 way of throttling page
allocators: the wait_on_page_writeback() against mapped-or-swapcache
pages.

I did this because:

a) It's not used much.
b) It's already causing big latencies
c) With Jens' large-queue stuff, it can cause huuuuuuuuge latencies.
   Like: ninety seconds.

So kill it, and rely on blk_congestion_wait() to slow the allocator
down to match the rate at which the IO system can retire writes.
parent f513f6c6
...@@ -238,17 +238,8 @@ shrink_list(struct list_head *page_list, unsigned int gfp_mask, ...@@ -238,17 +238,8 @@ shrink_list(struct list_head *page_list, unsigned int gfp_mask,
may_enter_fs = (gfp_mask & __GFP_FS) || may_enter_fs = (gfp_mask & __GFP_FS) ||
(PageSwapCache(page) && (gfp_mask & __GFP_IO)); (PageSwapCache(page) && (gfp_mask & __GFP_IO));
/* if (PageWriteback(page))
* If the page is mapped into pagetables then wait on it, to
* throttle this allocator to the rate at which we can clear
* MAP_SHARED data. This will also throttle against swapcache
* writes.
*/
if (PageWriteback(page)) {
if (may_enter_fs && page_mapped(page))
wait_on_page_writeback(page);
goto keep_locked; goto keep_locked;
}
pte_chain_lock(page); pte_chain_lock(page);
if (page_referenced(page) && page_mapping_inuse(page)) { if (page_referenced(page) && page_mapping_inuse(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