parlib: Use cpu_relax_vc() in parlib_run_once() (XCC)
authorBarret Rhoden <brho@cs.berkeley.edu>
Tue, 4 Apr 2017 18:06:22 +0000 (14:06 -0400)
committerBarret Rhoden <brho@cs.berkeley.edu>
Wed, 3 May 2017 16:13:02 +0000 (12:13 -0400)
commite7519e158de8d8aa5fa6612e0ff3476ad6cda4de
tree12f42815070319fabf5150c82bcae97d767c88b1
parent934406dd3d35c3527690895b4defd8704546e64d
parlib: Use cpu_relax_vc() in parlib_run_once() (XCC)

When you spin wait in userspace, there's a chance that whoever you are
spinning on is preempted.  In these cases, use cpu_relax_vc() instead of
cpu_relax().  That'll periodically check to make sure the other vcores are
running.

Rebuild glibc.  The acrobatics with the weak symbol are needed since some
parts of glibc call parlib_run_once(), and glibc needs to be able to link
without parlib temporarily.

Signed-off-by: Barret Rhoden <brho@cs.berkeley.edu>
tools/compilers/gcc-glibc/glibc-2.19-akaros/sysdeps/akaros/Versions
tools/compilers/gcc-glibc/glibc-2.19-akaros/sysdeps/akaros/parlib-compat.c
user/parlib/include/parlib/parlib.h