Pull RCU updates from Paul E. McKenney: - Removal of spin_unlock_wait() - SRCU updates - Torture-test updates - Documentation updates - Miscellaneous fixes - CPU-hotplug fixes - Miscellaneous non-RCU fixes
Showing the changes to include/uapi (1 of 84 files). Show all
Unified · Split
| @@ -40,14 +40,33 @@ · 39 unmodified lines | |||
| 40 | * (non-running threads are de facto in such a | 40 | * (non-running threads are de facto in such a |
| 41 | * state). This covers threads from all processes | 41 | * state). This covers threads from all processes |
| 42 | * running on the system. This command returns 0. | 42 | * running on the system. This command returns 0. |
| 43 | * @MEMBARRIER_CMD_PRIVATE_EXPEDITED: | ||
| 44 | * Execute a memory barrier on each running | ||
| 45 | * thread belonging to the same process as the current | ||
| 46 | * thread. Upon return from system call, the | ||
| 47 | * caller thread is ensured that all its running | ||
| 48 | * threads siblings have passed through a state | ||
| 49 | * where all memory accesses to user-space | ||
| 50 | * addresses match program order between entry | ||
| 51 | * to and return from the system call | ||
| 52 | * (non-running threads are de facto in such a | ||
| 53 | * state). This only covers threads from the | ||
| 54 | * same processes as the caller thread. This | ||
| 55 | * command returns 0. The "expedited" commands | ||
| 56 | * complete faster than the non-expedited ones, | ||
| 57 | * they never block, but have the downside of | ||
| 58 | * causing extra overhead. | ||
| 43 | * | 59 | * |
| 44 | * Command to be passed to the membarrier system call. The commands need to | 60 | * Command to be passed to the membarrier system call. The commands need to |
| 45 | * be a single bit each, except for MEMBARRIER_CMD_QUERY which is assigned to | 61 | * be a single bit each, except for MEMBARRIER_CMD_QUERY which is assigned to |
| 46 | * the value 0. | 62 | * the value 0. |
| 47 | */ | 63 | */ |
| 48 | enum membarrier_cmd { | 64 | enum membarrier_cmd { |
| 49 | MEMBARRIER_CMD_QUERY = 0, | 65 | MEMBARRIER_CMD_QUERY = 0, |
| 50 | MEMBARRIER_CMD_SHARED = (1 << 0), | 66 | MEMBARRIER_CMD_SHARED = (1 << 0), |
| 67 | /* reserved for MEMBARRIER_CMD_SHARED_EXPEDITED (1 << 1) */ | ||
| 68 | /* reserved for MEMBARRIER_CMD_PRIVATE (1 << 2) */ | ||
| 69 | MEMBARRIER_CMD_PRIVATE_EXPEDITED = (1 << 3), | ||
| 51 | }; | 70 | }; |
| 52 | 71 | ||
| 53 | #endif /* _UAPI_LINUX_MEMBARRIER_H */ | 72 | #endif /* _UAPI_LINUX_MEMBARRIER_H */ |