summaryrefslogtreecommitdiff
path: root/src/cpu
diff options
context:
space:
mode:
authorMoyang Wang <mw828@cornell.edu>2018-04-02 16:23:13 -0400
committerTuan Ta <qtt2@cornell.edu>2019-02-08 15:25:30 +0000
commit165a7dab558c8118622a387683521bea1ebf2e6c (patch)
treee3d36c6e12abf4807306f6e4c0d2201f13287568 /src/cpu
parent758b62cfb2ede5fa2187e4cab899691505179d43 (diff)
downloadgem5-165a7dab558c8118622a387683521bea1ebf2e6c.tar.xz
kern,sim: implement FUTEX_WAKE_OP
This patch implements FUTEX_WAKE_OP operation in the futex syscall. Below is its description: int futex(int *uaddr, int futex_op, int val, const struct timespec *timeout, int *uaddr2, int val3); This operation was added to support some user-space use cases where more than one futex must be handled at the same time. The most notable example is the implementation of pthread_cond_signal(3), which requires operations on two futexes, the one used to implement the mutex and the one used in the implementation of the wait queue associated with the condition variable. FUTEX_WAKE_OP allows such cases to be implemented without leading to high rates of contention and context switching. Reference: http://man7.org/linux/man-pages/man2/futex.2.html Change-Id: I215f3c2a7bdc6374e5dfe06ee721c76933a10f2d Reviewed-on: https://gem5-review.googlesource.com/c/9630 Reviewed-by: Jason Lowe-Power <jason@lowepower.com> Reviewed-by: Brandon Potter <Brandon.Potter@amd.com> Maintainer: Jason Lowe-Power <jason@lowepower.com>
Diffstat (limited to 'src/cpu')
0 files changed, 0 insertions, 0 deletions