~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/include/uapi/linux/membarrier.h

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /include/uapi/linux/membarrier.h (Version linux-6.12-rc7) and /include/uapi/linux/membarrier.h (Version linux-3.10.108)


  1 #ifndef _UAPI_LINUX_MEMBARRIER_H                    1 
  2 #define _UAPI_LINUX_MEMBARRIER_H                  
  3                                                   
  4 /*                                                
  5  * linux/membarrier.h                             
  6  *                                                
  7  * membarrier system call API                     
  8  *                                                
  9  * Copyright (c) 2010, 2015 Mathieu Desnoyers     
 10  *                                                
 11  * Permission is hereby granted, free of charg    
 12  * of this software and associated documentati    
 13  * in the Software without restriction, includ    
 14  * to use, copy, modify, merge, publish, distr    
 15  * copies of the Software, and to permit perso    
 16  * furnished to do so, subject to the followin    
 17  *                                                
 18  * The above copyright notice and this permiss    
 19  * all copies or substantial portions of the S    
 20  *                                                
 21  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT W    
 22  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE W    
 23  * FITNESS FOR A PARTICULAR PURPOSE AND NONINF    
 24  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR     
 25  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT    
 26  * OUT OF OR IN CONNECTION WITH THE SOFTWARE O    
 27  * SOFTWARE.                                      
 28  */                                               
 29                                                   
 30 /**                                               
 31  * enum membarrier_cmd - membarrier system cal    
 32  * @MEMBARRIER_CMD_QUERY:   Query the set of s    
 33  *                          a bitmask of valid    
 34  * @MEMBARRIER_CMD_GLOBAL:  Execute a memory b    
 35  *                          Upon return from s    
 36  *                          is ensured that al    
 37  *                          through a state wh    
 38  *                          user-space address    
 39  *                          entry to and retur    
 40  *                          (non-running threa    
 41  *                          state). This cover    
 42  *                          running on the sys    
 43  * @MEMBARRIER_CMD_GLOBAL_EXPEDITED:              
 44  *                          Execute a memory b    
 45  *                          of all processes w    
 46  *                          with MEMBARRIER_CM    
 47  *                          Upon return from s    
 48  *                          is ensured that al    
 49  *                          through a state wh    
 50  *                          user-space address    
 51  *                          entry to and retur    
 52  *                          (non-running threa    
 53  *                          state). This only     
 54  *                          which registered w    
 55  *                          MEMBARRIER_CMD_REG    
 56  *                          This command retur    
 57  *                          registration is ab    
 58  *                          the barriers, it i    
 59  *                          MEMBARRIER_CMD_GLO    
 60  *                          non-registered pro    
 61  * @MEMBARRIER_CMD_REGISTER_GLOBAL_EXPEDITED:     
 62  *                          Register the proce    
 63  *                          MEMBARRIER_CMD_GLO    
 64  *                          barriers. Always r    
 65  * @MEMBARRIER_CMD_PRIVATE_EXPEDITED:             
 66  *                          Execute a memory b    
 67  *                          thread belonging t    
 68  *                          thread. Upon retur    
 69  *                          caller thread is e    
 70  *                          threads siblings h    
 71  *                          where all memory a    
 72  *                          addresses match pr    
 73  *                          to and return from    
 74  *                          (non-running threa    
 75  *                          state). This only     
 76  *                          same process as th    
 77  *                          command returns 0     
 78  *                          "expedited" comman    
 79  *                          the non-expedited     
 80  *                          but have the downs    
 81  *                          overhead. A proces    
 82  *                          intent to use the     
 83  *                          prior to using it,    
 84  *                          returns -EPERM.       
 85  * @MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED:    
 86  *                          Register the proce    
 87  *                          MEMBARRIER_CMD_PRI    
 88  *                          returns 0.            
 89  * @MEMBARRIER_CMD_PRIVATE_EXPEDITED_SYNC_CORE    
 90  *                          In addition to pro    
 91  *                          guarantees describ    
 92  *                          MEMBARRIER_CMD_PRI    
 93  *                          the caller thread,    
 94  *                          call, that all its    
 95  *                          have executed a co    
 96  *                          instruction. (arch    
 97  *                          guarantee that non    
 98  *                          core serializing i    
 99  *                          resume user-space     
100  *                          covers threads fro    
101  *                          caller thread. Thi    
102  *                          success. The "expe    
103  *                          faster than the no    
104  *                          never block, but h    
105  *                          causing extra over    
106  *                          not implemented by    
107  *                          is returned. A pro    
108  *                          intent to use the     
109  *                          core command prior    
110  *                          this command retur    
111  * @MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED_    
112  *                          Register the proce    
113  *                          MEMBARRIER_CMD_PRI    
114  *                          If this command is    
115  *                          architecture, -EIN    
116  *                          Returns 0 on succe    
117  * @MEMBARRIER_CMD_PRIVATE_EXPEDITED_RSEQ:        
118  *                          Ensure the caller     
119  *                          system call, that     
120  *                          siblings have any     
121  *                          critical sections     
122  *                          parameter is 0; if    
123  *                          MEMBARRIER_CMD_FLA    
124  *                          then this operatio    
125  *                          on CPU indicated b    
126  *                          not implemented by    
127  *                          is returned. A pro    
128  *                          intent to use the     
129  *                          command prior to u    
130  *                          this command retur    
131  * @MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED_    
132  *                          Register the proce    
133  *                          MEMBARRIER_CMD_PRI    
134  *                          If this command is    
135  *                          architecture, -EIN    
136  *                          Returns 0 on succe    
137  * @MEMBARRIER_CMD_SHARED:                        
138  *                          Alias to MEMBARRIE    
139  *                          header backward co    
140  * @MEMBARRIER_CMD_GET_REGISTRATIONS:             
141  *                          Returns a bitmask     
142  *                          registration comma    
143  *                                                
144  * Command to be passed to the membarrier syst    
145  * be a single bit each, except for MEMBARRIER    
146  * the value 0.                                   
147  */                                               
148 enum membarrier_cmd {                             
149         MEMBARRIER_CMD_QUERY                      
150         MEMBARRIER_CMD_GLOBAL                     
151         MEMBARRIER_CMD_GLOBAL_EXPEDITED           
152         MEMBARRIER_CMD_REGISTER_GLOBAL_EXPEDIT    
153         MEMBARRIER_CMD_PRIVATE_EXPEDITED          
154         MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDI    
155         MEMBARRIER_CMD_PRIVATE_EXPEDITED_SYNC_    
156         MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDI    
157         MEMBARRIER_CMD_PRIVATE_EXPEDITED_RSEQ     
158         MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDI    
159         MEMBARRIER_CMD_GET_REGISTRATIONS          
160                                                   
161         /* Alias for header backward compatibi    
162         MEMBARRIER_CMD_SHARED                     
163 };                                                
164                                                   
165 enum membarrier_cmd_flag {                        
166         MEMBARRIER_CMD_FLAG_CPU         = (1 <    
167 };                                                
168                                                   
169 #endif /* _UAPI_LINUX_MEMBARRIER_H */             
170                                                   

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php