]> git.baikalelectronics.ru Git - kernel.git/commit
sched/membarrier: Fix membarrier-rseq fence command missing from query bitmask
authorMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mon, 17 Jan 2022 20:30:10 +0000 (15:30 -0500)
committerPeter Zijlstra <peterz@infradead.org>
Tue, 25 Jan 2022 21:30:25 +0000 (22:30 +0100)
commit809232619f5b15e31fb3563985e705454f32621f
tree96dc519caa8d85adb222e68183af80c719c7ffc7
parent0e3872499de1a1230cef5221607d71aa09264bd5
sched/membarrier: Fix membarrier-rseq fence command missing from query bitmask

The membarrier command MEMBARRIER_CMD_QUERY allows querying the
available membarrier commands. When the membarrier-rseq fence commands
were added, a new MEMBARRIER_CMD_PRIVATE_EXPEDITED_RSEQ_BITMASK was
introduced with the intent to expose them with the MEMBARRIER_CMD_QUERY
command, the but it was never added to MEMBARRIER_CMD_BITMASK.

The membarrier-rseq fence commands are therefore not wired up with the
query command.

Rename MEMBARRIER_CMD_PRIVATE_EXPEDITED_RSEQ_BITMASK to
MEMBARRIER_PRIVATE_EXPEDITED_RSEQ_BITMASK (the bitmask is not a command
per-se), and change the erroneous
MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED_RSEQ_BITMASK (which does not
actually exist) to MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED_RSEQ.

Wire up MEMBARRIER_PRIVATE_EXPEDITED_RSEQ_BITMASK in
MEMBARRIER_CMD_BITMASK. Fixing this allows discovering availability of
the membarrier-rseq fence feature.

Fixes: 2a36ab717e8f ("rseq/membarrier: Add MEMBARRIER_CMD_PRIVATE_EXPEDITED_RSEQ")
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: <stable@vger.kernel.org> # 5.10+
Link: https://lkml.kernel.org/r/20220117203010.30129-1-mathieu.desnoyers@efficios.com
kernel/sched/membarrier.c