From: William Lee Irwin III <wli@holomorphy.com> To: linux-kernel@vger.kernel.org Subject: [PATCH] hashed waitqueues, somewhat cleaner Date: Sun, 6 Jan 2002 18:34:17 -0800 Some new versions of the hashed waitqueues are now available: ftp://ftp.kernel.org/pub/linux/kernel/people/wli/vm/struct_page/waitq-2.4.17-rmap10c-1 This includes: (1) Manual common subexpression elimination of page_waitqueue() calls (2) Use a 64-bit Fibonacci hashing prime conditional on BITS_PER_LONG (3) Storing wait_table_shift instead of wait_table_bits to reduce arithmetic within the hash function (4) Eliminating the masking operation within the hash function, as the shifting already zeroes the high-order bits. (5) Eliminating explicit references to struct page ->wait outside of the VM. Future directions: (1) Using a non-linear function to size the waitqueue table given the size of a zone, as the demand for waitqueues does not appear to scale linearly with the size of memory. (2) Finding bit-sparse Fibonacci hashing multipliers for machines with slow integer multiplies (so it can be optimized to shift/add sequences on those machines). I'll followup shortly after rediffing against 2.4.17-mainline. Cheers, Bill - 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/