Messages in this thread Patch in this message | | | Subject | [RFC][PATCH 1/2] Swap token re-tuned | From | Ashwin Chaugule <> | Date | Sat, 30 Sep 2006 00:34:36 +0530 |
| |
Try to grab swap token before the VM selects pages for eviction.
Signed-off-by: Ashwin Chaugule <ashwin.chaugule@celunite.com>
diff --git a/mm/filemap.c b/mm/filemap.c index afcdc72..190d2c1 100644 --- a/mm/filemap.c +++ b/mm/filemap.c @@ -1478,8 +1478,8 @@ no_cached_page: * We're only likely to ever get here if MADV_RANDOM is in * effect. */ + grab_swap_token(); /* Contend for token _before_ we read-in */ error = page_cache_read(file, pgoff); - grab_swap_token(); /* * The page we want has now been added to the page cache. diff --git a/mm/memory.c b/mm/memory.c index 92a3ebd..52eb9b8 100644 --- a/mm/memory.c +++ b/mm/memory.c @@ -1974,6 +1974,7 @@ static int do_swap_page(struct mm_struct delayacct_set_flag(DELAYACCT_PF_SWAPIN); page = lookup_swap_cache(entry); if (!page) { + grab_swap_token(); /* Contend for token _before_ we read-in */ swapin_readahead(entry, address, vma); page = read_swap_cache_async(entry, vma, address); if (!page) { @@ -1991,7 +1992,6 @@ static int do_swap_page(struct mm_struct /* Had to read the page from swap area: Major fault */ ret = VM_FAULT_MAJOR; count_vm_event(PGMAJFAULT); - grab_swap_token(); } delayacct_clear_flag(DELAYACCT_PF_SWAPIN); diff --git a/mm/thrash.c b/mm/thrash.c
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |