Changes between Version 10 and Version 11 of kernel_locks


Ignore:
Timestamp:
Dec 6, 2014, 2:19:09 PM (9 years ago)
Author:
alain
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • kernel_locks

    v10 v11  
    33[[PageOutline]]
    44
    5 The [source:soft/giet_vm/giet_common/locks.c locks.c] and [source:soft/giet_vm/giet_common/locks.h locks.h] files define the functions used by the kernel to take & release  locks protecting exclusive access to a shared resource.
     5The [source:soft/giet_vm/giet_common/locks.c locks.c] and [source:soft/giet_vm/giet_common/locks.h locks.h] files define the functions used by the kernel to take & release  locks protecting exclusive access to shared resources.
    66
    77The GIET_VM kernel define three types of spin-lock:
    88
    9  1. The '''simple_lock_t''' implements a spin-lock without waiting queue. It is only used by the TTY0 access functions, to get exclusive access to the TTY0 kernel terminal.
     9 1. The '''simple_lock_t''' implements a non-distributed spin-lock without waiting queue.
    1010
    1111 2. The '''spin_lock_t''' implements a spin-lock with a waiting queue (based on a ticket allocator scheme), to enforce fairness and avoid live-lock situations. The GIET_LOCK_MAX_TICKET define the wrapping value for the ticket allocator. This lock
    1212must be initialised.
    1313
    14  3. The '''sbt_lock_t''' spin-lock can be used when a single lock protect a unique resource that can be used by any task
    15 running on a 2D mesh of clusters. The lock is implemented as a Sliced Binary Tree of ''partial'' locks distributed on all cluster
    16 of a 2D mesh. It is intended to avoid contention on a single cluster when all tasks try to access the same lock.
     14 3. The '''sbt_lock_t''' spin-lock can be used when a single lock protect a unique resource that can be used by a large number of tasks running on a 2D mesh clusterised architecture. The lock is implemented as a Sliced Binary Tree of ''partial'' locks distributed on all cluster, and is intended to avoid contention on a single cluster when all tasks try to access the same resource.
    1715
    1816All the lock access functions are prefixed by "_" to remind that they can only be executed by a processor in kernel mode.