Preemption recovery doesn't change TLSs
authorBarret Rhoden <brho@cs.berkeley.edu>
Thu, 1 Aug 2013 22:59:19 +0000 (15:59 -0700)
committerBarret Rhoden <brho@cs.berkeley.edu>
Thu, 1 Aug 2013 22:59:19 +0000 (15:59 -0700)
commit6760bbae6c8edad2143fd22ea4e94de78cacc7de
tree7a00019f88554b61e71a6bff779d51249f147acd
parent8b326cb4f249f269de9ee7d563869100ba8e9073
Preemption recovery doesn't change TLSs

Instead of changing TLSs to get at current_uthread, we figure out the linear
address of the remote vcore's current_uthread and access it directly (from
within our usual TLS).

Aside from removing two potentially expensive TLS changes, this also simplifies
and clarifies the code.
user/parlib/include/uthread.h
user/parlib/uthread.c