UCQs now use mcs_pdr_locks (XCC)
authorBarret Rhoden <brho@cs.berkeley.edu>
Wed, 12 Oct 2011 01:12:22 +0000 (18:12 -0700)
committerBarret Rhoden <brho@cs.berkeley.edu>
Thu, 15 Dec 2011 22:48:39 +0000 (14:48 -0800)
commit0d671dded58747bc6feef36aa268a3e98909d09b
tree2e24f42e079c817d307f4683496a6f0dfe05cdab
parent1cb9c8b830215bd2cc72a7c89e7b005f7e062c89
UCQs now use mcs_pdr_locks (XCC)

I'm using the memory safe locks for now.  You can get away with unsafe
versions if the storage for them never gets freed (and we'd need some
sanity checks in __ensure_qnode_runs()), though I'm not 100% on whether
or not uthread code will ever call ucq code, and as of right now,
uthread stacks get freed (2LS decision).

The downside to this is that our MCS-PDR locks use more memory, and that
memory was not as likely to be in the cache as the stack.

Reinstall your kernel headers (ucq.h).
kern/include/ros/ucq.h
user/parlib/mcs.c
user/parlib/ucq.c