From: Nikita Danilov <Nikita@Namesys.COM>
To: Andrew Morton <akpm@osdl.org>, linux-mm@kvack.org
Subject: [PATCH] mm/vmscan.c:shrink_list(): check PageSwapCache() after add_to_swap()
Date: Wed, 28 Jan 2004 19:43:03 +0300 [thread overview]
Message-ID: <16407.59031.17836.961587@laputa.namesys.com> (raw)
Hello,
shrink_list() checks PageSwapCache() before calling add_to_swap(), this
means that anonymous page that is going to be added to the swap right
now these checks return false and:
(*) it will be unaccounted for in nr_mapped, and
(*) it won't be written to the swap if gfp_flags include __GFP_IO but
not __GFP_FS.
(Both will happen only on the next round of scanning.)
Patch below just moves may_enter_fs initialization down. I am not sure
about (*nr_mapped) increase though.
Comments?
Nikita.
diff -puN -b mm/vmscan.c~check-PageSwapCache-after-add-to-swap mm/vmscan.c
--- i386/mm/vmscan.c~check-PageSwapCache-after-add-to-swap Wed Jan 28 19:22:14 2004
+++ i386-nikita/mm/vmscan.c Wed Jan 28 19:36:16 2004
@@ -380,8 +380,6 @@ shrink_list(struct list_head *page_list,
(*nr_mapped)++;
BUG_ON(PageActive(page));
- may_enter_fs = (gfp_mask & __GFP_FS) ||
- (PageSwapCache(page) && (gfp_mask & __GFP_IO));
if (PageWriteback(page))
goto keep_locked;
@@ -412,6 +410,9 @@ shrink_list(struct list_head *page_list,
}
#endif /* CONFIG_SWAP */
+ may_enter_fs = (gfp_mask & __GFP_FS) ||
+ (PageSwapCache(page) && (gfp_mask & __GFP_IO));
+
/*
* The page is mapped into the page tables of one or more
* processes. Try to unmap it here.
_
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"aart@kvack.org"> aart@kvack.org </a>
next reply other threads:[~2004-01-28 16:43 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-01-28 16:43 Nikita Danilov [this message]
2004-01-28 21:44 ` [PATCH] mm/vmscan.c:shrink_list(): check PageSwapCache() after add_to_swap() Andrew Morton
2004-01-30 2:53 ` [BENCHMARKS] 2.6 kbuild results (with add_to_swap patch) Nick Piggin
2004-01-30 12:04 ` Rik van Riel
2004-01-31 1:19 ` Nick Piggin
2004-01-31 1:29 ` Andrew Morton
2004-01-31 1:34 ` Nick Piggin
2004-02-04 5:11 ` Nick Piggin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=16407.59031.17836.961587@laputa.namesys.com \
--to=nikita@namesys.com \
--cc=akpm@osdl.org \
--cc=linux-mm@kvack.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.