patch-2.3.16 linux/mm/page_io.c
Next file: linux/mm/slab.c
Previous file: linux/mm/page_alloc.c
Back to the patch index
Back to the overall index
- Lines: 56
- Date:
Thu Aug 26 18:41:46 1999
- Orig file:
v2.3.15/linux/mm/page_io.c
- Orig date:
Wed Aug 18 10:49:38 1999
diff -u --recursive --new-file v2.3.15/linux/mm/page_io.c linux/mm/page_io.c
@@ -33,7 +33,7 @@
* that shared pages stay shared while being swapped.
*/
-static void rw_swap_page_base(int rw, unsigned long entry, struct page *page, int wait, int dolock)
+static void rw_swap_page_base(int rw, unsigned long entry, struct page *page, int wait)
{
unsigned long type, offset;
struct swap_info_struct * p;
@@ -88,7 +88,6 @@
} else
kstat.pswpout++;
- get_page(page);
if (p->swap_device) {
zones[0] = offset;
zones_used = 1;
@@ -111,18 +110,12 @@
dev = swapf->i_dev;
} else {
printk(KERN_ERR "rw_swap_page: no swap file or device\n");
- put_page(page);
return;
}
if (!wait) {
set_bit(PG_decr_after, &page->flags);
atomic_inc(&nr_async_pages);
}
- if (dolock) {
- set_bit(PG_free_swap_after, &page->flags);
- p->swap_map[offset]++;
- }
- set_bit(PG_free_after, &page->flags);
/* block_size == PAGE_SIZE/zones_used */
brw_page(rw, page, dev, zones, block_size, 0);
@@ -164,11 +157,10 @@
PAGE_BUG(page);
if (page->inode != &swapper_inode)
PAGE_BUG(page);
- rw_swap_page_base(rw, entry, page, wait, 1);
+ rw_swap_page_base(rw, entry, page, wait);
}
/*
- * shmfs needs a version that doesn't put the page in the page cache!
* The swap lock map insists that pages be in the page cache!
* Therefore we can't use it. Later when we can remove the need for the
* lock map and we can reduce the number of functions exported.
@@ -181,5 +173,5 @@
PAGE_BUG(page);
if (PageSwapCache(page))
PAGE_BUG(page);
- rw_swap_page_base(rw, entry, page, wait, 0);
+ rw_swap_page_base(rw, entry, page, wait);
}
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)