try_to_swap_out: to aggressive in dropping pte's?
Hello,
I was wondering if anybody could explain why we try to drop the pte on a
page if it is not pte_young, even if it has a high age and has the referenced bit set?
Also, does anybody have any thoughts on how to decouple scanning the page
tables for hardward referenced bits, and doing swap-out? On one of my 128mb boxes, linus's changes to only run swap_out when there is memory pressure make things MUCH more interactive and decreased unnecessary swapping. However, this means that the page tables are not scanned, which is not good...
On a related note, in 2.4.10-pre10, Linus makes pages get deactivated intry_to_swap_out if !PageReferenced(page), thus making page->age almost irrelevant. I would like to make a quick hack hybrid approach that keeps lots of the 2.4.10-pre10 vm changes still uses age information on the active list. This probably isn't adequate, but how about:
1. change "if (ptep_test_and_clear_young(page_table))" to "if (ptep_test_and_clear_young(page_table) || PageTestandClearReference(page))"
2. revert Linus's change in pre10 to deactivate pages if age==0 instead of if !PageReference.
thanks for any suggestions,
-BenRI
Signature · 7 lines
"I will begin again" - U2, 'New Year's Day' Benjamin Redelings I <>< http://www.bol.ucla.edu/~bredelin/ -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to [email protected]. For more info on Linux MM, see: http://www.linux-mm.org/