Changes between Initial Version and Version 1 of RamLocks


Ignore:
Timestamp:
Aug 16, 2006, 2:44:04 PM (18 years ago)
Author:
Nicolas Pouillon
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • RamLocks

    v1 v1  
     1= SocLib's way of handling locks =
     2
     3Traditionnal setups implements locks through RCU (Read/copy/update) -- ie atomic -- operations. This is archieved by not releasing the bus between a read and a write operation. Most of the time with SocLib designs, we have [NoC]-centric designs rather than buses therefore we cant avoid race conditions.
     4
     5A new scheme is introduced in a specific ram component:
     6 * Every accessible word is a spin lock
     7 * Read operation returns the spin lock's status
     8   * 0 if not locked
     9   * other if locked
     10 * Read operation locks the spin lock (so the spin lock is always taken after a read)
     11 * Write operation releases the spin lock (even if locked by another CPU)
     12
     13= Weirdness =
     14
     15 * Usual setups implements atomic operations which are used for locks
     16 * Soclib implements spin locks which are used to protect atomic operations