[PATCH 00/11] 4.10 Fix Priority Inheritance Protocol
Gedare Bloom
gedare at rtems.org
Fri Mar 23 16:45:50 UTC 2018
Hello all,
In terms of prioritizing any code review, I think that mainly the new
code is in patches 02, 03 (two new test cases), and 10, 11 (the fix).
The other commits are back-porting existing test cases from 4.11 or
master into 4.10, and deleting any test code that is not relevant to
4.10 requirements.
Gedare
On Fri, Mar 23, 2018 at 12:15 PM, Gedare Bloom <gedare at rtems.org> wrote:
> This patch series fixes the PIP as described in #3361 to allow
> for proper step-down of priority under:
> vertical nesting
> horizontal nesting
> lock timeouts, and
> lock flushing.
>
> A few commits backport tests from 4.11 and 5 (master)
> to the 4.10 branch to demonstrate the broken behavior of PIP.
>
> The last two commits are the fix to PIP. Test results without the last
> two commits using rtems-test:
> Passed: 222
> Failed: 6
> Timeouts: 22
> Invalid: 0
> -------------
> Total: 250
>
> Failures:
> spmutex01.exe
> spsem04.exe
> spfatal09.exe
> spsem03.exe
> psx04.exe
> spintrcritical09.exe
>
> Test results with the last two commits:
> Passed: 225
> Failed: 3
> Timeouts: 22
> Invalid: 0
> -------------
> Total: 250
>
> Failures:
> spfatal09.exe
> psx04.exe
> spintrcritical09.exe
>
> No new failures or timeouts compared to baseline.
>
> Synopsis below.
>
> Gedare Bloom (7):
> sptests: back-port spsem01, spsem02, and spsem03 from 4.11
> sptests/spsem04: test prio stepdown on sem release
> sptests/spsem05: another test of prio stepdown on sem release
> sptests/spmutex01: strip out deadlock, c11, posix
> sptests: Add spmutex01 to build
> score: replace current and real priority with priority node
> score: add Inherited_priorities priority queue and functions
>
> Sebastian Huber (4):
> score: Test thread priority queue disciplines
> sptests/spmutex01: refactor and add deadlock test
> sptests/spmutex01: add tests for lock nesting
> sptests/spmutex01: test flush with inherit prio
>
> cpukit/itron/src/chg_pri.c | 4 +-
> cpukit/itron/src/ref_tsk.c | 2 +-
> cpukit/itron/src/rot_rdq.c | 2 +-
> cpukit/libmisc/capture/capture.c | 8 +-
> cpukit/libmisc/capture/capture.h | 4 +-
> cpukit/libmisc/monitor/mon-task.c | 2 +-
> cpukit/posix/src/killinfo.c | 12 +-
> cpukit/posix/src/pthread.c | 14 +-
> cpukit/posix/src/pthreadgetschedparam.c | 2 +-
> cpukit/posix/src/pthreadsetschedparam.c | 4 +-
> cpukit/rtems/src/tasksetpriority.c | 8 +-
> cpukit/score/Makefile.am | 3 +-
> cpukit/score/include/rtems/score/coremutex.h | 2 +-
> cpukit/score/include/rtems/score/thread.h | 82 ++++-
> cpukit/score/inline/rtems/score/coremutex.inl | 4 +-
> cpukit/score/src/coremutex.c | 4 +-
> cpukit/score/src/coremutexseize.c | 9 +-
> cpukit/score/src/coremutexsurrender.c | 18 +-
> cpukit/score/src/mpci.c | 2 +-
> cpukit/score/src/threadchangepriority.c | 6 +-
> cpukit/score/src/threadclearstate.c | 4 +-
> cpukit/score/src/threadinitialize.c | 6 +-
> cpukit/score/src/threadmp.c | 2 +-
> cpukit/score/src/threadprioritynode.c | 167 +++++++++
> cpukit/score/src/threadqenqueuepriority.c | 10 +-
> cpukit/score/src/threadqextractpriority.c | 5 +
> cpukit/score/src/threadqflush.c | 6 +
> cpukit/score/src/threadreset.c | 20 +-
> cpukit/score/src/threadresume.c | 4 +-
> cpukit/score/src/threadsetpriority.c | 2 +-
> testsuites/sptests/Makefile.am | 2 +
> testsuites/sptests/configure.ac | 6 +
> testsuites/sptests/sp34/changepri.c | 4 +-
> testsuites/sptests/sp35/priinv.c | 17 +-
> testsuites/sptests/spmutex01/Makefile.am | 19 +
> testsuites/sptests/spmutex01/init.c | 495 ++++++++++++++++++++++++++
> testsuites/sptests/spmutex01/spmutex01.doc | 16 +
> testsuites/sptests/spmutex01/spmutex01.scn | 2 +
> testsuites/sptests/spsem01/Makefile.am | 21 ++
> testsuites/sptests/spsem01/init.c | 156 ++++++++
> testsuites/sptests/spsem01/spsem01.doc | 19 +
> testsuites/sptests/spsem01/spsem01.scn | 15 +
> testsuites/sptests/spsem02/Makefile.am | 21 ++
> testsuites/sptests/spsem02/init.c | 192 ++++++++++
> testsuites/sptests/spsem02/spsem02.doc | 23 ++
> testsuites/sptests/spsem02/spsem02.scn | 21 ++
> testsuites/sptests/spsem03/Makefile.am | 19 +
> testsuites/sptests/spsem03/init.c | 155 ++++++++
> testsuites/sptests/spsem03/spsem03.doc | 12 +
> testsuites/sptests/spsem03/spsem03.scn | 2 +
> testsuites/sptests/spsem04/Makefile.am | 19 +
> testsuites/sptests/spsem04/init.c | 149 ++++++++
> testsuites/sptests/spsem04/spsem04.doc | 13 +
> testsuites/sptests/spsem04/spsem04.scn | 2 +
> testsuites/sptests/spsem05/Makefile.am | 19 +
> testsuites/sptests/spsem05/init.c | 165 +++++++++
> testsuites/sptests/spsem05/spsem05.doc | 13 +
> testsuites/sptests/spsem05/spsem05.scn | 2 +
> 58 files changed, 1929 insertions(+), 88 deletions(-)
> create mode 100644 cpukit/score/src/threadprioritynode.c
> create mode 100644 testsuites/sptests/spmutex01/Makefile.am
> create mode 100644 testsuites/sptests/spmutex01/init.c
> create mode 100644 testsuites/sptests/spmutex01/spmutex01.doc
> create mode 100644 testsuites/sptests/spmutex01/spmutex01.scn
> create mode 100644 testsuites/sptests/spsem01/Makefile.am
> create mode 100644 testsuites/sptests/spsem01/init.c
> create mode 100644 testsuites/sptests/spsem01/spsem01.doc
> create mode 100644 testsuites/sptests/spsem01/spsem01.scn
> create mode 100644 testsuites/sptests/spsem02/Makefile.am
> create mode 100644 testsuites/sptests/spsem02/init.c
> create mode 100644 testsuites/sptests/spsem02/spsem02.doc
> create mode 100644 testsuites/sptests/spsem02/spsem02.scn
> create mode 100644 testsuites/sptests/spsem03/Makefile.am
> create mode 100644 testsuites/sptests/spsem03/init.c
> create mode 100644 testsuites/sptests/spsem03/spsem03.doc
> create mode 100644 testsuites/sptests/spsem03/spsem03.scn
> create mode 100644 testsuites/sptests/spsem04/Makefile.am
> create mode 100644 testsuites/sptests/spsem04/init.c
> create mode 100644 testsuites/sptests/spsem04/spsem04.doc
> create mode 100644 testsuites/sptests/spsem04/spsem04.scn
> create mode 100644 testsuites/sptests/spsem05/Makefile.am
> create mode 100644 testsuites/sptests/spsem05/init.c
> create mode 100644 testsuites/sptests/spsem05/spsem05.doc
> create mode 100644 testsuites/sptests/spsem05/spsem05.scn
>
> --
> 2.7.4
>
More information about the devel
mailing list