mirror of
https://git.musl-libc.org/git/musl
synced 2025-01-06 23:02:10 +03:00
54ca1cc7f1
can cause rseq restart on another cpu to synchronize with global memory access from rseq critical sections, see linux commit 2a36ab717e8fe678d98f81c14a0b124712719840 rseq/membarrier: Add MEMBARRIER_CMD_PRIVATE_EXPEDITED_RSEQ
22 lines
654 B
C
22 lines
654 B
C
#ifndef _SYS_MEMBARRIER_H
|
|
#define _SYS_MEMBARRIER_H
|
|
|
|
#define MEMBARRIER_CMD_QUERY 0
|
|
#define MEMBARRIER_CMD_GLOBAL 1
|
|
#define MEMBARRIER_CMD_GLOBAL_EXPEDITED 2
|
|
#define MEMBARRIER_CMD_REGISTER_GLOBAL_EXPEDITED 4
|
|
#define MEMBARRIER_CMD_PRIVATE_EXPEDITED 8
|
|
#define MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED 16
|
|
#define MEMBARRIER_CMD_PRIVATE_EXPEDITED_SYNC_CORE 32
|
|
#define MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED_SYNC_CORE 64
|
|
#define MEMBARRIER_CMD_PRIVATE_EXPEDITED_RSEQ 128
|
|
#define MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED_RSEQ 256
|
|
|
|
#define MEMBARRIER_CMD_SHARED MEMBARRIER_CMD_GLOBAL
|
|
|
|
#define MEMBARRIER_CMD_FLAG_CPU 1
|
|
|
|
int membarrier(int, int);
|
|
|
|
#endif
|