X-Git-Url: http://ftp.safe.ca/?a=blobdiff_plain;f=Documentation%2Fmutex-design.txt;h=aa60d1f627e523929dff9e787498e96ef661cfe6;hb=9f249162fbf1aea1335e13c57fd5355d00e07a47;hp=cbf79881a41c8dc1b9382d5848716a76b6c37438;hpb=f3f54ffa703c6298240ffd69616451d645bae4d5;p=safe%2Fjmp%2Flinux-2.6 diff --git a/Documentation/mutex-design.txt b/Documentation/mutex-design.txt index cbf7988..aa60d1f 100644 --- a/Documentation/mutex-design.txt +++ b/Documentation/mutex-design.txt @@ -90,7 +90,8 @@ of advantages of mutexes: * - task may not exit with mutex held * - memory areas where held locks reside must not be freed * - held mutexes must not be reinitialized - * - mutexes may not be used in irq contexts + * - mutexes may not be used in hardware or software interrupt + * contexts such as tasklets and timers furthermore, there are also convenience features in the debugging code: @@ -132,4 +133,6 @@ the APIs of 'struct mutex' have been streamlined: int mutex_trylock(struct mutex *lock); void mutex_unlock(struct mutex *lock); int mutex_is_locked(struct mutex *lock); - + void mutex_lock_nested(struct mutex *lock, unsigned int subclass); + int mutex_lock_interruptible_nested(struct mutex *lock, + unsigned int subclass);