lkml.org 
[lkml]   [2002]   [Jan]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
Subject[PATCH] hashed waitqueues, somewhat cleaner
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/

\
 
 \ /
  Last update: 2005-03-22 13:15    [W:0.041 / U:0.484 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site