mirror of
https://gitlab.rtems.org/rtems/rtos/rtems.git
synced 2026-10-06 10:59:48 +08:00
sptests/sp36: Remove obsolete test program
It tests the (never really working) strict order mutex option. Close #3406.
This commit is contained in:
@@ -61,7 +61,6 @@ sp32/Makefile
|
||||
sp33/Makefile
|
||||
sp34/Makefile
|
||||
sp35/Makefile
|
||||
sp36/Makefile
|
||||
sp37/Makefile
|
||||
sp38/Makefile
|
||||
sp39/Makefile
|
||||
|
||||
@@ -1,26 +0,0 @@
|
||||
##
|
||||
## $Id$
|
||||
##
|
||||
|
||||
MANAGERS = all
|
||||
|
||||
rtems_tests_PROGRAMS = sp36
|
||||
sp36_SOURCES = strict_order_mut.c
|
||||
|
||||
dist_rtems_tests_DATA = sp36.scn
|
||||
dist_rtems_tests_DATA += sp36.doc
|
||||
|
||||
include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
|
||||
include $(top_srcdir)/../automake/compile.am
|
||||
include $(top_srcdir)/../automake/leaf.am
|
||||
|
||||
AM_CPPFLAGS += -I$(top_srcdir)/../support/include
|
||||
|
||||
LINK_OBJS = $(sp36_OBJECTS) $(sp36_LDADD)
|
||||
LINK_LIBS = $(sp36_LDLIBS)
|
||||
|
||||
sp36$(EXEEXT): $(sp36_OBJECTS) $(sp36_DEPENDENCIES)
|
||||
@rm -f sp36$(EXEEXT)
|
||||
$(make-exe)
|
||||
|
||||
include $(top_srcdir)/../automake/local.am
|
||||
@@ -1,42 +0,0 @@
|
||||
This is a simple test program to demonstrate strict order mutex.
|
||||
|
||||
1)What's strict order mutex ?
|
||||
|
||||
In rtems,when a task release a priority_inheritance or
|
||||
priority ceiling semaphore,the kernel detect whether
|
||||
this task holds priority_inheritance or priority
|
||||
ceiling semaphore, if not, set the priority of task
|
||||
back to real priority of task.
|
||||
This method is right, but in theory, we would like
|
||||
to reset the priority after releasing the mutex if
|
||||
releasing it in LIFO order.Do it like this can decrease
|
||||
the blocking time of a higher priority task .
|
||||
|
||||
2)How to enable "strict order mutex " ?
|
||||
|
||||
When configuring the rtems , add
|
||||
ENABLE_STRICT_ORDER_MUTEX=1
|
||||
to your configure parameter.
|
||||
|
||||
|
||||
3)About this test program
|
||||
|
||||
T0,T1,S0,S1
|
||||
|
||||
T0,priority 4
|
||||
T1,priority 1
|
||||
|
||||
S0,priority inheritance
|
||||
S1,priority ceiling,priority ceiling 1
|
||||
|
||||
1,T0 obtain S0 then obtain S1, priority of T0 should be improved to 1
|
||||
2,T0 try to release S0, but not in strict order, return error code
|
||||
3,T0 release S1,the priority of T0 back to 4
|
||||
4,T1 try to obtain S0
|
||||
5,T1 should be blocked and the priority of T0 should be improved to 1
|
||||
6,T0 release S0
|
||||
7,T1 obtain S0
|
||||
8,OVER.
|
||||
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user