| .. | .. |
|---|
| 114 | 114 | * If this command is not implemented by an |
|---|
| 115 | 115 | * architecture, -EINVAL is returned. |
|---|
| 116 | 116 | * Returns 0 on success. |
|---|
| 117 | + * @MEMBARRIER_CMD_PRIVATE_EXPEDITED_RSEQ: |
|---|
| 118 | + * Ensure the caller thread, upon return from |
|---|
| 119 | + * system call, that all its running thread |
|---|
| 120 | + * siblings have any currently running rseq |
|---|
| 121 | + * critical sections restarted if @flags |
|---|
| 122 | + * parameter is 0; if @flags parameter is |
|---|
| 123 | + * MEMBARRIER_CMD_FLAG_CPU, |
|---|
| 124 | + * then this operation is performed only |
|---|
| 125 | + * on CPU indicated by @cpu_id. If this command is |
|---|
| 126 | + * not implemented by an architecture, -EINVAL |
|---|
| 127 | + * is returned. A process needs to register its |
|---|
| 128 | + * intent to use the private expedited rseq |
|---|
| 129 | + * command prior to using it, otherwise |
|---|
| 130 | + * this command returns -EPERM. |
|---|
| 131 | + * @MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED_RSEQ: |
|---|
| 132 | + * Register the process intent to use |
|---|
| 133 | + * MEMBARRIER_CMD_PRIVATE_EXPEDITED_RSEQ. |
|---|
| 134 | + * If this command is not implemented by an |
|---|
| 135 | + * architecture, -EINVAL is returned. |
|---|
| 136 | + * Returns 0 on success. |
|---|
| 117 | 137 | * @MEMBARRIER_CMD_SHARED: |
|---|
| 118 | 138 | * Alias to MEMBARRIER_CMD_GLOBAL. Provided for |
|---|
| 119 | 139 | * header backward compatibility. |
|---|
| .. | .. |
|---|
| 131 | 151 | MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED = (1 << 4), |
|---|
| 132 | 152 | MEMBARRIER_CMD_PRIVATE_EXPEDITED_SYNC_CORE = (1 << 5), |
|---|
| 133 | 153 | MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED_SYNC_CORE = (1 << 6), |
|---|
| 154 | + MEMBARRIER_CMD_PRIVATE_EXPEDITED_RSEQ = (1 << 7), |
|---|
| 155 | + MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED_RSEQ = (1 << 8), |
|---|
| 134 | 156 | |
|---|
| 135 | 157 | /* Alias for header backward compatibility. */ |
|---|
| 136 | 158 | MEMBARRIER_CMD_SHARED = MEMBARRIER_CMD_GLOBAL, |
|---|
| 137 | 159 | }; |
|---|
| 138 | 160 | |
|---|
| 161 | +enum membarrier_cmd_flag { |
|---|
| 162 | + MEMBARRIER_CMD_FLAG_CPU = (1 << 0), |
|---|
| 163 | +}; |
|---|
| 164 | + |
|---|
| 139 | 165 | #endif /* _UAPI_LINUX_MEMBARRIER_H */ |
|---|