10 | | There is to ways to define a user-level lock, depending on the placement constraints: |
11 | | |
12 | | * If the lock is defined as a global variable in the application code, there is no precise control on the lock placement: the lock will be stored in the application global data ''vseg". |
13 | | |
14 | | * If the lock is defined as a specific ''vobj'' in the application mapping, it will be stored in the ''vseg'' specified in the mapping. The lock should not be declared as a global variable in the application code, and the lock virtual address can be obtained using the ''giet_vobj_get_vbase() system call. |
| 10 | The lock being shared by several tasks, is defined as a global variable in the application code. |
| 11 | It is possible to control precisely the placement of a specific lock by defining a specific vseg in the application mapping. |