Skip to contentSkip to conversation

mm: swap: Use swapfiles in priority order

PATCH Christian Ehrhardt 1 participant 1 message Feb 13, 2014 Memory management

lore
Share & tools
lore
#0 lore raw

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
---
 mm/swapfile.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
mm/swapfile.c +0 -0
index 4a7f7e6..6d0ac2b 100644

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>