Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 230825
b: refs/heads/master
c: 2919bfd
h: refs/heads/master
i:
  230823: fa216e8
v: v3
  • Loading branch information
Hugh Dickins authored and Linus Torvalds committed Jan 14, 2011
1 parent 2076d0c commit f14f3ac
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 1 deletion.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 73ae31e5986a4c0ee84bfd13ccd9b57a98956f6f
refs/heads/master: 2919bfd0758257c469abef8c26c3e516bbebb851
12 changes: 12 additions & 0 deletions trunk/mm/ksm.c
Original file line number Diff line number Diff line change
Expand Up @@ -1296,6 +1296,18 @@ static struct rmap_item *scan_get_next_rmap_item(struct page **page)

slot = ksm_scan.mm_slot;
if (slot == &ksm_mm_head) {
/*
* A number of pages can hang around indefinitely on per-cpu
* pagevecs, raised page count preventing write_protect_page
* from merging them. Though it doesn't really matter much,
* it is puzzling to see some stuck in pages_volatile until
* other activity jostles them out, and they also prevented
* LTP's KSM test from succeeding deterministically; so drain
* them here (here rather than on entry to ksm_do_scan(),
* so we don't IPI too often when pages_to_scan is set low).
*/
lru_add_drain_all();

root_unstable_tree = RB_ROOT;

spin_lock(&ksm_mmlist_lock);
Expand Down

0 comments on commit f14f3ac

Please sign in to comment.