Adds 'hashlocks' and uses them for UCQs
authorBarret Rhoden <brho@cs.berkeley.edu>
Tue, 26 Jul 2011 21:37:47 +0000 (14:37 -0700)
committerKevin Klues <klueska@cs.berkeley.edu>
Thu, 3 Nov 2011 00:36:05 +0000 (17:36 -0700)
commit142381b46704bd99c36aa82eaa2b1d923b389e1c
tree6c9dc4e382fcc8c2b125a8b6e2708dc647fa2fff
parent63853fda6f9a8b88ef734cbfb8e10f5e979ba335
Adds 'hashlocks' and uses them for UCQs

Hashlocks are just an array of spinlocks, and you pick your particular
lock based on some key's hash.  I'm curious to see if they are any
better than spinlocks, and at what point they are worth using.  For our
UCQ code - they probably aren't, but are rather cool.  We'd need some
serious event delivery to the same process in parallel to start
contending on the proc_lock.
kern/include/atomic.h
kern/include/env.h
kern/src/atomic.c
kern/src/process.c
kern/src/ucq.c