patch-2.3.38 linux/ipc/shm.c
Next file: linux/ipc/util.c
Previous file: linux/init/main.c
Back to the patch index
Back to the overall index
- Lines: 20
- Date:
Thu Jan 6 16:21:23 2000
- Orig file:
v2.3.37/linux/ipc/shm.c
- Orig date:
Mon Dec 20 18:48:22 1999
diff -u --recursive --new-file v2.3.37/linux/ipc/shm.c linux/ipc/shm.c
@@ -799,7 +799,7 @@
static unsigned long swap_id = 0; /* currently being swapped */
static unsigned long swap_idx = 0; /* next to swap */
-int shm_swap (int prio, int gfp_mask)
+int shm_swap (int prio, int gfp_mask, zone_t *zone)
{
pte_t page;
struct shmid_kernel *shp;
@@ -849,9 +849,7 @@
if (!pte_present(page))
goto check_table;
page_map = pte_page(page);
- if ((gfp_mask & __GFP_DMA) && !PageDMA(page_map))
- goto check_table;
- if (!(gfp_mask & __GFP_HIGHMEM) && PageHighMem(page_map))
+ if (zone && (!memclass(page_map->zone, zone)))
goto check_table;
swap_attempts++;
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)