Ignore:
Timestamp:
Dec 3, 2018, 12:17:35 PM (5 years ago)
Author:
alain
Message:

Improve the FAT32 file system to support cat, rm, cp commands.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/kernel/libk/remote_busylock.h

    r563 r603  
    11/*
    2  * remote_busylock.h: remote kernel busy waiting lock definition.     
     2 * remote_busylock.h: remote kernel busy-waiting lock definition.     
    33 *
    44 * Authors  Alain Greiner (2016,2017,2018)
     
    3333 * This synchronisation object sequencializes all concurrent read or write accesses to a
    3434 * shared object located in any cluster, made by any thread(s) running in any cluster.
    35  * It uses a busy waiting policy when the tock is taken by another thread, and should
     35 * It uses a busy waiting policy when the lock is taken by another thread, and should
    3636 * be used ro execute very short actions, such as basic allocators, or to protect 
    3737 * higher level synchronisation objects, such as remote_queuelock and remote_rwlock.
     38 *
    3839 * WARNING: a thread cannot yield when it is owning a busylock (local or remote).
    3940 *
     
    4546 *   decrements its busylocks counter.
    4647 *
    47 :w * - When a thread takes a busylock, it enters a critical section: the busylock_acquire()
     48 * - When a thread takes a busylock, it enters a critical section: the busylock_acquire()
    4849 *   function disables the IRQs, takes the lock, increments the thread busylocks counter,
    49  *   and save the SR in lock descriptor and returns.
     50 *    save the SR in the lock descriptor and returns.
    5051 *
    51  * - The busylock_release() function releases the lock, decrements the thread busylock
    52  *   counter, restores the SR to exit the critical section, and returns
     52 * - The busylock_release() function decrements the thread busylock counter,
     53 *   restores the SR to exit the critical section, and returns
    5354 *
    5455 * - If a thread owning a busylock (local or remote) tries to deschedule, the scheduler
     
    5859/*******************************************************************************************
    5960 * This structure defines a remote_busylock.
    60  * The <type> and <xlist> fields are used for debug.
    61  * The type defines the lock usage as detailed in the kernel_config.h file.
     61 * - The <ticket> and <current> fields implement the ticket policy described above.
     62 * - The <type> and <xlist> fields are used for debug. The type defines the lock usage,
     63 *   as detailed in the kernel_config.h file.
     64 * - The <save_sr> field is used to implement the critical section as decribed above.
    6265 ******************************************************************************************/
    6366
Note: See TracChangeset for help on using the changeset viewer.