Changes between Version 13 and Version 14 of kernel_synchro


Ignore:
Timestamp:
Mar 26, 2020, 2:49:18 PM (5 years ago)
Author:
alain
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • kernel_synchro

    v13 v14  
    5656Each busylock (remote or local) contains a "type" field defining the specific resource protected by this lock, that is a non-zero value defined at lock initialization.
    5757
    58 When the DEBUG_BUSYLOCK parameter is set to a non-zero value in the kernel_config.h file, two optional debug mechanism are activated, thanks to conditional compilation.
     58When the DEBUG_BUSYLOCK parameter is set to a non-zero value (in the kernel_config.h file), two optional debug mechanism are activated, thanks to conditional compilation.
    5959
    60 1. Each thread contains - besides the ''busylocks'' counter - an optional ''busylocks_root'' field, that is the root of an embedded xlist of (local or remote) busylocks hold by a given thread at a given time. This list is implemented by an optional ''xlist'' field in the busy lock descriptor. It  is dynamically updated by the ''busylock_acquire()'' and ''busylock_release()'' functions. The set of taken busylocks is printed in the error message, when the scheduler detects that a descheduling thread is holding one or several busylocks. This list can also be be printed through the ''idbg'' interactive debugger, for any thread identified by its (pid,trdid).
     601. Each thread contains - besides the ''busylocks'' counter - an optional ''busylocks_root'' field, that is the root of an embedded xlist of (local or remote) busylocks hold by a given thread at a given time. This list is implemented by an optional ''xlist'' field in the busy lock descriptor. It  is dynamically updated by the ''busylock_acquire()'' and ''busylock_release()'' functions. The set of taken busylocks is printed in the error message, when the scheduler detects that a descheduling thread is holding one or several busylocks. This list can also be printed through the ''idbg'' interactive debugger, for any thread identified by its (pid,trdid).
    6161
    62 2. Moreover, when the DEBUG_BUSYLOCK  is set, it is possible to trace all busylock_acquire() / busylock_release() made by the thread, identified by the DEBUG_BUSYLOCK_PID and DEBUG_BUSYLOCK_TRDID parameters
     622. Moreover, when DEBUG_BUSYLOCK  is set,  all busylock_acquire() / busylock_release() made by the thread, identified by the DEBUG_BUSYLOCK_PID and DEBUG_BUSYLOCK_TRDID parameters are traced on kernel TXT0
    6363
    6464