RE: [cgl_discussion] [PATCH] Robust and Real-time Mutexes in NPTL
"Hu, Boris" <[email protected]>
| Newsgroups | gmane.comp.lib.phil,gmane.linux.kernel.carrier-grade |
|---|---|
| Message-ID | <37FBBA5F3A361C41AB7CE44558C3448E1A1935@pdsmsx403.ccr.corp.intel.com> |
Here is the update of robust and real-time mutexes in nptl and the kernel
side is till under heavily redesign.
Changes
=======
* Robust and real-time features have been split.
* rtflags has been removed and its info has been folded into 4 bits of
mutexkind.
*rtnptl-robust-0.5.1.diff Robust mutex patches against nptl-0.36.
*rnptl-rt-0.5.1.diff RT feature against rtnptl-robust-0.5.1.diff
Takashi Oe's issue has been addressed in rtnptl-robust-0.5.1.diff.
The latest update could be reached at:
http://developer.osdl.org/dev/robustmutexes/
boris
Not speaking for my employer -- all opinions are my own (and my fault)
nptl/arm: http://xcgl-port.sourceforge.net/nptl.html
> -----Original Message-----
> From: Liu, Bing Wei
> Sent: 2003年6月27日 10:09
> To: [email protected]; [email protected]
> Subject: [cgl_discussion] [PATCH] Robust and Real-time Mutexes in NPTL
>
>
> Hi All,
>
> This is a ---prototype implementation--- that extends NPTL with
> real-time and robust mutex features. The intention is to have an
> approach to locking that will benefit the applications that care
> about responsiveness and robustness of the locks without affecting
> other types of applications. Currently this is work in progress, and
> the implementation is subject to much flux, both in the user or
> kernel code.
>
>
> Features
> =======
> - robust mutex
> Applications using a robust mutex can detect whether the previous
> owner of the mutex terminated and then pass on the ownership to the
> next waiter. The new owner can then attempt to cleanup the state
> protected by the mutex, and re-initialize it for continued use. If
> cleanup of the state can't be done, the mutex can be marked
> inconsistent so that any future attempts to lock it will get a status
> indicating that it is inconsistent.
>
> - priority inheritance mutex
> Applications using a priority inheritance mutex can temporarily
> boost the priority of the current owner of the mutex, if a
> higher-priority thread is blocked trying to lock the same mutex. This
> will help to addresses the priority inversion issue and improve
> real-time responsiveness.
>
>
> Links
> ====
> All related patches, documents, and test cases have been posted at
> http://developer.osdl.org/dev/robustmutexes/, including:
>
> - rtnptl-0.5.patch : robust and real-time mutexes patch for
> nptl-0.36.
> - README-rtnptl-0.5 : release notes of rtnptl-0.5.
> - INSTALL-rtnptl-0.5 : a sample step-by-step procedure for building
> a simple jail root of rtnptl-0.5 based on nptl-0.36
> - rtnptl-test-0.5.tar.gz : test cases for rtnptl-0.5
> - README-rtnptl-tests-0.5 : release notes of rtnptl-test-0.5
> - rtfutex-2_5_67-6.patch: real-time futex (rtfutex) patch for
> kernel-2.5.67
> - rtfutex-test-6.tar.gz : test cases for rtfutex-6
> - README-rtfutex-6 : release notes of rtfutex-6
> - a few png files to illustrate priority inheritance behavior.
>
>
> A quick glance at rtnptl-0.5.patch
> ========================
> Makefile | 9
> Versions | 5
> init.c | 6
> pthread_mutex_consistent_np.c | 16 +
> pthread_mutex_init.c | 8
> pthread_mutex_lock.c | 26 ++
> pthread_mutex_setconsistency_np.c | 22 ++
> pthread_mutex_timedlock.c | 33 ++-
> pthread_mutex_trylock.c | 37 ++-
> pthread_mutex_unlock.c | 30 ++-
> pthread_mutexattr_getprotocol.c | 29 +++
> pthread_mutexattr_getrobust_np.c | 28 ++
> pthread_mutexattr_init.c | 5
> pthread_mutexattr_setprotocol.c | 54 +++++
> pthread_mutexattr_setrobust_np.c | 36 +++
> sysdeps/pthread/createthread.c | 12 +
> sysdeps/pthread/pthread.h | 56 +++++
> sysdeps/unix/sysv/linux/fork.c | 7
> sysdeps/unix/sysv/linux/i386/bits/pthreadtypes.h | 8
> sysdeps/unix/sysv/linux/i386/i486/lowlevelmutex.S | 210 ++++++++++
> sysdeps/unix/sysv/linux/i386/lowlevellock.h | 160 ++++++++++
> sysdeps/unix/sysv/linux/internaltypes.h | 12 +
> 22 files changed, 775 insertions(+), 34 deletions(-)
>
>
> Thank,
> Bingwei Liu
>
> Not speaking for my employer -- all opinions are my own (and my fault)
>
>
> <<README-rtnptl-0.5>> <<rtnptl-0.5.patch>>
>
rtnptl-rt-0.5.1.ZIP
(application/x-zip-compressed, 1.7 KB) - not displayed
rtnptl-robust-0.5.1.ZIP
(application/x-zip-compressed, 6.9 KB) - not displayed