SE: Ignore FUTEX_PRIVATE_FLAG of sys_futex
authorLluc Alvarez <lluc.alvarez@bsc.es>
Fri, 21 Sep 2012 08:51:18 +0000 (04:51 -0400)
committerLluc Alvarez <lluc.alvarez@bsc.es>
Fri, 21 Sep 2012 08:51:18 +0000 (04:51 -0400)
commitc8de7654682dd8f5efa920f79d6041f2cac2fbeb
tree4076d89b387c27a66e4403a341dae3cc3c807c0a
parent9cd0c5ecc896690d923d443f3d419a05aec79ac1
SE: Ignore FUTEX_PRIVATE_FLAG of sys_futex

This patch ignores the FUTEX_PRIVATE_FLAG of the sys_futex system call
in SE mode.

With this patch, when sys_futex with the options FUTEX_WAIT_PRIVATE or
FUTEX_WAKE_PRIVATE is emulated, the FUTEX_PRIVATE_FLAG is ignored and
so their behaviours are the regular FUTEX_WAIT and FUTEX_WAKE.

Emulating FUTEX_WAIT_PRIVATE and FUTEX_WAKE_PRIVATE as if they were
non-private is safe from a functional point of view. The
FUTEX_PRIVATE_FLAG does not change the semantics of the futex, it's
just a mechanism to improve performance under certain circunstances
that can be ignored in SE mode.
src/kern/linux/linux.hh
src/sim/syscall_emul.hh