patch-1.3.74 linux/ipc/shm.c

Next file: linux/kernel/sys.c
Previous file: linux/init/main.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v1.3.73/linux/ipc/shm.c linux/ipc/shm.c
@@ -674,7 +674,7 @@
 static unsigned long swap_id = 0; /* currently being swapped */
 static unsigned long swap_idx = 0; /* next to swap */
 
-int shm_swap (int prio, unsigned long limit)
+int shm_swap (int prio, int dma)
 {
 	pte_t page;
 	struct shmid_ds *shp;
@@ -711,7 +711,7 @@
 	pte_val(page) = shp->shm_pages[idx];
 	if (!pte_present(page))
 		goto check_table;
-	if (pte_page(page) >= limit)
+	if (dma && !mem_map[MAP_NR(pte_page(page))].dma)
 		goto check_table;
 	swap_attempts++;
 

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov with Sam's (original) version
of this