Re: hashed waitqueues

Ed Tomlinson
2002-01-04T21:18:34Z

Hi

The following fixes a compile problem with agpgart:

-------------
--- linux/drivers/char/agp/agpgart_be.c.orig Fri Jan 4 15:01:50 2002
+++ linux/drivers/char/agp/agpgart_be.c Fri Jan 4 15:22:46 2002
@@ -30,6 +30,7 @@
#include <linux/kernel.h>
#include <linux/sched.h>
#include <linux/mm.h>
+#include <linux/mm_inline.h>
#include <linux/string.h>
#include <linux/errno.h>
#include <linux/slab.h>
@@ -830,7 +831,7 @@
page = virt_to_page(pt);
atomic_dec(&page->count);
clear_bit(PG_locked, &page->flags);
- wake_up(&page->wait);
+ wake_up(page_waitqueue(page));
free_page((unsigned long) pt);
atomic_dec(&agp_bridge.current_memory_agp);
}
---------------

As a quick test of a new kernel I copy dbench to a tmpfs fs and run "time dbench 32".
This typically takes over 512M swap (with rmap 10c and mainline). With hashed
waitqueues it does not reach 512M. The machine has 512M of memory. I observe
about the same runtimes and datarate with all three kernels.

Ed Tomlinson