Re: hashed waitqueues

Ed Tomlinson (tomlins@cam.org)
Fri, 4 Jan 2002 16:17:45 -0500


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
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/