| Kernel v2.4.14-pre8 /fs/buffer.c |
|---|
 2.4.14-pre8
 fs
 buffer.c
diff -u --recursive --new-file v2.4.13/linux/fs/buffer.c linux/fs/buffer.c
--- v2.4.13/linux/fs/buffer.c Tue Oct 23 22:48:53 2001
+++ linux/fs/buffer.c Mon Oct 29 12:11:17 2001
@@ -705,8 +705,12 @@
static void free_more_memory(void)
{
+ zone_t * zone = contig_page_data.node_zonelists[GFP_NOFS & GFP_ZONEMASK].zones[0];
+
balance_dirty();
wakeup_bdflush();
+ try_to_free_pages(zone, GFP_NOFS, 0);
+ run_task_queue(&tq_disk);
current->policy |= SCHED_YIELD;
__set_current_state(TASK_RUNNING);
schedule();
@@ -765,12 +769,6 @@
*/
if (!PageError(page))
SetPageUptodate(page);
-
- /*
- * Run the hooks that have to be done when a page I/O has completed.
- */
- if (PageTestandClearDecrAfter(page))
- atomic_dec(&nr_async_pages);
UnlockPage(page);
|