mm: swap: Use swapfiles in priority order
Hi,
first of all I hope this patching in of the Mesage-ID works for threaded views :-)
Quoted 11 lines · Mel Gorman
[prev in list] [next in list] [prev in thread] [next in thread]
List: linux-mm Subject: [PATCH] mm: swap: Use swapfiles in priority order From: Mel Gorman <mgorman () suse ! de> Date: 2014-02-13 10:42:31 Message-ID: 20140213104231.GX6732 () suse ! de[Download message RAW]
Quoted 7 lines
According to the swapon documentation
Swap pages are allocated from areas in priority order, highest priority first. For areas with different priorities, a higher-priority area is exhausted before using a lower-priority area.
A user reported
That was me and I can confirm that for all my setup were we encountered the issue is fixed with the new patch.
On top of that it also fixed a long running issue that swap gets slower the more swap targets you have - which was formerly discussed in detail here http://www.spinics.net/lists/linux-mm/msg68624.html
Quoted 5 lines
that the reality is different. When multiple swap files
are enabled and a memory consumer started, the swap files are consumed in pairs after the highest priority file is exhausted. Early in the lifetime of the test, swapfile consumptions looks like
[...]
Quoted 11 lines
Signed-off-by Mel Gorman <[email protected]>--- mm/swapfile.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)mm/swapfile.c +0
-0
mm/swapfile.c swp_entry_t get_swap_page(void) · line 657
Quoted 8 lines
mm/swapfile.c +1
-1@@ -651,7 +651,7 @@ swp_entry_t get_swap_page(void) goto noswap;atomic_long_dec (&nr_swap_pages); -for (type = swap_list.next; type >=0 && wrapped <2 ; type = next) { +for (type = swap_list.head; type >=0 && wrapped <2 ; type = next) { hp_index =atomic_xchg (&highest_priority_index,-1 );/* * highest_priority_index records current highest priority swap
--
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/ .
Don't email: <a href=mailto:"[email protected]"> [email protected] </a>