Skip to content

standardized waitqueue hashing

William Lee Irwin III lkml 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest5 patches 5 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/5move waitqueue functions to kernel/wait.ckernel/Makefile kernel/fork.c kernel/wait.c+130 -1260 replies
2/5consolidate bit waiting code patternsfs/buffer.c include/linux/wait.h kernel/wait.c +1 more+66 -983 replies
3/5consolidate bit waiting code patternsinclude/linux/wait.h kernel/wait.c mm/filemap.c+56 -220 replies
4/5eliminate bh waitqueue hashtablefs/buffer.c fs/jbd/transaction.c include/linux/wait.h +1 more+98 -512 replies
5/5eliminate inode waitqueue hashtablefs/fs-writeback.c fs/inode.c include/linux/fs.h +2 more+39 -580 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [0/5] standardized waitqueue hashing

The following patch series consolidates the various instances of waitqueue hashing to use a uniform structure and share the per-zone hashtable among all waitqueue hashers. This is expected to increase the number of hashtable buckets available for waiting on bh's and inodes and eliminate statically allocated kernel data structures for greater node locality and reduced kernel image size. Some attempt was made to look similar to Oleg Nesterov's suggested API in order to provide some kind of credit for independent invention of something very similar (the original versions of these patches predated my public postings on the subject of filtered waitqueues).

These patches have the further benefit and intention of enabling aio to use filtered wakeups by standardizing the data structure passed to wake functions so that embedded waitqueue elements in aio structures may be succesfully passed to the filtered wakeup wake functions, though this patch series doesn't implement that particular functionality.

Successfully stress-tested on x86-64, and ia64 in recent prior versions.

-- wli