diff options
author | Rich Felker <dalias@aerifal.cx> | 2011-09-28 18:57:18 -0400 |
---|---|---|
committer | Rich Felker <dalias@aerifal.cx> | 2011-09-28 18:57:18 -0400 |
commit | 9cee9307e3b8ed31e772d564d1dc53e6d888acba (patch) | |
tree | 90355be0615b94ba2cd5ddf7581173862ae7a063 /src/thread/i386/clone.s | |
parent | 95b147967216a057d51a1b970da777486be716e3 (diff) | |
download | musl-9cee9307e3b8ed31e772d564d1dc53e6d888acba.tar.gz musl-9cee9307e3b8ed31e772d564d1dc53e6d888acba.tar.xz musl-9cee9307e3b8ed31e772d564d1dc53e6d888acba.zip |
improve pshared barriers
eliminate the sequence number field and instead use the counter as the futex because of the way the lock is held, sequence numbers are completely useless, and this frees up a field in the barrier structure to be used as a waiter count for the count futex, which lets us avoid some syscalls in the best case. as of now, self-synchronized destruction and unmapping should be fully safe. before any thread can return from the barrier, all threads in the barrier have obtained the vm lock, and each holds a shared lock on the barrier. the barrier memory is not inspected after the shared lock count reaches 0, nor after the vm lock is released.
Diffstat (limited to 'src/thread/i386/clone.s')
0 files changed, 0 insertions, 0 deletions