From 8d8ae2ec4f42a0a315c483b9f28adb2ec217c6d6 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Thu, 27 Apr 2000 14:11:47 +0000 Subject: Removed -- temporary files. --- doc/supplements/i386/timeFORCE386_.t | 1435 ------------------------------- doc/supplements/i960/timeCVME961_.t | 1422 ------------------------------- doc/supplements/m68k/timeMVME136_.t | 1442 ------------------------------- doc/supplements/mips64orion/timeBSP_.t | 1442 ------------------------------- doc/supplements/powerpc/timeDMV177_.t | 1447 ------------------------------- doc/supplements/powerpc/timePSIM_.t | 1431 ------------------------------- doc/supplements/sh/timeBSP_.t | 1442 ------------------------------- doc/supplements/sparc/timeERC32_.t | 1454 -------------------------------- 8 files changed, 11515 deletions(-) delete mode 100644 doc/supplements/i386/timeFORCE386_.t delete mode 100644 doc/supplements/i960/timeCVME961_.t delete mode 100644 doc/supplements/m68k/timeMVME136_.t delete mode 100644 doc/supplements/mips64orion/timeBSP_.t delete mode 100644 doc/supplements/powerpc/timeDMV177_.t delete mode 100644 doc/supplements/powerpc/timePSIM_.t delete mode 100644 doc/supplements/sh/timeBSP_.t delete mode 100644 doc/supplements/sparc/timeERC32_.t (limited to 'doc/supplements') diff --git a/doc/supplements/i386/timeFORCE386_.t b/doc/supplements/i386/timeFORCE386_.t deleted file mode 100644 index de008d23b2..0000000000 --- a/doc/supplements/i386/timeFORCE386_.t +++ /dev/null @@ -1,1435 +0,0 @@ -@c -@c COPYRIGHT (c) 1988-1999. -@c On-Line Applications Research Corporation (OAR). -@c All rights reserved. -@c -@c $Id$ -@c - -@include ../../common/timemac.texi -@tex -\global\advance \smallskipamount by -4pt -@end tex - -@chapter CPU386 Timing Data - -@section Introduction - -The timing data for the i386 version of RTEMS is -provided along with the target dependent aspects concerning the -gathering of the timing data. The hardware platform used to -gather the times is described to give the reader a better -understanding of each directive time provided. Also, provided -is a description of the interrupt latency and the context -switch times as they pertain to the i386 version of RTEMS. - -@section Hardware Platform - -All times reported except for the maximum period -interrupts are disabled by RTEMS were measured using a Force -Computers CPU386 board. The CPU386 is a 16 Mhz board with zero -wait state dynamic memory and an i80387 numeric coprocessor. -One of the count-down timers provided by a Motorola MC68901 was -used to measure elapsed time with one microsecond resolution. -All sources of hardware interrupts are disabled, although the -interrupt level of the i386 allows all interrupts. - -The maximum period interrupts are disabled was -measured by summing the number of CPU cycles required by each -assembly language instruction executed while interrupts were -disabled. Zero wait state memory was assumed. The total CPU -cycles executed with interrupts disabled, including the -instructions to disable and enable interrupts, was divided by 16 -to simulate a i386 executing at 16 Mhz. - -@section Interrupt Latency - -The maximum period with interrupts disabled within -RTEMS is less than 13.0 microseconds -including the instructions -which disable and re-enable interrupts. The time required for -the i386 to generate an interrupt using the int instruction, -vectoring to an interrupt handler, and for the RTEMS entry -overhead before invoking the user's interrupt handler are a -total of 12 microseconds. These combine to yield a worst case -interrupt latency of less -13.0 + 12 -microseconds. [NOTE: The -maximum period with interrupts disabled within RTEMS was last -calculated for Release 3.1.0.] - -It should be noted again that the maximum period with -interrupts disabled within RTEMS is hand-timed. The interrupt -vector and entry overhead time was generated on the Force -Computers CPU386 benchmark platform using the int instruction as -the interrupt source. - -@section Context Switch - -The RTEMS processor context switch time is 34 -microseconds on the Force Computers CPU386 benchmark platform. -This time represents the raw context switch time with no user -extensions configured. Additional execution time is required -when a TASK_SWITCH user extension is configured. The use of the -TASK_SWITCH extension is application dependent. Thus, its -execution time is not considered part of the base context switch -time. - -Since RTEMS was designed specifically for embedded -missile applications which are floating point intensive, the -executive is optimized to avoid unnecessarily saving and -restoring the state of the numeric coprocessor. The state of -the numeric coprocessor is only saved when a FLOATING_POINT task -is dispatched and that task was not the last task to utilize the -coprocessor. In a system with only one FLOATING_POINT task, the -state of the numeric coprocessor will never be saved or -restored. When the first FLOATING_POINT task is dispatched, -RTEMS does not need to save the current state of the numeric -coprocessor. - -The exact amount of time required to save and restore -floating point context is dependent on the state of the numeric -coprocessor. RTEMS places the coprocessor in the initialized -state when a task is started or restarted. Once the task has -utilized the coprocessor, it is in the idle state when floating -point instructions are not executing and the busy state when -floating point instructions are executing. The state of the -coprocessor is task specific. - -The following table summarizes the context switch -times for the Force Computers CPU386 benchmark platform: - -@c ****** This comment is here to remind you not to edit the timetbl.t -@c ****** in any directory but common. -@c -@c Time Table Template -@c -@c COPYRIGHT (c) 1988-1999. -@c On-Line Applications Research Corporation (OAR). -@c All rights reserved. -@c -@c $Id$ -@c - -@ifset use-tex -@sp 1 -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsonecase{No Floating Point Contexts}{34} -\rtemsdirective{Floating Point Contexts} -\rtemscase{restore first FP task}{57} -\rtemscase{save initialized, restore initialized}{59} -\rtemscase{save idle, restore initialized}{59} -\rtemscase{save idle, restore idle}{83} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet -@item No Floating Point Contexts -@itemize - -@item only case: 34 -@end itemize -@item Floating Point Contexts -@itemize - -@item restore first FP task: 57 -@item save initialized, restore initialized: 59 -@item save idle, restore initialized: 59 -@item save idle, restore idle: 59 -@end itemize -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - - - - - - -
No Floating Point Contexts34
Floating Point Contexts
restore first FP task
57
save initialized, restore initialized
59
save idle, restore initialized
59
save idle, restore idle
83
-
-@end html -@end ifset - -@section Directive Times - -This sections is divided into a number of -subsections, each of which contains a table listing the -execution times of that manager's directives. - -@page -@section Task Manager - -@ifset use-tex -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsonecase{TASK\_CREATE}{157} -\rtemsonecase{TASK\_IDENT}{748} -\rtemsonecase{TASK\_START}{86} -\rtemsdirective{TASK\_RESTART} -\rtemscase{calling task}{118} -\rtemscase{suspended task -- returns to caller} - {45} -\rtemscase{blocked task -- returns to caller} - {138} -\rtemscase{ready task -- returns to caller} - {105} -\rtemscase{suspended task -- preempts caller} - {149} -\rtemscase{blocked task -- preempts caller} - {162} -\rtemscase{ready task -- preempts caller} - {156} -\rtemsdirective{TASK\_DELETE} -\rtemscase{calling task}{187} -\rtemscase{suspended task}{147} -\rtemscase{blocked task}{153} -\rtemscase{ready task}{157} -\rtemsdirective{TASK\_SUSPEND} -\rtemscase{calling task}{81} -\rtemscase{returns to caller}{45} -\rtemsdirective{TASK\_RESUME} -\rtemscase{task readied -- returns to caller} - {46} -\rtemscase{task readied -- preempts caller} - {71} -\rtemsdirective{TASK\_SET\_PRIORITY} -\rtemscase{obtain current priority} - {30} -\rtemscase{returns to caller}{67} -\rtemscase{preempts caller}{115} -\rtemsdirective{TASK\_MODE} -\rtemscase{obtain current mode}{19} -\rtemscase{no reschedule}{21} -\rtemscase{reschedule -- returns to caller} - {27} -\rtemscase{reschedule -- preempts caller} - {66} -\rtemsonecase{TASK\_GET\_NOTE}{32} -\rtemsonecase{TASK\_SET\_NOTE}{32} -\rtemsdirective{TASK\_WAKE\_AFTER} -\rtemscase{yield -- returns to caller} - {18} -\rtemscase{yield -- preempts caller} - {63} -\rtemsonecase{TASK\_WAKE\_WHEN}{128} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet - -@item TASK_CREATE -@itemize - -@item only case: 157 -@end itemize - -@item TASK_IDENT -@itemize - -@item only case: 748 -@end itemize - -@item TASK_START -@itemize - -@item only case: 86 -@end itemize - -@item TASK_RESTART -@itemize - -@item calling task: 118 -@item suspended task -- returns to caller: 45 -@item blocked task -- returns to caller: 138 -@item ready task -- returns to caller: 105 -@item suspended task -- preempts caller: 149 -@item blocked task -- preempts caller: 162 -@item ready task -- preempts caller: 156 -@end itemize - -@item TASK_DELETE -@itemize - -@item calling task: 187 -@item suspended task: 147 -@item blocked task: 153 -@item ready task: 157 -@end itemize - -@item TASK_SUSPEND -@itemize - -@item calling task: 81 -@item returns to caller: 45 -@end itemize - -@item TASK_RESUME -@itemize - -@item task readied -- returns to caller: 46 -@item task readied -- preempts caller: 71 -@end itemize - -@item TASK_SET_PRIORITY -@itemize - -@item obtain current priority: 30 -@item returns to caller: 67 -@item preempts caller: 115 -@end itemize - -@item TASK_MODE -@itemize - -@item obtain current mode: 19 -@item no reschedule: 21 -@item reschedule -- returns to caller: 27 -@item reschedule -- preempts caller: 66 -@end itemize - -@item TASK_GET_NOTE -@itemize - -@item only case: 32 -@end itemize - -@item TASK_SET_NOTE -@itemize - -@item only case: 32 -@end itemize - -@item TASK_WAKE_AFTER -@itemize - -@item yield -- returns to caller: 18 -@item yield -- preempts caller: 63 -@end itemize - -@item TASK_WAKE_WHEN -@itemize - -@item only case: 128 -@end itemize - -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
TASK_CREATE157
TASK_IDENT748
TASK_START86
TASK_RESTART
calling task
118
suspended task -- returns to caller
45
blocked task -- returns to caller
138
ready task -- returns to caller
105
suspended task -- preempts caller
149
blocked task -- preempts caller
162
ready task -- preempts caller
156
TASK_DELETE
calling task
187
suspended task
147
blocked task
153
ready task
157
TASK_SUSPEND
calling task
81
returns to caller
45
TASK_RESUME
task readied -- returns to caller
46
task readied -- preempts caller
71
TASK_SET_PRIORITY
obtain current priority
30
returns to caller
67
preempts caller
115
TASK_MODE
obtain current mode
19
no reschedule
21
reschedule -- returns to caller
27
reschedule -- preempts caller
66
TASK_GET_NOTE32
TASK_SET_NOTE32
TASK_WAKE_AFTER
yield -- returns to caller
18
yield -- preempts caller
63
TASK_WAKE_WHEN128
-
-@end html -@end ifset - -@page -@section Interrupt Manager - -It should be noted that the interrupt entry times -include vectoring the interrupt handler. - -@ifset use-tex -@sp 1 -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsdirective{Interrupt Entry Overhead} -\rtemscase{returns to nested interrupt}{12} -\rtemscase{returns to interrupted task} - {13} -\rtemscase{returns to preempting task} - {12} -\rtemsdirective{Interrupt Exit Overhead} -\rtemscase{returns to nested interrupt}{10} -\rtemscase{returns to interrupted task} - {13} -\rtemscase{returns to preempting task} - {58} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet - -@item Interrupt Entry Overhead -@itemize - -@item returns to nested interrupt: 12 -@item returns to interrupted task: 13 -@item returns to preempting task: 12 -@end itemize - -@item Interrupt Exit Overhead -@itemize - -@item returns to nested interrupt: 10 -@item returns to interrupted task: 13 -@item returns to preempting task: 58 -@end itemize - -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - - - - - - - - - -
Interrupt Entry Overhead
returns to nested interrupt
12
returns to interrupted task
13
returns to preempting task
12
Interrupt Exit Overhead
returns to nested interrupt
10
returns to interrupted task
13
returns to preempting task
58
-
-@end html -@end ifset - - -@section Clock Manager - -@ifset use-tex -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsonecase{CLOCK\_SET}{85} -\rtemsonecase{CLOCK\_GET}{2} -\rtemsonecase{CLOCK\_TICK}{16} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet - -@item CLOCK_SET -@itemize - -@item only case: 85 -@end itemize - -@item CLOCK_GET -@itemize - -@item only case: 2 -@end itemize - -@item CLOCK_TICK -@itemize - -@item only case: 16 -@end itemize - -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - -
CLOCK_SET85
CLOCK_GET2
CLOCK_TICK16
-
-@end html -@end ifset - -@section Timer Manager - -@ifset use-tex -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsonecase{TIMER\_CREATE}{34} -\rtemsonecase{TIMER\_IDENT}{729} -\rtemsdirective{TIMER\_DELETE} -\rtemscase{inactive}{48} -\rtemscase{active}{52} -\rtemsdirective{TIMER\_FIRE\_AFTER} -\rtemscase{inactive}{65} -\rtemscase{active}{69} -\rtemsdirective{TIMER\_FIRE\_WHEN} -\rtemscase{inactive}{92} -\rtemscase{active}{92} -\rtemsdirective{TIMER\_RESET} -\rtemscase{inactive}{58} -\rtemscase{active}{63} -\rtemsdirective{TIMER\_CANCEL} -\rtemscase{inactive}{32} -\rtemscase{active}{37} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet - -@item TIMER_CREATE -@itemize - -@item only case: 34 -@end itemize - -@item TIMER_IDENT -@itemize - -@item only case: 729 -@end itemize - -@item TIMER_DELETE -@itemize - -@item inactive: 48 -@item active: 52 -@end itemize - -@item TIMER_FIRE_AFTER -@itemize - -@item inactive: 65 -@item active: 69 -@end itemize - -@item TIMER_FIRE_WHEN -@itemize - -@item inactive: TIMER_FIRE_WHEN_INACTIVE -@item active: TIMER_FIRE_WHEN_ACTIVE -@end itemize - -@item TIMER_RESET -@itemize - -@item inactive: TIMER_RESET_INACTIVE -@item active: TIMER_RESET_ACTIVE -@end itemize - -@item TIMER_CANCEL -@itemize - -@item inactive: TIMER_CANCEL_INACTIVE -@item active: TIMER_CANCEL_ACTIVE -@end itemize - -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
TIMER_CREATE34
TIMER_IDENT729
TIMER_DELETE
inactive
48
active
52
TIMER_FIRE_AFTER
inactive
65
active
69
TIMER_FIRE_WHEN
inactive
92
active
92
TIMER_RESET
inactive
58
active
63
TIMER_CANCEL
inactive
32
active
37
-
-@end html -@end ifset - -@page -@section Semaphore Manager - -@ifset use-tex -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsonecase{SEMAPHORE\_CREATE}{64} -\rtemsonecase{SEMAPHORE\_IDENT}{787} -\rtemsonecase{SEMAPHORE\_DELETE}{60} -\rtemsdirective{SEMAPHORE\_OBTAIN} -\rtemscase{available}{41} -\rtemscase{not available -- NO\_WAIT} - {40} -\rtemscase{not available -- caller blocks} - {123} -\rtemsdirective{SEMAPHORE\_RELEASE} -\rtemscase{no waiting tasks}{47} -\rtemscase{task readied -- returns to caller} - {70} -\rtemscase{task readied -- preempts caller} - {95} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet - -@item SEMAPHORE_CREATE -@itemize - -@item only case: 64 -@end itemize - -@item SEMAPHORE_IDENT -@itemize - -@item only case: 787 -@end itemize - -@item SEMAPHORE_DELETE -@itemize - -@item only case: 60 -@end itemize - -@item SEMAPHORE_OBTAIN -@itemize - -@item available: 41 -@item not available -- NO_WAIT: 40 -@item not available -- caller blocks: 123 -@end itemize - -@item SEMAPHORE_RELEASE -@itemize - -@item no waiting tasks: 47 -@item task readied -- returns to caller: 70 -@item task readied -- preempts caller: 95 -@end itemize - -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - - - - - - - - - - - - - - - -
SEMAPHORE_CREATE64
SEMAPHORE_IDENT787
SEMAPHORE_DELETE60
SEMAPHORE_OBTAIN
available
41
not available -- NO_WAIT
40
not available -- caller blocks
123
SEMAPHORE_RELEASE
no waiting tasks
47
task readied -- returns to caller
70
task readied -- preempts caller
95
-
-@end html -@end ifset - -@section Message Manager - -@ifset use-tex -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsonecase{MESSAGE\_QUEUE\_CREATE}{294} -\rtemsonecase{MESSAGE\_QUEUE\_IDENT}{730} -\rtemsonecase{MESSAGE\_QUEUE\_DELETE}{81} -\rtemsdirective{MESSAGE\_QUEUE\_SEND} -\rtemscase{no waiting tasks} - {117} -\rtemscase{task readied -- returns to caller} - {118} -\rtemscase{task readied -- preempts caller} - {144} -\rtemsdirective{MESSAGE\_QUEUE\_URGENT} -\rtemscase{no waiting tasks}{117} -\rtemscase{task readied -- returns to caller} - {116} -\rtemscase{task readied -- preempts caller} - {144} -\rtemsdirective{MESSAGE\_QUEUE\_BROADCAST} -\rtemscase{no waiting tasks}{53} -\rtemscase{task readied -- returns to caller} - {122} -\rtemscase{task readied -- preempts caller} - {146} -\rtemsdirective{MESSAGE\_QUEUE\_RECEIVE} -\rtemscase{available}{93} -\rtemscase{not available -- NO\_WAIT} - {45} -\rtemscase{not available -- caller blocks} - {127} -\rtemsdirective{MESSAGE\_QUEUE\_FLUSH} -\rtemscase{no messages flushed}{29} -\rtemscase{messages flushed}{41} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet - -@item MESSAGE_QUEUE_CREATE -@itemize - -@item only case: 294 -@end itemize - -@item MESSAGE_QUEUE_IDENT -@itemize - -@item only case: 730 -@end itemize - -@item MESSAGE_QUEUE_DELETE -@itemize - -@item only case: 81 -@end itemize - -@item MESSAGE_QUEUE_SEND -@itemize - -@item no waiting tasks: 117 -@item task readied -- returns to caller: 118 -@item task readied -- preempts caller: 144 -@end itemize - -@item MESSAGE_QUEUE_URGENT -@itemize - -@item no waiting tasks: 117 -@item task readied -- returns to caller: 116 -@item task readied -- preempts caller: 144 -@end itemize - -@item MESSAGE_QUEUE_BROADCAST -@itemize - -@item no waiting tasks: 53 -@item task readied -- returns to caller: 122 -@item task readied -- preempts caller: 146 -@end itemize - -@item MESSAGE_QUEUE_RECEIVE -@itemize - -@item available: 93 -@item not available -- NO_WAIT: 45 -@item not available -- caller blocks: 127 -@end itemize - -@item MESSAGE_QUEUE_FLUSH -@itemize - -@item no messages flushed: 29 -@item messages flushed: 41 -@end itemize - -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
MESSAGE_QUEUE_CREATE294
MESSAGE_QUEUE_IDENT730
MESSAGE_QUEUE_DELETE81
MESSAGE_QUEUE_SEND
no waiting tasks
117
task readied -- returns to caller
118
task readied -- preempts caller
144
MESSAGE_QUEUE_URGENT
no waiting tasks
117
task readied -- returns to caller
116
task readied -- preempts caller
144
MESSAGE_QUEUE_BROADCAST
no waiting tasks
53
task readied -- returns to caller
122
task readied -- preempts caller
146
MESSAGE_QUEUE_RECEIVE
available
93
not available -- NO_WAIT
45
not available -- caller blocks
127
MESSAGE_QUEUE_FLUSH
no messages flushed
29
messages flushed
41
-
-@end html -@end ifset - -@page -@section Event Manager - -@ifset use-tex -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsdirective{EVENT\_SEND} -\rtemscase{no task readied}{26} -\rtemscase{task readied -- returns to caller} - {60} -\rtemscase{task readied -- preempts caller} - {89} -\rtemsdirective{EVENT\_RECEIVE} -\rtemscase{obtain current events}{<1} -\rtemscase{available}{27} -\rtemscase{not available -- NO\_WAIT}{25} -\rtemscase{not available -- caller blocks} - {94} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet - -@item EVENT_SEND -@itemize - -@item no task readied: 26 -@item task readied -- returns to caller: 60 -@item task readied -- preempts caller: 89 -@end itemize - -@item EVENT_RECEIVE -@itemize - -@item obtain current events: <1 -@item available: 27 -@item not available -- NO_WAIT: 25 -@item not available -- caller blocks: 94 -@end itemize - -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - - - - - - - - - - - - -
EVENT_SEND
no task readied
26
task readied -- returns to caller
60
task readied -- preempts caller
89
EVENT_RECEIVE
obtain current events
<1
available
27
not available -- NO_WAIT
25
not available -- caller blocks
94
-
-@end html -@end ifset -@section Signal Manager - -@ifset use-tex -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsonecase{SIGNAL\_CATCH}{13} -\rtemsdirective{SIGNAL\_SEND} -\rtemscase{returns to caller}{34} -\rtemscase{signal to self}{59} -\rtemsdirective{EXIT ASR OVERHEAD} -\rtemscase{returns to calling task} - {39} -\rtemscase{returns to preempting task} - {60} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet -@item SIGNAL_CATCH -@itemize - -@item only case: 13 -@end itemize - -@item SIGNAL_SEND -@itemize - -@item returns to caller: 34 -@item signal to self: 59 -@end itemize - -@item EXIT ASR OVERHEAD -@itemize - -@item returns to calling task: 39 -@item returns to preempting task: 60 -@end itemize - -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - - - - - - - -
SIGNAL_CATCH13
SIGNAL_SEND
returns to caller
34
signal to self
59
EXIT ASR OVERHEAD
returns to calling task
- 39
returns to preempting task
- 60
-
-@end html -@end ifset - -@section Partition Manager - -@ifset use-tex -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsonecase{PARTITION\_CREATE}{83} -\rtemsonecase{PARTITION\_IDENT}{730} -\rtemsonecase{PARTITION\_DELETE}{40} -\rtemsdirective{PARTITION\_GET\_BUFFER} -\rtemscase{available}{34} -\rtemscase{not available}{33} -\rtemsonecase{PARTITION\_RETURN\_BUFFER} - {33} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet - -@item PARTITION_CREATE -@itemize - -@item only case: 83 -@end itemize - -@item PARTITION_IDENT -@itemize - -@item only case: 730 -@end itemize - -@item PARTITION_DELETE -@itemize - -@item only case: 40 -@end itemize - -@item PARTITION_GET_BUFFER -@itemize - -@item available: 34 -@item not available: 33 -@end itemize - -@item PARTITION_RETURN_BUFFER -@itemize - -@item only case: 40 -@end itemize - -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - - - - - - - - -
PARTITION_CREATE83
PARTITION_IDENT730
PARTITION_DELETE40
PARTITION_GET_BUFFER
available
34
not available
33
PARTITION_RETURN_BUFFER33
-
-@end html -@end ifset - -@page -@section Region Manager - -@ifset use-tex -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsonecase{REGION\_CREATE}{68} -\rtemsonecase{REGION\_IDENT}{739} -\rtemsonecase{REGION\_DELETE}{39} -\rtemsdirective{REGION\_GET\_SEGMENT} -\rtemscase{available}{49} -\rtemscase{not available -- NO\_WAIT} - {45} -\rtemscase{not available -- caller blocks} - {127} -\rtemsdirective{REGION\_RETURN\_SEGMENT} -\rtemscase{no waiting tasks}{52} -\rtemscase{task readied -- returns to caller} - {113} -\rtemscase{task readied -- preempts caller} - {138} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet - -@item REGION_CREATE -@itemize - -@item only case: 68 -@end itemize - -@item REGION_IDENT -@itemize - -@item only case: 739 -@end itemize - -@item REGION_DELETE -@itemize - -@item only case: 39 -@end itemize - -@item REGION_GET_SEGMENT -@itemize - -@item available: 49 -@item not available -- NO_WAIT: 45 -@item not available -- caller blocks: 127 -@end itemize - -@item REGION_RETURN_SEGMENT -@itemize - -@item no waiting tasks: 52 -@item task readied -- returns to caller: 113 -@item task readied -- preempts caller: 138 -@end itemize - -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - - - - - - - - - - - - - - - -
REGION_CREATE68
REGION_IDENT739
REGION_DELETE39
REGION_GET_SEGMENT
available
49
not available -- NO_WAIT
- 45
not available -- caller blocks
- 127
REGION_RETURN_SEGMENT
no waiting tasks
52
task readied -- returns to caller
- 113
task readied -- preempts caller
- 138
-
-@end html -@end ifset - -@section Dual-Ported Memory Manager - -@ifset use-tex -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsonecase{PORT\_CREATE}{39} -\rtemsonecase{PORT\_IDENT}{728} -\rtemsonecase{PORT\_DELETE}{39} -\rtemsonecase{PORT\_INTERNAL\_TO\_EXTERNAL} - {26} -\rtemsonecase{PORT\_EXTERNAL\_TO\_INTERNAL} - {26} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet - -@item PORT_CREATE -@itemize - -@item only case: 39 -@end itemize - -@item PORT_IDENT -@itemize - -@item only case: 728 -@end itemize - -@item PORT_DELETE -@itemize - -@item only case: 39 -@end itemize - -@item PORT_INTERNAL_TO_EXTERNAL -@itemize - -@item only case: 26 -@end itemize - -@item PORT_EXTERNAL_TO_INTERNAL -@itemize - -@item only case: 26 -@end itemize - -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - - - - - - -
PORT_CREATE39
PORT_IDENT728
PORT_DELETE39
PORT_INTERNAL_TO_EXTERNAL26
PORT_EXTERNAL_TO_INTERNAL26
-
-@end html -@end ifset - -@section I/O Manager - -@ifset use-tex -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsonecase{IO\_INITIALIZE}{4} -\rtemsonecase{IO\_OPEN}{1} -\rtemsonecase{IO\_CLOSE}{1} -\rtemsonecase{IO\_READ}{<1} -\rtemsonecase{IO\_WRITE}{1} -\rtemsonecase{IO\_CONTROL}{1} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet - -@item IO_INITIALIZE -@itemize - -@item only case: 4 -@end itemize - -@item IO_OPEN -@itemize - -@item only case: 1 -@end itemize - -@item IO_CLOSE -@itemize - -@item only case: 1 -@end itemize - -@item IO_READ -@itemize - -@item only case: <1 -@end itemize - -@item IO_WRITE -@itemize - -@item only case: 1 -@end itemize - -@item IO_CONTROL -@itemize - -@item only case: 1 -@end itemize - -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - - - - - - - -
IO_INITIALIZE4
IO_OPEN1
IO_CLOSE1
IO_READ<1
IO_WRITE1
IO_CONTROL1
-
-@end html -@end ifset - -@section Rate Monotonic Manager - -@ifset use-tex -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsonecase{RATE\_MONOTONIC\_CREATE}{36} -\rtemsonecase{RATE\_MONOTONIC\_IDENT}{725} -\rtemsonecase{RATE\_MONOTONIC\_CANCEL}{39} -\rtemsdirective{RATE\_MONOTONIC\_DELETE} -\rtemscase{active}{53} -\rtemscase{inactive}{49} -\rtemsdirective{RATE\_MONOTONIC\_PERIOD} -\rtemscase{initiate period -- returns to caller} - {53} -\rtemscase{conclude period -- caller blocks} - {82} -\rtemscase{obtain status}{30} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet - -@item RATE_MONOTONIC_CREATE -@itemize - -@item only case: 36 -@end itemize - -@item RATE_MONOTONIC_IDENT -@itemize - -@item only case: 725 -@end itemize - -@item RATE_MONOTONIC_CANCEL -@itemize - -@item only case: 39 -@end itemize - -@item RATE_MONOTONIC_DELETE -@itemize - -@item active: 53 -@item inactive: 49 -@end itemize - -@item RATE_MONOTONIC_PERIOD -@itemize - -@item initiate period -- returns to caller: 53 -@item conclude period -- caller blocks: 82 -@item obtain status: 30 -@end itemize - -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - - - - - - - - - - - - - -
RATE_MONOTONIC_CREATE36
RATE_MONOTONIC_IDENT725
RATE_MONOTONIC_CANCEL39
RATE_MONOTONIC_DELETE
active
53
inactive
49
RATE_MONOTONIC_PERIOD
initiate period -- returns to caller
- 53
conclude period -- caller blocks
- 82
obtain status
30
-
-@end html -@end ifset - -@tex -\global\advance \smallskipamount by 4pt -@end tex - -@tex -\global\advance \smallskipamount by 4pt -@end tex diff --git a/doc/supplements/i960/timeCVME961_.t b/doc/supplements/i960/timeCVME961_.t deleted file mode 100644 index 22c0dafe7a..0000000000 --- a/doc/supplements/i960/timeCVME961_.t +++ /dev/null @@ -1,1422 +0,0 @@ -@c -@c COPYRIGHT (c) 1988-1999. -@c On-Line Applications Research Corporation (OAR). -@c All rights reserved. -@c -@c $Id$ -@c - -@include ../../common/timemac.texi -@tex -\global\advance \smallskipamount by -4pt -@end tex - -@chapter CVME961 Timing Data - -NOTE: The CVME961 board used by the RTEMS Project to -obtain i960CA times is currently broken. The information in -this chapter was obtained using Release 3.2.1. - -@section Introduction - -The timing data for the i960CA version of RTEMS is -provided along with the target dependent aspects concerning the -gathering of the timing data. The hardware platform used to -gather the times is described to give the reader a better -understanding of each directive time provided. Also, provided -is a description of the interrupt latency and the context -switch times as they pertain to the i960CA version of RTEMS. - -@section Hardware Platform - -All times reported except for the maximum period -interrupts are disabled by RTEMS were measured using a Cyclone -Microsystems CVME961 board. The CVME961 is a 33 Mhz board with -dynamic RAM which has two wait state dynamic memory (four CPU -cycles) for read accesses and one wait state (two CPU cycles) -for write accesses. The Z8536 on a SQUALL SQSIO4 mezzanine -board was used to measure elapsed time with one-half microsecond -resolution. All sources of hardware interrupts are disabled, -although the interrupt level of the i960CA allows all interrupts. - -The maximum interrupt disable period was measured by -summing the number of CPU cycles required by each assembly -language instruction executed while interrupts were disabled. -Zero wait state memory was assumed. The total CPU cycles -executed with interrupts disabled, including the instructions to -disable and enable interrupts, was divided by 33 to simulate a -i960CA executing at 33 Mhz with zero wait states. - -@section Interrupt Latency - -The maximum period with interrupts disabled within -RTEMS is less than -2.5 microseconds including the instructions -which disable and re-enable interrupts. The time required for -the i960CA to generate an interrupt using the sysctl -instruction, vectoring to an interrupt handler, and for the -RTEMS entry overhead before invoking the user's interrupt -handler are a total of 37 -microseconds. These combine to yield -a worst case interrupt latency of less than -2.5 + 37 -microseconds. [NOTE: The maximum period with interrupts -disabled within RTEMS was last calculated for Release -3.2.1.] - -It should be noted again that the maximum period with -interrupts disabled within RTEMS is hand-timed. The interrupt -vector and entry overhead time was generated on the Cyclone -CVME961 benchmark platform using the sysctl instruction as the -interrupt source. - -@section Context Switch - -The RTEMS processor context switch time is 1 -microseconds on the Cyclone CVME961 benchmark platform. This -time represents the raw context switch time with no user -extensions configured. Additional execution time is required -when a TSWITCH user extension is configured. The use of the -TSWITCH extension is application dependent. Thus, its execution -time is not considered part of the base context switch time. - -The CVME961 has no hardware floating point capability -and floating point tasks are not supported. - -The following table summarizes the context switch -times for the CVME961 benchmark platform: - -@c ****** This comment is here to remind you not to edit the timetbl.t -@c ****** in any directory but common. -@c -@c Time Table Template -@c -@c COPYRIGHT (c) 1988-1999. -@c On-Line Applications Research Corporation (OAR). -@c All rights reserved. -@c -@c $Id$ -@c - -@ifset use-tex -@sp 1 -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsonecase{No Floating Point Contexts}{1} -\rtemsdirective{Floating Point Contexts} -\rtemscase{restore first FP task}{2} -\rtemscase{save initialized, restore initialized}{3} -\rtemscase{save idle, restore initialized}{4} -\rtemscase{save idle, restore idle}{5} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet -@item No Floating Point Contexts -@itemize - -@item only case: 1 -@end itemize -@item Floating Point Contexts -@itemize - -@item restore first FP task: 2 -@item save initialized, restore initialized: 3 -@item save idle, restore initialized: 4 -@item save idle, restore idle: 4 -@end itemize -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - - - - - - -
No Floating Point Contexts1
Floating Point Contexts
restore first FP task
2
save initialized, restore initialized
3
save idle, restore initialized
4
save idle, restore idle
5
-
-@end html -@end ifset - -@section Directive Times - -This sections is divided into a number of -subsections, each of which contains a table listing the -execution times of that manager's directives. - -@page -@section Task Manager - -@ifset use-tex -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsonecase{TASK\_CREATE}{6} -\rtemsonecase{TASK\_IDENT}{7} -\rtemsonecase{TASK\_START}{8} -\rtemsdirective{TASK\_RESTART} -\rtemscase{calling task}{9} -\rtemscase{suspended task -- returns to caller} - {9} -\rtemscase{blocked task -- returns to caller} - {10} -\rtemscase{ready task -- returns to caller} - {11} -\rtemscase{suspended task -- preempts caller} - {12} -\rtemscase{blocked task -- preempts caller} - {13} -\rtemscase{ready task -- preempts caller} - {14} -\rtemsdirective{TASK\_DELETE} -\rtemscase{calling task}{15} -\rtemscase{suspended task}{16} -\rtemscase{blocked task}{17} -\rtemscase{ready task}{18} -\rtemsdirective{TASK\_SUSPEND} -\rtemscase{calling task}{19} -\rtemscase{returns to caller}{20} -\rtemsdirective{TASK\_RESUME} -\rtemscase{task readied -- returns to caller} - {21} -\rtemscase{task readied -- preempts caller} - {22} -\rtemsdirective{TASK\_SET\_PRIORITY} -\rtemscase{obtain current priority} - {23} -\rtemscase{returns to caller}{24} -\rtemscase{preempts caller}{25} -\rtemsdirective{TASK\_MODE} -\rtemscase{obtain current mode}{26} -\rtemscase{no reschedule}{27} -\rtemscase{reschedule -- returns to caller} - {28} -\rtemscase{reschedule -- preempts caller} - {29} -\rtemsonecase{TASK\_GET\_NOTE}{30} -\rtemsonecase{TASK\_SET\_NOTE}{31} -\rtemsdirective{TASK\_WAKE\_AFTER} -\rtemscase{yield -- returns to caller} - {32} -\rtemscase{yield -- preempts caller} - {33} -\rtemsonecase{TASK\_WAKE\_WHEN}{34} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet - -@item TASK_CREATE -@itemize - -@item only case: 6 -@end itemize - -@item TASK_IDENT -@itemize - -@item only case: 7 -@end itemize - -@item TASK_START -@itemize - -@item only case: 8 -@end itemize - -@item TASK_RESTART -@itemize - -@item calling task: 9 -@item suspended task -- returns to caller: 9 -@item blocked task -- returns to caller: 10 -@item ready task -- returns to caller: 11 -@item suspended task -- preempts caller: 12 -@item blocked task -- preempts caller: 13 -@item ready task -- preempts caller: 14 -@end itemize - -@item TASK_DELETE -@itemize - -@item calling task: 15 -@item suspended task: 16 -@item blocked task: 17 -@item ready task: 18 -@end itemize - -@item TASK_SUSPEND -@itemize - -@item calling task: 19 -@item returns to caller: 20 -@end itemize - -@item TASK_RESUME -@itemize - -@item task readied -- returns to caller: 21 -@item task readied -- preempts caller: 22 -@end itemize - -@item TASK_SET_PRIORITY -@itemize - -@item obtain current priority: 23 -@item returns to caller: 24 -@item preempts caller: 25 -@end itemize - -@item TASK_MODE -@itemize - -@item obtain current mode: 26 -@item no reschedule: 27 -@item reschedule -- returns to caller: 28 -@item reschedule -- preempts caller: 29 -@end itemize - -@item TASK_GET_NOTE -@itemize - -@item only case: 30 -@end itemize - -@item TASK_SET_NOTE -@itemize - -@item only case: 31 -@end itemize - -@item TASK_WAKE_AFTER -@itemize - -@item yield -- returns to caller: 32 -@item yield -- preempts caller: 33 -@end itemize - -@item TASK_WAKE_WHEN -@itemize - -@item only case: 34 -@end itemize - -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
TASK_CREATE6
TASK_IDENT7
TASK_START8
TASK_RESTART
calling task
9
suspended task -- returns to caller
9
blocked task -- returns to caller
10
ready task -- returns to caller
11
suspended task -- preempts caller
12
blocked task -- preempts caller
13
ready task -- preempts caller
14
TASK_DELETE
calling task
15
suspended task
16
blocked task
17
ready task
18
TASK_SUSPEND
calling task
19
returns to caller
20
TASK_RESUME
task readied -- returns to caller
21
task readied -- preempts caller
22
TASK_SET_PRIORITY
obtain current priority
23
returns to caller
24
preempts caller
25
TASK_MODE
obtain current mode
26
no reschedule
27
reschedule -- returns to caller
28
reschedule -- preempts caller
29
TASK_GET_NOTE30
TASK_SET_NOTE31
TASK_WAKE_AFTER
yield -- returns to caller
32
yield -- preempts caller
33
TASK_WAKE_WHEN34
-
-@end html -@end ifset - -@page -@section Interrupt Manager - -It should be noted that the interrupt entry times -include vectoring the interrupt handler. - -@ifset use-tex -@sp 1 -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsdirective{Interrupt Entry Overhead} -\rtemscase{returns to nested interrupt}{35} -\rtemscase{returns to interrupted task} - {36} -\rtemscase{returns to preempting task} - {37} -\rtemsdirective{Interrupt Exit Overhead} -\rtemscase{returns to nested interrupt}{38} -\rtemscase{returns to interrupted task} - {39} -\rtemscase{returns to preempting task} - {40} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet - -@item Interrupt Entry Overhead -@itemize - -@item returns to nested interrupt: 35 -@item returns to interrupted task: 36 -@item returns to preempting task: 37 -@end itemize - -@item Interrupt Exit Overhead -@itemize - -@item returns to nested interrupt: 38 -@item returns to interrupted task: 39 -@item returns to preempting task: 40 -@end itemize - -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - - - - - - - - - -
Interrupt Entry Overhead
returns to nested interrupt
35
returns to interrupted task
36
returns to preempting task
37
Interrupt Exit Overhead
returns to nested interrupt
38
returns to interrupted task
39
returns to preempting task
40
-
-@end html -@end ifset - - -@section Clock Manager - -@ifset use-tex -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsonecase{CLOCK\_SET}{41} -\rtemsonecase{CLOCK\_GET}{42} -\rtemsonecase{CLOCK\_TICK}{43} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet - -@item CLOCK_SET -@itemize - -@item only case: 41 -@end itemize - -@item CLOCK_GET -@itemize - -@item only case: 42 -@end itemize - -@item CLOCK_TICK -@itemize - -@item only case: 43 -@end itemize - -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - -
CLOCK_SET41
CLOCK_GET42
CLOCK_TICK43
-
-@end html -@end ifset - -@section Timer Manager - -@ifset use-tex -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsonecase{TIMER\_CREATE}{44} -\rtemsonecase{TIMER\_IDENT}{45} -\rtemsdirective{TIMER\_DELETE} -\rtemscase{inactive}{46} -\rtemscase{active}{47} -\rtemsdirective{TIMER\_FIRE\_AFTER} -\rtemscase{inactive}{48} -\rtemscase{active}{49} -\rtemsdirective{TIMER\_FIRE\_WHEN} -\rtemscase{inactive}{50} -\rtemscase{active}{51} -\rtemsdirective{TIMER\_RESET} -\rtemscase{inactive}{52} -\rtemscase{active}{53} -\rtemsdirective{TIMER\_CANCEL} -\rtemscase{inactive}{54} -\rtemscase{active}{55} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet - -@item TIMER_CREATE -@itemize - -@item only case: 44 -@end itemize - -@item TIMER_IDENT -@itemize - -@item only case: 45 -@end itemize - -@item TIMER_DELETE -@itemize - -@item inactive: 46 -@item active: 47 -@end itemize - -@item TIMER_FIRE_AFTER -@itemize - -@item inactive: 48 -@item active: 49 -@end itemize - -@item TIMER_FIRE_WHEN -@itemize - -@item inactive: TIMER_FIRE_WHEN_INACTIVE -@item active: TIMER_FIRE_WHEN_ACTIVE -@end itemize - -@item TIMER_RESET -@itemize - -@item inactive: TIMER_RESET_INACTIVE -@item active: TIMER_RESET_ACTIVE -@end itemize - -@item TIMER_CANCEL -@itemize - -@item inactive: TIMER_CANCEL_INACTIVE -@item active: TIMER_CANCEL_ACTIVE -@end itemize - -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
TIMER_CREATE44
TIMER_IDENT45
TIMER_DELETE
inactive
46
active
47
TIMER_FIRE_AFTER
inactive
48
active
49
TIMER_FIRE_WHEN
inactive
50
active
51
TIMER_RESET
inactive
52
active
53
TIMER_CANCEL
inactive
54
active
55
-
-@end html -@end ifset - -@page -@section Semaphore Manager - -@ifset use-tex -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsonecase{SEMAPHORE\_CREATE}{56} -\rtemsonecase{SEMAPHORE\_IDENT}{57} -\rtemsonecase{SEMAPHORE\_DELETE}{58} -\rtemsdirective{SEMAPHORE\_OBTAIN} -\rtemscase{available}{59} -\rtemscase{not available -- NO\_WAIT} - {60} -\rtemscase{not available -- caller blocks} - {61} -\rtemsdirective{SEMAPHORE\_RELEASE} -\rtemscase{no waiting tasks}{62} -\rtemscase{task readied -- returns to caller} - {63} -\rtemscase{task readied -- preempts caller} - {64} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet - -@item SEMAPHORE_CREATE -@itemize - -@item only case: 56 -@end itemize - -@item SEMAPHORE_IDENT -@itemize - -@item only case: 57 -@end itemize - -@item SEMAPHORE_DELETE -@itemize - -@item only case: 58 -@end itemize - -@item SEMAPHORE_OBTAIN -@itemize - -@item available: 59 -@item not available -- NO_WAIT: 60 -@item not available -- caller blocks: 61 -@end itemize - -@item SEMAPHORE_RELEASE -@itemize - -@item no waiting tasks: 62 -@item task readied -- returns to caller: 63 -@item task readied -- preempts caller: 64 -@end itemize - -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - - - - - - - - - - - - - - - -
SEMAPHORE_CREATE56
SEMAPHORE_IDENT57
SEMAPHORE_DELETE58
SEMAPHORE_OBTAIN
available
59
not available -- NO_WAIT
60
not available -- caller blocks
61
SEMAPHORE_RELEASE
no waiting tasks
62
task readied -- returns to caller
63
task readied -- preempts caller
64
-
-@end html -@end ifset - -@section Message Manager - -@ifset use-tex -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsonecase{MESSAGE\_QUEUE\_CREATE}{65} -\rtemsonecase{MESSAGE\_QUEUE\_IDENT}{66} -\rtemsonecase{MESSAGE\_QUEUE\_DELETE}{67} -\rtemsdirective{MESSAGE\_QUEUE\_SEND} -\rtemscase{no waiting tasks} - {68} -\rtemscase{task readied -- returns to caller} - {69} -\rtemscase{task readied -- preempts caller} - {70} -\rtemsdirective{MESSAGE\_QUEUE\_URGENT} -\rtemscase{no waiting tasks}{71} -\rtemscase{task readied -- returns to caller} - {72} -\rtemscase{task readied -- preempts caller} - {73} -\rtemsdirective{MESSAGE\_QUEUE\_BROADCAST} -\rtemscase{no waiting tasks}{74} -\rtemscase{task readied -- returns to caller} - {75} -\rtemscase{task readied -- preempts caller} - {76} -\rtemsdirective{MESSAGE\_QUEUE\_RECEIVE} -\rtemscase{available}{77} -\rtemscase{not available -- NO\_WAIT} - {78} -\rtemscase{not available -- caller blocks} - {79} -\rtemsdirective{MESSAGE\_QUEUE\_FLUSH} -\rtemscase{no messages flushed}{80} -\rtemscase{messages flushed}{81} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet - -@item MESSAGE_QUEUE_CREATE -@itemize - -@item only case: 65 -@end itemize - -@item MESSAGE_QUEUE_IDENT -@itemize - -@item only case: 66 -@end itemize - -@item MESSAGE_QUEUE_DELETE -@itemize - -@item only case: 67 -@end itemize - -@item MESSAGE_QUEUE_SEND -@itemize - -@item no waiting tasks: 68 -@item task readied -- returns to caller: 69 -@item task readied -- preempts caller: 70 -@end itemize - -@item MESSAGE_QUEUE_URGENT -@itemize - -@item no waiting tasks: 71 -@item task readied -- returns to caller: 72 -@item task readied -- preempts caller: 73 -@end itemize - -@item MESSAGE_QUEUE_BROADCAST -@itemize - -@item no waiting tasks: 74 -@item task readied -- returns to caller: 75 -@item task readied -- preempts caller: 76 -@end itemize - -@item MESSAGE_QUEUE_RECEIVE -@itemize - -@item available: 77 -@item not available -- NO_WAIT: 78 -@item not available -- caller blocks: 79 -@end itemize - -@item MESSAGE_QUEUE_FLUSH -@itemize - -@item no messages flushed: 80 -@item messages flushed: 81 -@end itemize - -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
MESSAGE_QUEUE_CREATE65
MESSAGE_QUEUE_IDENT66
MESSAGE_QUEUE_DELETE67
MESSAGE_QUEUE_SEND
no waiting tasks
68
task readied -- returns to caller
69
task readied -- preempts caller
70
MESSAGE_QUEUE_URGENT
no waiting tasks
71
task readied -- returns to caller
72
task readied -- preempts caller
73
MESSAGE_QUEUE_BROADCAST
no waiting tasks
74
task readied -- returns to caller
75
task readied -- preempts caller
76
MESSAGE_QUEUE_RECEIVE
available
77
not available -- NO_WAIT
78
not available -- caller blocks
79
MESSAGE_QUEUE_FLUSH
no messages flushed
80
messages flushed
81
-
-@end html -@end ifset - -@page -@section Event Manager - -@ifset use-tex -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsdirective{EVENT\_SEND} -\rtemscase{no task readied}{82} -\rtemscase{task readied -- returns to caller} - {83} -\rtemscase{task readied -- preempts caller} - {84} -\rtemsdirective{EVENT\_RECEIVE} -\rtemscase{obtain current events}{85} -\rtemscase{available}{86} -\rtemscase{not available -- NO\_WAIT}{87} -\rtemscase{not available -- caller blocks} - {88} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet - -@item EVENT_SEND -@itemize - -@item no task readied: 82 -@item task readied -- returns to caller: 83 -@item task readied -- preempts caller: 84 -@end itemize - -@item EVENT_RECEIVE -@itemize - -@item obtain current events: 85 -@item available: 86 -@item not available -- NO_WAIT: 87 -@item not available -- caller blocks: 88 -@end itemize - -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - - - - - - - - - - - - -
EVENT_SEND
no task readied
82
task readied -- returns to caller
83
task readied -- preempts caller
84
EVENT_RECEIVE
obtain current events
85
available
86
not available -- NO_WAIT
87
not available -- caller blocks
88
-
-@end html -@end ifset -@section Signal Manager - -@ifset use-tex -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsonecase{SIGNAL\_CATCH}{89} -\rtemsdirective{SIGNAL\_SEND} -\rtemscase{returns to caller}{90} -\rtemscase{signal to self}{91} -\rtemsdirective{EXIT ASR OVERHEAD} -\rtemscase{returns to calling task} - {92} -\rtemscase{returns to preempting task} - {93} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet -@item SIGNAL_CATCH -@itemize - -@item only case: 89 -@end itemize - -@item SIGNAL_SEND -@itemize - -@item returns to caller: 90 -@item signal to self: 91 -@end itemize - -@item EXIT ASR OVERHEAD -@itemize - -@item returns to calling task: 92 -@item returns to preempting task: 93 -@end itemize - -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - - - - - - - -
SIGNAL_CATCH89
SIGNAL_SEND
returns to caller
90
signal to self
91
EXIT ASR OVERHEAD
returns to calling task
- 92
returns to preempting task
- 93
-
-@end html -@end ifset - -@section Partition Manager - -@ifset use-tex -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsonecase{PARTITION\_CREATE}{94} -\rtemsonecase{PARTITION\_IDENT}{95} -\rtemsonecase{PARTITION\_DELETE}{96} -\rtemsdirective{PARTITION\_GET\_BUFFER} -\rtemscase{available}{97} -\rtemscase{not available}{98} -\rtemsonecase{PARTITION\_RETURN\_BUFFER} - {98} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet - -@item PARTITION_CREATE -@itemize - -@item only case: 94 -@end itemize - -@item PARTITION_IDENT -@itemize - -@item only case: 95 -@end itemize - -@item PARTITION_DELETE -@itemize - -@item only case: 96 -@end itemize - -@item PARTITION_GET_BUFFER -@itemize - -@item available: 97 -@item not available: 98 -@end itemize - -@item PARTITION_RETURN_BUFFER -@itemize - -@item only case: 99 -@end itemize - -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - - - - - - - - -
PARTITION_CREATE94
PARTITION_IDENT95
PARTITION_DELETE96
PARTITION_GET_BUFFER
available
97
not available
98
PARTITION_RETURN_BUFFER98
-
-@end html -@end ifset - -@page -@section Region Manager - -@ifset use-tex -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsonecase{REGION\_CREATE}{100} -\rtemsonecase{REGION\_IDENT}{101} -\rtemsonecase{REGION\_DELETE}{102} -\rtemsdirective{REGION\_GET\_SEGMENT} -\rtemscase{available}{103} -\rtemscase{not available -- NO\_WAIT} - {104} -\rtemscase{not available -- caller blocks} - {105} -\rtemsdirective{REGION\_RETURN\_SEGMENT} -\rtemscase{no waiting tasks}{106} -\rtemscase{task readied -- returns to caller} - {107} -\rtemscase{task readied -- preempts caller} - {108} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet - -@item REGION_CREATE -@itemize - -@item only case: 100 -@end itemize - -@item REGION_IDENT -@itemize - -@item only case: 101 -@end itemize - -@item REGION_DELETE -@itemize - -@item only case: 102 -@end itemize - -@item REGION_GET_SEGMENT -@itemize - -@item available: 103 -@item not available -- NO_WAIT: 104 -@item not available -- caller blocks: 105 -@end itemize - -@item REGION_RETURN_SEGMENT -@itemize - -@item no waiting tasks: 106 -@item task readied -- returns to caller: 107 -@item task readied -- preempts caller: 108 -@end itemize - -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - - - - - - - - - - - - - - - -
REGION_CREATE100
REGION_IDENT101
REGION_DELETE102
REGION_GET_SEGMENT
available
103
not available -- NO_WAIT
- 104
not available -- caller blocks
- 105
REGION_RETURN_SEGMENT
no waiting tasks
106
task readied -- returns to caller
- 107
task readied -- preempts caller
- 108
-
-@end html -@end ifset - -@section Dual-Ported Memory Manager - -@ifset use-tex -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsonecase{PORT\_CREATE}{109} -\rtemsonecase{PORT\_IDENT}{110} -\rtemsonecase{PORT\_DELETE}{111} -\rtemsonecase{PORT\_INTERNAL\_TO\_EXTERNAL} - {112} -\rtemsonecase{PORT\_EXTERNAL\_TO\_INTERNAL} - {113} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet - -@item PORT_CREATE -@itemize - -@item only case: 109 -@end itemize - -@item PORT_IDENT -@itemize - -@item only case: 110 -@end itemize - -@item PORT_DELETE -@itemize - -@item only case: 111 -@end itemize - -@item PORT_INTERNAL_TO_EXTERNAL -@itemize - -@item only case: 112 -@end itemize - -@item PORT_EXTERNAL_TO_INTERNAL -@itemize - -@item only case: 113 -@end itemize - -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - - - - - - -
PORT_CREATE109
PORT_IDENT110
PORT_DELETE111
PORT_INTERNAL_TO_EXTERNAL112
PORT_EXTERNAL_TO_INTERNAL113
-
-@end html -@end ifset - -@section I/O Manager - -@ifset use-tex -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsonecase{IO\_INITIALIZE}{114} -\rtemsonecase{IO\_OPEN}{115} -\rtemsonecase{IO\_CLOSE}{116} -\rtemsonecase{IO\_READ}{117} -\rtemsonecase{IO\_WRITE}{118} -\rtemsonecase{IO\_CONTROL}{119} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet - -@item IO_INITIALIZE -@itemize - -@item only case: 114 -@end itemize - -@item IO_OPEN -@itemize - -@item only case: 115 -@end itemize - -@item IO_CLOSE -@itemize - -@item only case: 116 -@end itemize - -@item IO_READ -@itemize - -@item only case: 117 -@end itemize - -@item IO_WRITE -@itemize - -@item only case: 118 -@end itemize - -@item IO_CONTROL -@itemize - -@item only case: 119 -@end itemize - -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - - - - - - - -
IO_INITIALIZE114
IO_OPEN115
IO_CLOSE116
IO_READ117
IO_WRITE118
IO_CONTROL119
-
-@end html -@end ifset - -@section Rate Monotonic Manager - -@ifset use-tex -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsonecase{RATE\_MONOTONIC\_CREATE}{120} -\rtemsonecase{RATE\_MONOTONIC\_IDENT}{121} -\rtemsonecase{RATE\_MONOTONIC\_CANCEL}{122} -\rtemsdirective{RATE\_MONOTONIC\_DELETE} -\rtemscase{active}{123} -\rtemscase{inactive}{124} -\rtemsdirective{RATE\_MONOTONIC\_PERIOD} -\rtemscase{initiate period -- returns to caller} - {125} -\rtemscase{conclude period -- caller blocks} - {126} -\rtemscase{obtain status}{127} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet - -@item RATE_MONOTONIC_CREATE -@itemize - -@item only case: 120 -@end itemize - -@item RATE_MONOTONIC_IDENT -@itemize - -@item only case: 121 -@end itemize - -@item RATE_MONOTONIC_CANCEL -@itemize - -@item only case: 122 -@end itemize - -@item RATE_MONOTONIC_DELETE -@itemize - -@item active: 123 -@item inactive: 124 -@end itemize - -@item RATE_MONOTONIC_PERIOD -@itemize - -@item initiate period -- returns to caller: 125 -@item conclude period -- caller blocks: 126 -@item obtain status: 127 -@end itemize - -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - - - - - - - - - - - - - -
RATE_MONOTONIC_CREATE120
RATE_MONOTONIC_IDENT121
RATE_MONOTONIC_CANCEL122
RATE_MONOTONIC_DELETE
active
123
inactive
124
RATE_MONOTONIC_PERIOD
initiate period -- returns to caller
- 125
conclude period -- caller blocks
- 126
obtain status
127
-
-@end html -@end ifset - -@tex -\global\advance \smallskipamount by 4pt -@end tex - -@tex -\global\advance \smallskipamount by 4pt -@end tex diff --git a/doc/supplements/m68k/timeMVME136_.t b/doc/supplements/m68k/timeMVME136_.t deleted file mode 100644 index ea68b5389f..0000000000 --- a/doc/supplements/m68k/timeMVME136_.t +++ /dev/null @@ -1,1442 +0,0 @@ -@c -@c COPYRIGHT (c) 1988-1999. -@c On-Line Applications Research Corporation (OAR). -@c All rights reserved. -@c -@c $Id$ -@c - -@include ../../common/timemac.texi -@tex -\global\advance \smallskipamount by -4pt -@end tex - -@chapter MVME136 Timing Data - -@section Introduction - -The timing data for the MC68020 version of RTEMS is -provided along with the target dependent aspects concerning the -gathering of the timing data. The hardware platform used to -gather the times is described to give the reader a better -understanding of each directive time provided. Also, provided -is a description of the interrupt latency and the context switch -times as they pertain to the MC68020 version of RTEMS. - -@section Hardware Platform - -All times reported except for the maximum period -interrupts are disabled by RTEMS were measured using a Motorola -MVME135 CPU board. The MVME135 is a 20Mhz board with one wait -state dynamic memory and a MC68881 numeric coprocessor. The -Zilog 8036 countdown timer on this board was used to measure -elapsed time with a one-half microsecond resolution. All -sources of hardware interrupts were disabled, although the -interrupt level of the MC68020 allows all interrupts. - -The maximum period interrupts are disabled was -measured by summing the number of CPU cycles required by each -assembly language instruction executed while interrupts were -disabled. The worst case times of the MC68020 microprocessor -were used for each instruction. Zero wait state memory was -assumed. The total CPU cycles executed with interrupts -disabled, including the instructions to disable and enable -interrupts, was divided by 20 to simulate a 20Mhz MC68020. It -should be noted that the worst case instruction times for the -MC68020 assume that the internal cache is disabled and that no -instructions overlap. - -@section Interrupt Latency - -The maximum period with interrupts disabled within -RTEMS is less than TBD -microseconds including the instructions -which disable and re-enable interrupts. The time required for -the MC68020 to vector an interrupt and for the RTEMS entry -overhead before invoking the user's interrupt handler are a -total of 9 -microseconds. These combine to yield a worst case -interrupt latency of less than -TBD + 9 -microseconds at 20Mhz. [NOTE: The maximum period with interrupts -disabled was last determined for Release -3.2.1.] - -It should be noted again that the maximum period with -interrupts disabled within RTEMS is hand-timed and based upon -worst case (i.e. CPU cache disabled and no instruction overlap) -times for a 20Mhz MC68020. The interrupt vector and entry -overhead time was generated on an MVME135 benchmark platform -using the Multiprocessing Communications registers to generate -as the interrupt source. - -@section Context Switch - -The RTEMS processor context switch time is 35 -microseconds on the MVME135 benchmark platform when no floating -point context is saved or restored. Additional execution time -is required when a TASK_SWITCH user extension is configured. -The use of the TASK_SWITCH extension is application dependent. -Thus, its execution time is not considered part of the raw -context switch time. - -Since RTEMS was designed specifically for embedded -missile applications which are floating point intensive, the -executive is optimized to avoid unnecessarily saving and -restoring the state of the numeric coprocessor. The state of -the numeric coprocessor is only saved when an FLOATING_POINT -task is dispatched and that task was not the last task to -utilize the coprocessor. In a system with only one -FLOATING_POINT task, the state of the numeric coprocessor will -never be saved or restored. When the first FLOATING_POINT task -is dispatched, RTEMS does not need to save the current state of -the numeric coprocessor. - -The exact amount of time required to save and restore -floating point context is dependent on whether an MC68881 or -MC68882 is being used as well as the state of the numeric -coprocessor. These numeric coprocessors define three operating -states: initialized, idle, and busy. RTEMS places the -coprocessor in the initialized state when a task is started or -restarted. Once the task has utilized the coprocessor, it is in -the idle state when floating point instructions are not -executing and the busy state when floating point instructions -are executing. The state of the coprocessor is task specific. - -The following table summarizes the context switch -times for the MVME135 benchmark platform: - -@c ****** This comment is here to remind you not to edit the timetbl.t -@c ****** in any directory but common. -@c -@c Time Table Template -@c -@c COPYRIGHT (c) 1988-1999. -@c On-Line Applications Research Corporation (OAR). -@c All rights reserved. -@c -@c $Id$ -@c - -@ifset use-tex -@sp 1 -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsonecase{No Floating Point Contexts}{35} -\rtemsdirective{Floating Point Contexts} -\rtemscase{restore first FP task}{39} -\rtemscase{save initialized, restore initialized}{66} -\rtemscase{save idle, restore initialized}{66} -\rtemscase{save idle, restore idle}{68} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet -@item No Floating Point Contexts -@itemize - -@item only case: 35 -@end itemize -@item Floating Point Contexts -@itemize - -@item restore first FP task: 39 -@item save initialized, restore initialized: 66 -@item save idle, restore initialized: 66 -@item save idle, restore idle: 66 -@end itemize -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - - - - - - -
No Floating Point Contexts35
Floating Point Contexts
restore first FP task
39
save initialized, restore initialized
66
save idle, restore initialized
66
save idle, restore idle
68
-
-@end html -@end ifset - -@section Directive Times - -This sections is divided into a number of -subsections, each of which contains a table listing the -execution times of that manager's directives. - -@page -@section Task Manager - -@ifset use-tex -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsonecase{TASK\_CREATE}{148} -\rtemsonecase{TASK\_IDENT}{350} -\rtemsonecase{TASK\_START}{76} -\rtemsdirective{TASK\_RESTART} -\rtemscase{calling task}{95} -\rtemscase{suspended task -- returns to caller} - {89} -\rtemscase{blocked task -- returns to caller} - {124} -\rtemscase{ready task -- returns to caller} - {92} -\rtemscase{suspended task -- preempts caller} - {125} -\rtemscase{blocked task -- preempts caller} - {149} -\rtemscase{ready task -- preempts caller} - {142} -\rtemsdirective{TASK\_DELETE} -\rtemscase{calling task}{170} -\rtemscase{suspended task}{138} -\rtemscase{blocked task}{143} -\rtemscase{ready task}{144} -\rtemsdirective{TASK\_SUSPEND} -\rtemscase{calling task}{71} -\rtemscase{returns to caller}{43} -\rtemsdirective{TASK\_RESUME} -\rtemscase{task readied -- returns to caller} - {45} -\rtemscase{task readied -- preempts caller} - {67} -\rtemsdirective{TASK\_SET\_PRIORITY} -\rtemscase{obtain current priority} - {31} -\rtemscase{returns to caller}{64} -\rtemscase{preempts caller}{106} -\rtemsdirective{TASK\_MODE} -\rtemscase{obtain current mode}{14} -\rtemscase{no reschedule}{16} -\rtemscase{reschedule -- returns to caller} - {23} -\rtemscase{reschedule -- preempts caller} - {60} -\rtemsonecase{TASK\_GET\_NOTE}{33} -\rtemsonecase{TASK\_SET\_NOTE}{33} -\rtemsdirective{TASK\_WAKE\_AFTER} -\rtemscase{yield -- returns to caller} - {16} -\rtemscase{yield -- preempts caller} - {56} -\rtemsonecase{TASK\_WAKE\_WHEN}{117} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet - -@item TASK_CREATE -@itemize - -@item only case: 148 -@end itemize - -@item TASK_IDENT -@itemize - -@item only case: 350 -@end itemize - -@item TASK_START -@itemize - -@item only case: 76 -@end itemize - -@item TASK_RESTART -@itemize - -@item calling task: 95 -@item suspended task -- returns to caller: 89 -@item blocked task -- returns to caller: 124 -@item ready task -- returns to caller: 92 -@item suspended task -- preempts caller: 125 -@item blocked task -- preempts caller: 149 -@item ready task -- preempts caller: 142 -@end itemize - -@item TASK_DELETE -@itemize - -@item calling task: 170 -@item suspended task: 138 -@item blocked task: 143 -@item ready task: 144 -@end itemize - -@item TASK_SUSPEND -@itemize - -@item calling task: 71 -@item returns to caller: 43 -@end itemize - -@item TASK_RESUME -@itemize - -@item task readied -- returns to caller: 45 -@item task readied -- preempts caller: 67 -@end itemize - -@item TASK_SET_PRIORITY -@itemize - -@item obtain current priority: 31 -@item returns to caller: 64 -@item preempts caller: 106 -@end itemize - -@item TASK_MODE -@itemize - -@item obtain current mode: 14 -@item no reschedule: 16 -@item reschedule -- returns to caller: 23 -@item reschedule -- preempts caller: 60 -@end itemize - -@item TASK_GET_NOTE -@itemize - -@item only case: 33 -@end itemize - -@item TASK_SET_NOTE -@itemize - -@item only case: 33 -@end itemize - -@item TASK_WAKE_AFTER -@itemize - -@item yield -- returns to caller: 16 -@item yield -- preempts caller: 56 -@end itemize - -@item TASK_WAKE_WHEN -@itemize - -@item only case: 117 -@end itemize - -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
TASK_CREATE148
TASK_IDENT350
TASK_START76
TASK_RESTART
calling task
95
suspended task -- returns to caller
89
blocked task -- returns to caller
124
ready task -- returns to caller
92
suspended task -- preempts caller
125
blocked task -- preempts caller
149
ready task -- preempts caller
142
TASK_DELETE
calling task
170
suspended task
138
blocked task
143
ready task
144
TASK_SUSPEND
calling task
71
returns to caller
43
TASK_RESUME
task readied -- returns to caller
45
task readied -- preempts caller
67
TASK_SET_PRIORITY
obtain current priority
31
returns to caller
64
preempts caller
106
TASK_MODE
obtain current mode
14
no reschedule
16
reschedule -- returns to caller
23
reschedule -- preempts caller
60
TASK_GET_NOTE33
TASK_SET_NOTE33
TASK_WAKE_AFTER
yield -- returns to caller
16
yield -- preempts caller
56
TASK_WAKE_WHEN117
-
-@end html -@end ifset - -@page -@section Interrupt Manager - -It should be noted that the interrupt entry times -include vectoring the interrupt handler. - -@ifset use-tex -@sp 1 -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsdirective{Interrupt Entry Overhead} -\rtemscase{returns to nested interrupt}{12} -\rtemscase{returns to interrupted task} - {9} -\rtemscase{returns to preempting task} - {9} -\rtemsdirective{Interrupt Exit Overhead} -\rtemscase{returns to nested interrupt}{<1} -\rtemscase{returns to interrupted task} - {8} -\rtemscase{returns to preempting task} - {54} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet - -@item Interrupt Entry Overhead -@itemize - -@item returns to nested interrupt: 12 -@item returns to interrupted task: 9 -@item returns to preempting task: 9 -@end itemize - -@item Interrupt Exit Overhead -@itemize - -@item returns to nested interrupt: <1 -@item returns to interrupted task: 8 -@item returns to preempting task: 54 -@end itemize - -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - - - - - - - - - -
Interrupt Entry Overhead
returns to nested interrupt
12
returns to interrupted task
9
returns to preempting task
9
Interrupt Exit Overhead
returns to nested interrupt
<1
returns to interrupted task
8
returns to preempting task
54
-
-@end html -@end ifset - - -@section Clock Manager - -@ifset use-tex -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsonecase{CLOCK\_SET}{86} -\rtemsonecase{CLOCK\_GET}{1} -\rtemsonecase{CLOCK\_TICK}{17} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet - -@item CLOCK_SET -@itemize - -@item only case: 86 -@end itemize - -@item CLOCK_GET -@itemize - -@item only case: 1 -@end itemize - -@item CLOCK_TICK -@itemize - -@item only case: 17 -@end itemize - -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - -
CLOCK_SET86
CLOCK_GET1
CLOCK_TICK17
-
-@end html -@end ifset - -@section Timer Manager - -@ifset use-tex -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsonecase{TIMER\_CREATE}{28} -\rtemsonecase{TIMER\_IDENT}{343} -\rtemsdirective{TIMER\_DELETE} -\rtemscase{inactive}{43} -\rtemscase{active}{47} -\rtemsdirective{TIMER\_FIRE\_AFTER} -\rtemscase{inactive}{58} -\rtemscase{active}{61} -\rtemsdirective{TIMER\_FIRE\_WHEN} -\rtemscase{inactive}{88} -\rtemscase{active}{88} -\rtemsdirective{TIMER\_RESET} -\rtemscase{inactive}{54} -\rtemscase{active}{58} -\rtemsdirective{TIMER\_CANCEL} -\rtemscase{inactive}{31} -\rtemscase{active}{34} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet - -@item TIMER_CREATE -@itemize - -@item only case: 28 -@end itemize - -@item TIMER_IDENT -@itemize - -@item only case: 343 -@end itemize - -@item TIMER_DELETE -@itemize - -@item inactive: 43 -@item active: 47 -@end itemize - -@item TIMER_FIRE_AFTER -@itemize - -@item inactive: 58 -@item active: 61 -@end itemize - -@item TIMER_FIRE_WHEN -@itemize - -@item inactive: TIMER_FIRE_WHEN_INACTIVE -@item active: TIMER_FIRE_WHEN_ACTIVE -@end itemize - -@item TIMER_RESET -@itemize - -@item inactive: TIMER_RESET_INACTIVE -@item active: TIMER_RESET_ACTIVE -@end itemize - -@item TIMER_CANCEL -@itemize - -@item inactive: TIMER_CANCEL_INACTIVE -@item active: TIMER_CANCEL_ACTIVE -@end itemize - -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
TIMER_CREATE28
TIMER_IDENT343
TIMER_DELETE
inactive
43
active
47
TIMER_FIRE_AFTER
inactive
58
active
61
TIMER_FIRE_WHEN
inactive
88
active
88
TIMER_RESET
inactive
54
active
58
TIMER_CANCEL
inactive
31
active
34
-
-@end html -@end ifset - -@page -@section Semaphore Manager - -@ifset use-tex -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsonecase{SEMAPHORE\_CREATE}{60} -\rtemsonecase{SEMAPHORE\_IDENT}{367} -\rtemsonecase{SEMAPHORE\_DELETE}{58} -\rtemsdirective{SEMAPHORE\_OBTAIN} -\rtemscase{available}{38} -\rtemscase{not available -- NO\_WAIT} - {38} -\rtemscase{not available -- caller blocks} - {109} -\rtemsdirective{SEMAPHORE\_RELEASE} -\rtemscase{no waiting tasks}{44} -\rtemscase{task readied -- returns to caller} - {66} -\rtemscase{task readied -- preempts caller} - {87} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet - -@item SEMAPHORE_CREATE -@itemize - -@item only case: 60 -@end itemize - -@item SEMAPHORE_IDENT -@itemize - -@item only case: 367 -@end itemize - -@item SEMAPHORE_DELETE -@itemize - -@item only case: 58 -@end itemize - -@item SEMAPHORE_OBTAIN -@itemize - -@item available: 38 -@item not available -- NO_WAIT: 38 -@item not available -- caller blocks: 109 -@end itemize - -@item SEMAPHORE_RELEASE -@itemize - -@item no waiting tasks: 44 -@item task readied -- returns to caller: 66 -@item task readied -- preempts caller: 87 -@end itemize - -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - - - - - - - - - - - - - - - -
SEMAPHORE_CREATE60
SEMAPHORE_IDENT367
SEMAPHORE_DELETE58
SEMAPHORE_OBTAIN
available
38
not available -- NO_WAIT
38
not available -- caller blocks
109
SEMAPHORE_RELEASE
no waiting tasks
44
task readied -- returns to caller
66
task readied -- preempts caller
87
-
-@end html -@end ifset - -@section Message Manager - -@ifset use-tex -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsonecase{MESSAGE\_QUEUE\_CREATE}{200} -\rtemsonecase{MESSAGE\_QUEUE\_IDENT}{341} -\rtemsonecase{MESSAGE\_QUEUE\_DELETE}{80} -\rtemsdirective{MESSAGE\_QUEUE\_SEND} -\rtemscase{no waiting tasks} - {97} -\rtemscase{task readied -- returns to caller} - {101} -\rtemscase{task readied -- preempts caller} - {123} -\rtemsdirective{MESSAGE\_QUEUE\_URGENT} -\rtemscase{no waiting tasks}{96} -\rtemscase{task readied -- returns to caller} - {101} -\rtemscase{task readied -- preempts caller} - {123} -\rtemsdirective{MESSAGE\_QUEUE\_BROADCAST} -\rtemscase{no waiting tasks}{53} -\rtemscase{task readied -- returns to caller} - {111} -\rtemscase{task readied -- preempts caller} - {133} -\rtemsdirective{MESSAGE\_QUEUE\_RECEIVE} -\rtemscase{available}{79} -\rtemscase{not available -- NO\_WAIT} - {43} -\rtemscase{not available -- caller blocks} - {114} -\rtemsdirective{MESSAGE\_QUEUE\_FLUSH} -\rtemscase{no messages flushed}{29} -\rtemscase{messages flushed}{39} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet - -@item MESSAGE_QUEUE_CREATE -@itemize - -@item only case: 200 -@end itemize - -@item MESSAGE_QUEUE_IDENT -@itemize - -@item only case: 341 -@end itemize - -@item MESSAGE_QUEUE_DELETE -@itemize - -@item only case: 80 -@end itemize - -@item MESSAGE_QUEUE_SEND -@itemize - -@item no waiting tasks: 97 -@item task readied -- returns to caller: 101 -@item task readied -- preempts caller: 123 -@end itemize - -@item MESSAGE_QUEUE_URGENT -@itemize - -@item no waiting tasks: 96 -@item task readied -- returns to caller: 101 -@item task readied -- preempts caller: 123 -@end itemize - -@item MESSAGE_QUEUE_BROADCAST -@itemize - -@item no waiting tasks: 53 -@item task readied -- returns to caller: 111 -@item task readied -- preempts caller: 133 -@end itemize - -@item MESSAGE_QUEUE_RECEIVE -@itemize - -@item available: 79 -@item not available -- NO_WAIT: 43 -@item not available -- caller blocks: 114 -@end itemize - -@item MESSAGE_QUEUE_FLUSH -@itemize - -@item no messages flushed: 29 -@item messages flushed: 39 -@end itemize - -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
MESSAGE_QUEUE_CREATE200
MESSAGE_QUEUE_IDENT341
MESSAGE_QUEUE_DELETE80
MESSAGE_QUEUE_SEND
no waiting tasks
97
task readied -- returns to caller
101
task readied -- preempts caller
123
MESSAGE_QUEUE_URGENT
no waiting tasks
96
task readied -- returns to caller
101
task readied -- preempts caller
123
MESSAGE_QUEUE_BROADCAST
no waiting tasks
53
task readied -- returns to caller
111
task readied -- preempts caller
133
MESSAGE_QUEUE_RECEIVE
available
79
not available -- NO_WAIT
43
not available -- caller blocks
114
MESSAGE_QUEUE_FLUSH
no messages flushed
29
messages flushed
39
-
-@end html -@end ifset - -@page -@section Event Manager - -@ifset use-tex -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsdirective{EVENT\_SEND} -\rtemscase{no task readied}{24} -\rtemscase{task readied -- returns to caller} - {60} -\rtemscase{task readied -- preempts caller} - {84} -\rtemsdirective{EVENT\_RECEIVE} -\rtemscase{obtain current events}{1} -\rtemscase{available}{28} -\rtemscase{not available -- NO\_WAIT}{23} -\rtemscase{not available -- caller blocks} - {84} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet - -@item EVENT_SEND -@itemize - -@item no task readied: 24 -@item task readied -- returns to caller: 60 -@item task readied -- preempts caller: 84 -@end itemize - -@item EVENT_RECEIVE -@itemize - -@item obtain current events: 1 -@item available: 28 -@item not available -- NO_WAIT: 23 -@item not available -- caller blocks: 84 -@end itemize - -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - - - - - - - - - - - - -
EVENT_SEND
no task readied
24
task readied -- returns to caller
60
task readied -- preempts caller
84
EVENT_RECEIVE
obtain current events
1
available
28
not available -- NO_WAIT
23
not available -- caller blocks
84
-
-@end html -@end ifset -@section Signal Manager - -@ifset use-tex -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsonecase{SIGNAL\_CATCH}{15} -\rtemsdirective{SIGNAL\_SEND} -\rtemscase{returns to caller}{37} -\rtemscase{signal to self}{55} -\rtemsdirective{EXIT ASR OVERHEAD} -\rtemscase{returns to calling task} - {37} -\rtemscase{returns to preempting task} - {54} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet -@item SIGNAL_CATCH -@itemize - -@item only case: 15 -@end itemize - -@item SIGNAL_SEND -@itemize - -@item returns to caller: 37 -@item signal to self: 55 -@end itemize - -@item EXIT ASR OVERHEAD -@itemize - -@item returns to calling task: 37 -@item returns to preempting task: 54 -@end itemize - -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - - - - - - - -
SIGNAL_CATCH15
SIGNAL_SEND
returns to caller
37
signal to self
55
EXIT ASR OVERHEAD
returns to calling task
- 37
returns to preempting task
- 54
-
-@end html -@end ifset - -@section Partition Manager - -@ifset use-tex -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsonecase{PARTITION\_CREATE}{70} -\rtemsonecase{PARTITION\_IDENT}{341} -\rtemsonecase{PARTITION\_DELETE}{42} -\rtemsdirective{PARTITION\_GET\_BUFFER} -\rtemscase{available}{35} -\rtemscase{not available}{33} -\rtemsonecase{PARTITION\_RETURN\_BUFFER} - {33} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet - -@item PARTITION_CREATE -@itemize - -@item only case: 70 -@end itemize - -@item PARTITION_IDENT -@itemize - -@item only case: 341 -@end itemize - -@item PARTITION_DELETE -@itemize - -@item only case: 42 -@end itemize - -@item PARTITION_GET_BUFFER -@itemize - -@item available: 35 -@item not available: 33 -@end itemize - -@item PARTITION_RETURN_BUFFER -@itemize - -@item only case: 43 -@end itemize - -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - - - - - - - - -
PARTITION_CREATE70
PARTITION_IDENT341
PARTITION_DELETE42
PARTITION_GET_BUFFER
available
35
not available
33
PARTITION_RETURN_BUFFER33
-
-@end html -@end ifset - -@page -@section Region Manager - -@ifset use-tex -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsonecase{REGION\_CREATE}{63} -\rtemsonecase{REGION\_IDENT}{348} -\rtemsonecase{REGION\_DELETE}{39} -\rtemsdirective{REGION\_GET\_SEGMENT} -\rtemscase{available}{52} -\rtemscase{not available -- NO\_WAIT} - {49} -\rtemscase{not available -- caller blocks} - {123} -\rtemsdirective{REGION\_RETURN\_SEGMENT} -\rtemscase{no waiting tasks}{54} -\rtemscase{task readied -- returns to caller} - {114} -\rtemscase{task readied -- preempts caller} - {136} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet - -@item REGION_CREATE -@itemize - -@item only case: 63 -@end itemize - -@item REGION_IDENT -@itemize - -@item only case: 348 -@end itemize - -@item REGION_DELETE -@itemize - -@item only case: 39 -@end itemize - -@item REGION_GET_SEGMENT -@itemize - -@item available: 52 -@item not available -- NO_WAIT: 49 -@item not available -- caller blocks: 123 -@end itemize - -@item REGION_RETURN_SEGMENT -@itemize - -@item no waiting tasks: 54 -@item task readied -- returns to caller: 114 -@item task readied -- preempts caller: 136 -@end itemize - -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - - - - - - - - - - - - - - - -
REGION_CREATE63
REGION_IDENT348
REGION_DELETE39
REGION_GET_SEGMENT
available
52
not available -- NO_WAIT
- 49
not available -- caller blocks
- 123
REGION_RETURN_SEGMENT
no waiting tasks
54
task readied -- returns to caller
- 114
task readied -- preempts caller
- 136
-
-@end html -@end ifset - -@section Dual-Ported Memory Manager - -@ifset use-tex -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsonecase{PORT\_CREATE}{35} -\rtemsonecase{PORT\_IDENT}{340} -\rtemsonecase{PORT\_DELETE}{39} -\rtemsonecase{PORT\_INTERNAL\_TO\_EXTERNAL} - {26} -\rtemsonecase{PORT\_EXTERNAL\_TO\_INTERNAL} - {27} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet - -@item PORT_CREATE -@itemize - -@item only case: 35 -@end itemize - -@item PORT_IDENT -@itemize - -@item only case: 340 -@end itemize - -@item PORT_DELETE -@itemize - -@item only case: 39 -@end itemize - -@item PORT_INTERNAL_TO_EXTERNAL -@itemize - -@item only case: 26 -@end itemize - -@item PORT_EXTERNAL_TO_INTERNAL -@itemize - -@item only case: 27 -@end itemize - -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - - - - - - -
PORT_CREATE35
PORT_IDENT340
PORT_DELETE39
PORT_INTERNAL_TO_EXTERNAL26
PORT_EXTERNAL_TO_INTERNAL27
-
-@end html -@end ifset - -@section I/O Manager - -@ifset use-tex -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsonecase{IO\_INITIALIZE}{4} -\rtemsonecase{IO\_OPEN}{2} -\rtemsonecase{IO\_CLOSE}{1} -\rtemsonecase{IO\_READ}{2} -\rtemsonecase{IO\_WRITE}{3} -\rtemsonecase{IO\_CONTROL}{2} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet - -@item IO_INITIALIZE -@itemize - -@item only case: 4 -@end itemize - -@item IO_OPEN -@itemize - -@item only case: 2 -@end itemize - -@item IO_CLOSE -@itemize - -@item only case: 1 -@end itemize - -@item IO_READ -@itemize - -@item only case: 2 -@end itemize - -@item IO_WRITE -@itemize - -@item only case: 3 -@end itemize - -@item IO_CONTROL -@itemize - -@item only case: 2 -@end itemize - -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - - - - - - - -
IO_INITIALIZE4
IO_OPEN2
IO_CLOSE1
IO_READ2
IO_WRITE3
IO_CONTROL2
-
-@end html -@end ifset - -@section Rate Monotonic Manager - -@ifset use-tex -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsonecase{RATE\_MONOTONIC\_CREATE}{32} -\rtemsonecase{RATE\_MONOTONIC\_IDENT}{341} -\rtemsonecase{RATE\_MONOTONIC\_CANCEL}{39} -\rtemsdirective{RATE\_MONOTONIC\_DELETE} -\rtemscase{active}{51} -\rtemscase{inactive}{48} -\rtemsdirective{RATE\_MONOTONIC\_PERIOD} -\rtemscase{initiate period -- returns to caller} - {54} -\rtemscase{conclude period -- caller blocks} - {74} -\rtemscase{obtain status}{31} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet - -@item RATE_MONOTONIC_CREATE -@itemize - -@item only case: 32 -@end itemize - -@item RATE_MONOTONIC_IDENT -@itemize - -@item only case: 341 -@end itemize - -@item RATE_MONOTONIC_CANCEL -@itemize - -@item only case: 39 -@end itemize - -@item RATE_MONOTONIC_DELETE -@itemize - -@item active: 51 -@item inactive: 48 -@end itemize - -@item RATE_MONOTONIC_PERIOD -@itemize - -@item initiate period -- returns to caller: 54 -@item conclude period -- caller blocks: 74 -@item obtain status: 31 -@end itemize - -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - - - - - - - - - - - - - -
RATE_MONOTONIC_CREATE32
RATE_MONOTONIC_IDENT341
RATE_MONOTONIC_CANCEL39
RATE_MONOTONIC_DELETE
active
51
inactive
48
RATE_MONOTONIC_PERIOD
initiate period -- returns to caller
- 54
conclude period -- caller blocks
- 74
obtain status
31
-
-@end html -@end ifset - -@tex -\global\advance \smallskipamount by 4pt -@end tex - -@tex -\global\advance \smallskipamount by 4pt -@end tex diff --git a/doc/supplements/mips64orion/timeBSP_.t b/doc/supplements/mips64orion/timeBSP_.t deleted file mode 100644 index 3da8e44f40..0000000000 --- a/doc/supplements/mips64orion/timeBSP_.t +++ /dev/null @@ -1,1442 +0,0 @@ -@c -@c COPYRIGHT (c) 1988-1999. -@c On-Line Applications Research Corporation (OAR). -@c All rights reserved. -@c -@c $Id$ -@c - -@include ../../common/timemac.texi -@tex -\global\advance \smallskipamount by -4pt -@end tex - -@chapter BSP_FOR_TIMES Timing Data - -@section Introduction - -The timing data for the XXX version of RTEMS is -provided along with the target dependent aspects concerning the -gathering of the timing data. The hardware platform used to -gather the times is described to give the reader a better -understanding of each directive time provided. Also, provided -is a description of the interrupt latency and the context switch -times as they pertain to the XXX version of RTEMS. - -@section Hardware Platform - -All times reported except for the maximum period -interrupts are disabled by RTEMS were measured using a Motorola -BSP_FOR_TIMES CPU board. The BSP_FOR_TIMES is a 20Mhz board with one wait -state dynamic memory and a XXX numeric coprocessor. The -Zilog 8036 countdown timer on this board was used to measure -elapsed time with a one-half microsecond resolution. All -sources of hardware interrupts were disabled, although the -interrupt level of the XXX allows all interrupts. - -The maximum period interrupts are disabled was -measured by summing the number of CPU cycles required by each -assembly language instruction executed while interrupts were -disabled. The worst case times of the XXX microprocessor -were used for each instruction. Zero wait state memory was -assumed. The total CPU cycles executed with interrupts -disabled, including the instructions to disable and enable -interrupts, was divided by 20 to simulate a 20Mhz XXX. It -should be noted that the worst case instruction times for the -XXX assume that the internal cache is disabled and that no -instructions overlap. - -@section Interrupt Latency - -The maximum period with interrupts disabled within -RTEMS is less than TBD -microseconds including the instructions -which disable and re-enable interrupts. The time required for -the XXX to vector an interrupt and for the RTEMS entry -overhead before invoking the user's interrupt handler are a -total of 9 -microseconds. These combine to yield a worst case -interrupt latency of less than -TBD + 9 -microseconds at 20Mhz. [NOTE: The maximum period with interrupts -disabled was last determined for Release -4.0.0.] - -It should be noted again that the maximum period with -interrupts disabled within RTEMS is hand-timed and based upon -worst case (i.e. CPU cache disabled and no instruction overlap) -times for a 20Mhz XXX. The interrupt vector and entry -overhead time was generated on an BSP_FOR_TIMES benchmark platform -using the Multiprocessing Communications registers to generate -as the interrupt source. - -@section Context Switch - -The RTEMS processor context switch time is 35 -microseconds on the BSP_FOR_TIMES benchmark platform when no floating -point context is saved or restored. Additional execution time -is required when a TASK_SWITCH user extension is configured. -The use of the TASK_SWITCH extension is application dependent. -Thus, its execution time is not considered part of the raw -context switch time. - -Since RTEMS was designed specifically for embedded -missile applications which are floating point intensive, the -executive is optimized to avoid unnecessarily saving and -restoring the state of the numeric coprocessor. The state of -the numeric coprocessor is only saved when an FLOATING_POINT -task is dispatched and that task was not the last task to -utilize the coprocessor. In a system with only one -FLOATING_POINT task, the state of the numeric coprocessor will -never be saved or restored. When the first FLOATING_POINT task -is dispatched, RTEMS does not need to save the current state of -the numeric coprocessor. - -The exact amount of time required to save and restore -floating point context is dependent on whether an XXX or -XXX is being used as well as the state of the numeric -coprocessor. These numeric coprocessors define three operating -states: initialized, idle, and busy. RTEMS places the -coprocessor in the initialized state when a task is started or -restarted. Once the task has utilized the coprocessor, it is in -the idle state when floating point instructions are not -executing and the busy state when floating point instructions -are executing. The state of the coprocessor is task specific. - -The following table summarizes the context switch -times for the BSP_FOR_TIMES benchmark platform: - -@c ****** This comment is here to remind you not to edit the timetbl.t -@c ****** in any directory but common. -@c -@c Time Table Template -@c -@c COPYRIGHT (c) 1988-1999. -@c On-Line Applications Research Corporation (OAR). -@c All rights reserved. -@c -@c $Id$ -@c - -@ifset use-tex -@sp 1 -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsonecase{No Floating Point Contexts}{35} -\rtemsdirective{Floating Point Contexts} -\rtemscase{restore first FP task}{39} -\rtemscase{save initialized, restore initialized}{66} -\rtemscase{save idle, restore initialized}{66} -\rtemscase{save idle, restore idle}{68} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet -@item No Floating Point Contexts -@itemize - -@item only case: 35 -@end itemize -@item Floating Point Contexts -@itemize - -@item restore first FP task: 39 -@item save initialized, restore initialized: 66 -@item save idle, restore initialized: 66 -@item save idle, restore idle: 66 -@end itemize -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - - - - - - -
No Floating Point Contexts35
Floating Point Contexts
restore first FP task
39
save initialized, restore initialized
66
save idle, restore initialized
66
save idle, restore idle
68
-
-@end html -@end ifset - -@section Directive Times - -This sections is divided into a number of -subsections, each of which contains a table listing the -execution times of that manager's directives. - -@page -@section Task Manager - -@ifset use-tex -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsonecase{TASK\_CREATE}{148} -\rtemsonecase{TASK\_IDENT}{350} -\rtemsonecase{TASK\_START}{76} -\rtemsdirective{TASK\_RESTART} -\rtemscase{calling task}{95} -\rtemscase{suspended task -- returns to caller} - {89} -\rtemscase{blocked task -- returns to caller} - {124} -\rtemscase{ready task -- returns to caller} - {92} -\rtemscase{suspended task -- preempts caller} - {125} -\rtemscase{blocked task -- preempts caller} - {149} -\rtemscase{ready task -- preempts caller} - {142} -\rtemsdirective{TASK\_DELETE} -\rtemscase{calling task}{170} -\rtemscase{suspended task}{138} -\rtemscase{blocked task}{143} -\rtemscase{ready task}{144} -\rtemsdirective{TASK\_SUSPEND} -\rtemscase{calling task}{71} -\rtemscase{returns to caller}{43} -\rtemsdirective{TASK\_RESUME} -\rtemscase{task readied -- returns to caller} - {45} -\rtemscase{task readied -- preempts caller} - {67} -\rtemsdirective{TASK\_SET\_PRIORITY} -\rtemscase{obtain current priority} - {31} -\rtemscase{returns to caller}{64} -\rtemscase{preempts caller}{106} -\rtemsdirective{TASK\_MODE} -\rtemscase{obtain current mode}{14} -\rtemscase{no reschedule}{16} -\rtemscase{reschedule -- returns to caller} - {23} -\rtemscase{reschedule -- preempts caller} - {60} -\rtemsonecase{TASK\_GET\_NOTE}{33} -\rtemsonecase{TASK\_SET\_NOTE}{33} -\rtemsdirective{TASK\_WAKE\_AFTER} -\rtemscase{yield -- returns to caller} - {16} -\rtemscase{yield -- preempts caller} - {56} -\rtemsonecase{TASK\_WAKE\_WHEN}{117} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet - -@item TASK_CREATE -@itemize - -@item only case: 148 -@end itemize - -@item TASK_IDENT -@itemize - -@item only case: 350 -@end itemize - -@item TASK_START -@itemize - -@item only case: 76 -@end itemize - -@item TASK_RESTART -@itemize - -@item calling task: 95 -@item suspended task -- returns to caller: 89 -@item blocked task -- returns to caller: 124 -@item ready task -- returns to caller: 92 -@item suspended task -- preempts caller: 125 -@item blocked task -- preempts caller: 149 -@item ready task -- preempts caller: 142 -@end itemize - -@item TASK_DELETE -@itemize - -@item calling task: 170 -@item suspended task: 138 -@item blocked task: 143 -@item ready task: 144 -@end itemize - -@item TASK_SUSPEND -@itemize - -@item calling task: 71 -@item returns to caller: 43 -@end itemize - -@item TASK_RESUME -@itemize - -@item task readied -- returns to caller: 45 -@item task readied -- preempts caller: 67 -@end itemize - -@item TASK_SET_PRIORITY -@itemize - -@item obtain current priority: 31 -@item returns to caller: 64 -@item preempts caller: 106 -@end itemize - -@item TASK_MODE -@itemize - -@item obtain current mode: 14 -@item no reschedule: 16 -@item reschedule -- returns to caller: 23 -@item reschedule -- preempts caller: 60 -@end itemize - -@item TASK_GET_NOTE -@itemize - -@item only case: 33 -@end itemize - -@item TASK_SET_NOTE -@itemize - -@item only case: 33 -@end itemize - -@item TASK_WAKE_AFTER -@itemize - -@item yield -- returns to caller: 16 -@item yield -- preempts caller: 56 -@end itemize - -@item TASK_WAKE_WHEN -@itemize - -@item only case: 117 -@end itemize - -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
TASK_CREATE148
TASK_IDENT350
TASK_START76
TASK_RESTART
calling task
95
suspended task -- returns to caller
89
blocked task -- returns to caller
124
ready task -- returns to caller
92
suspended task -- preempts caller
125
blocked task -- preempts caller
149
ready task -- preempts caller
142
TASK_DELETE
calling task
170
suspended task
138
blocked task
143
ready task
144
TASK_SUSPEND
calling task
71
returns to caller
43
TASK_RESUME
task readied -- returns to caller
45
task readied -- preempts caller
67
TASK_SET_PRIORITY
obtain current priority
31
returns to caller
64
preempts caller
106
TASK_MODE
obtain current mode
14
no reschedule
16
reschedule -- returns to caller
23
reschedule -- preempts caller
60
TASK_GET_NOTE33
TASK_SET_NOTE33
TASK_WAKE_AFTER
yield -- returns to caller
16
yield -- preempts caller
56
TASK_WAKE_WHEN117
-
-@end html -@end ifset - -@page -@section Interrupt Manager - -It should be noted that the interrupt entry times -include vectoring the interrupt handler. - -@ifset use-tex -@sp 1 -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsdirective{Interrupt Entry Overhead} -\rtemscase{returns to nested interrupt}{12} -\rtemscase{returns to interrupted task} - {9} -\rtemscase{returns to preempting task} - {9} -\rtemsdirective{Interrupt Exit Overhead} -\rtemscase{returns to nested interrupt}{<1} -\rtemscase{returns to interrupted task} - {8} -\rtemscase{returns to preempting task} - {54} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet - -@item Interrupt Entry Overhead -@itemize - -@item returns to nested interrupt: 12 -@item returns to interrupted task: 9 -@item returns to preempting task: 9 -@end itemize - -@item Interrupt Exit Overhead -@itemize - -@item returns to nested interrupt: <1 -@item returns to interrupted task: 8 -@item returns to preempting task: 54 -@end itemize - -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - - - - - - - - - -
Interrupt Entry Overhead
returns to nested interrupt
12
returns to interrupted task
9
returns to preempting task
9
Interrupt Exit Overhead
returns to nested interrupt
<1
returns to interrupted task
8
returns to preempting task
54
-
-@end html -@end ifset - - -@section Clock Manager - -@ifset use-tex -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsonecase{CLOCK\_SET}{86} -\rtemsonecase{CLOCK\_GET}{1} -\rtemsonecase{CLOCK\_TICK}{17} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet - -@item CLOCK_SET -@itemize - -@item only case: 86 -@end itemize - -@item CLOCK_GET -@itemize - -@item only case: 1 -@end itemize - -@item CLOCK_TICK -@itemize - -@item only case: 17 -@end itemize - -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - -
CLOCK_SET86
CLOCK_GET1
CLOCK_TICK17
-
-@end html -@end ifset - -@section Timer Manager - -@ifset use-tex -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsonecase{TIMER\_CREATE}{28} -\rtemsonecase{TIMER\_IDENT}{343} -\rtemsdirective{TIMER\_DELETE} -\rtemscase{inactive}{43} -\rtemscase{active}{47} -\rtemsdirective{TIMER\_FIRE\_AFTER} -\rtemscase{inactive}{58} -\rtemscase{active}{61} -\rtemsdirective{TIMER\_FIRE\_WHEN} -\rtemscase{inactive}{88} -\rtemscase{active}{88} -\rtemsdirective{TIMER\_RESET} -\rtemscase{inactive}{54} -\rtemscase{active}{58} -\rtemsdirective{TIMER\_CANCEL} -\rtemscase{inactive}{31} -\rtemscase{active}{34} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet - -@item TIMER_CREATE -@itemize - -@item only case: 28 -@end itemize - -@item TIMER_IDENT -@itemize - -@item only case: 343 -@end itemize - -@item TIMER_DELETE -@itemize - -@item inactive: 43 -@item active: 47 -@end itemize - -@item TIMER_FIRE_AFTER -@itemize - -@item inactive: 58 -@item active: 61 -@end itemize - -@item TIMER_FIRE_WHEN -@itemize - -@item inactive: TIMER_FIRE_WHEN_INACTIVE -@item active: TIMER_FIRE_WHEN_ACTIVE -@end itemize - -@item TIMER_RESET -@itemize - -@item inactive: TIMER_RESET_INACTIVE -@item active: TIMER_RESET_ACTIVE -@end itemize - -@item TIMER_CANCEL -@itemize - -@item inactive: TIMER_CANCEL_INACTIVE -@item active: TIMER_CANCEL_ACTIVE -@end itemize - -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
TIMER_CREATE28
TIMER_IDENT343
TIMER_DELETE
inactive
43
active
47
TIMER_FIRE_AFTER
inactive
58
active
61
TIMER_FIRE_WHEN
inactive
88
active
88
TIMER_RESET
inactive
54
active
58
TIMER_CANCEL
inactive
31
active
34
-
-@end html -@end ifset - -@page -@section Semaphore Manager - -@ifset use-tex -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsonecase{SEMAPHORE\_CREATE}{60} -\rtemsonecase{SEMAPHORE\_IDENT}{367} -\rtemsonecase{SEMAPHORE\_DELETE}{58} -\rtemsdirective{SEMAPHORE\_OBTAIN} -\rtemscase{available}{38} -\rtemscase{not available -- NO\_WAIT} - {38} -\rtemscase{not available -- caller blocks} - {109} -\rtemsdirective{SEMAPHORE\_RELEASE} -\rtemscase{no waiting tasks}{44} -\rtemscase{task readied -- returns to caller} - {66} -\rtemscase{task readied -- preempts caller} - {87} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet - -@item SEMAPHORE_CREATE -@itemize - -@item only case: 60 -@end itemize - -@item SEMAPHORE_IDENT -@itemize - -@item only case: 367 -@end itemize - -@item SEMAPHORE_DELETE -@itemize - -@item only case: 58 -@end itemize - -@item SEMAPHORE_OBTAIN -@itemize - -@item available: 38 -@item not available -- NO_WAIT: 38 -@item not available -- caller blocks: 109 -@end itemize - -@item SEMAPHORE_RELEASE -@itemize - -@item no waiting tasks: 44 -@item task readied -- returns to caller: 66 -@item task readied -- preempts caller: 87 -@end itemize - -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - - - - - - - - - - - - - - - -
SEMAPHORE_CREATE60
SEMAPHORE_IDENT367
SEMAPHORE_DELETE58
SEMAPHORE_OBTAIN
available
38
not available -- NO_WAIT
38
not available -- caller blocks
109
SEMAPHORE_RELEASE
no waiting tasks
44
task readied -- returns to caller
66
task readied -- preempts caller
87
-
-@end html -@end ifset - -@section Message Manager - -@ifset use-tex -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsonecase{MESSAGE\_QUEUE\_CREATE}{200} -\rtemsonecase{MESSAGE\_QUEUE\_IDENT}{341} -\rtemsonecase{MESSAGE\_QUEUE\_DELETE}{80} -\rtemsdirective{MESSAGE\_QUEUE\_SEND} -\rtemscase{no waiting tasks} - {97} -\rtemscase{task readied -- returns to caller} - {101} -\rtemscase{task readied -- preempts caller} - {123} -\rtemsdirective{MESSAGE\_QUEUE\_URGENT} -\rtemscase{no waiting tasks}{96} -\rtemscase{task readied -- returns to caller} - {101} -\rtemscase{task readied -- preempts caller} - {123} -\rtemsdirective{MESSAGE\_QUEUE\_BROADCAST} -\rtemscase{no waiting tasks}{53} -\rtemscase{task readied -- returns to caller} - {111} -\rtemscase{task readied -- preempts caller} - {133} -\rtemsdirective{MESSAGE\_QUEUE\_RECEIVE} -\rtemscase{available}{79} -\rtemscase{not available -- NO\_WAIT} - {43} -\rtemscase{not available -- caller blocks} - {114} -\rtemsdirective{MESSAGE\_QUEUE\_FLUSH} -\rtemscase{no messages flushed}{29} -\rtemscase{messages flushed}{39} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet - -@item MESSAGE_QUEUE_CREATE -@itemize - -@item only case: 200 -@end itemize - -@item MESSAGE_QUEUE_IDENT -@itemize - -@item only case: 341 -@end itemize - -@item MESSAGE_QUEUE_DELETE -@itemize - -@item only case: 80 -@end itemize - -@item MESSAGE_QUEUE_SEND -@itemize - -@item no waiting tasks: 97 -@item task readied -- returns to caller: 101 -@item task readied -- preempts caller: 123 -@end itemize - -@item MESSAGE_QUEUE_URGENT -@itemize - -@item no waiting tasks: 96 -@item task readied -- returns to caller: 101 -@item task readied -- preempts caller: 123 -@end itemize - -@item MESSAGE_QUEUE_BROADCAST -@itemize - -@item no waiting tasks: 53 -@item task readied -- returns to caller: 111 -@item task readied -- preempts caller: 133 -@end itemize - -@item MESSAGE_QUEUE_RECEIVE -@itemize - -@item available: 79 -@item not available -- NO_WAIT: 43 -@item not available -- caller blocks: 114 -@end itemize - -@item MESSAGE_QUEUE_FLUSH -@itemize - -@item no messages flushed: 29 -@item messages flushed: 39 -@end itemize - -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
MESSAGE_QUEUE_CREATE200
MESSAGE_QUEUE_IDENT341
MESSAGE_QUEUE_DELETE80
MESSAGE_QUEUE_SEND
no waiting tasks
97
task readied -- returns to caller
101
task readied -- preempts caller
123
MESSAGE_QUEUE_URGENT
no waiting tasks
96
task readied -- returns to caller
101
task readied -- preempts caller
123
MESSAGE_QUEUE_BROADCAST
no waiting tasks
53
task readied -- returns to caller
111
task readied -- preempts caller
133
MESSAGE_QUEUE_RECEIVE
available
79
not available -- NO_WAIT
43
not available -- caller blocks
114
MESSAGE_QUEUE_FLUSH
no messages flushed
29
messages flushed
39
-
-@end html -@end ifset - -@page -@section Event Manager - -@ifset use-tex -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsdirective{EVENT\_SEND} -\rtemscase{no task readied}{24} -\rtemscase{task readied -- returns to caller} - {60} -\rtemscase{task readied -- preempts caller} - {84} -\rtemsdirective{EVENT\_RECEIVE} -\rtemscase{obtain current events}{1} -\rtemscase{available}{28} -\rtemscase{not available -- NO\_WAIT}{23} -\rtemscase{not available -- caller blocks} - {84} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet - -@item EVENT_SEND -@itemize - -@item no task readied: 24 -@item task readied -- returns to caller: 60 -@item task readied -- preempts caller: 84 -@end itemize - -@item EVENT_RECEIVE -@itemize - -@item obtain current events: 1 -@item available: 28 -@item not available -- NO_WAIT: 23 -@item not available -- caller blocks: 84 -@end itemize - -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - - - - - - - - - - - - -
EVENT_SEND
no task readied
24
task readied -- returns to caller
60
task readied -- preempts caller
84
EVENT_RECEIVE
obtain current events
1
available
28
not available -- NO_WAIT
23
not available -- caller blocks
84
-
-@end html -@end ifset -@section Signal Manager - -@ifset use-tex -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsonecase{SIGNAL\_CATCH}{15} -\rtemsdirective{SIGNAL\_SEND} -\rtemscase{returns to caller}{37} -\rtemscase{signal to self}{55} -\rtemsdirective{EXIT ASR OVERHEAD} -\rtemscase{returns to calling task} - {37} -\rtemscase{returns to preempting task} - {54} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet -@item SIGNAL_CATCH -@itemize - -@item only case: 15 -@end itemize - -@item SIGNAL_SEND -@itemize - -@item returns to caller: 37 -@item signal to self: 55 -@end itemize - -@item EXIT ASR OVERHEAD -@itemize - -@item returns to calling task: 37 -@item returns to preempting task: 54 -@end itemize - -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - - - - - - - -
SIGNAL_CATCH15
SIGNAL_SEND
returns to caller
37
signal to self
55
EXIT ASR OVERHEAD
returns to calling task
- 37
returns to preempting task
- 54
-
-@end html -@end ifset - -@section Partition Manager - -@ifset use-tex -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsonecase{PARTITION\_CREATE}{70} -\rtemsonecase{PARTITION\_IDENT}{341} -\rtemsonecase{PARTITION\_DELETE}{42} -\rtemsdirective{PARTITION\_GET\_BUFFER} -\rtemscase{available}{35} -\rtemscase{not available}{33} -\rtemsonecase{PARTITION\_RETURN\_BUFFER} - {33} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet - -@item PARTITION_CREATE -@itemize - -@item only case: 70 -@end itemize - -@item PARTITION_IDENT -@itemize - -@item only case: 341 -@end itemize - -@item PARTITION_DELETE -@itemize - -@item only case: 42 -@end itemize - -@item PARTITION_GET_BUFFER -@itemize - -@item available: 35 -@item not available: 33 -@end itemize - -@item PARTITION_RETURN_BUFFER -@itemize - -@item only case: 43 -@end itemize - -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - - - - - - - - -
PARTITION_CREATE70
PARTITION_IDENT341
PARTITION_DELETE42
PARTITION_GET_BUFFER
available
35
not available
33
PARTITION_RETURN_BUFFER33
-
-@end html -@end ifset - -@page -@section Region Manager - -@ifset use-tex -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsonecase{REGION\_CREATE}{63} -\rtemsonecase{REGION\_IDENT}{348} -\rtemsonecase{REGION\_DELETE}{39} -\rtemsdirective{REGION\_GET\_SEGMENT} -\rtemscase{available}{52} -\rtemscase{not available -- NO\_WAIT} - {49} -\rtemscase{not available -- caller blocks} - {123} -\rtemsdirective{REGION\_RETURN\_SEGMENT} -\rtemscase{no waiting tasks}{54} -\rtemscase{task readied -- returns to caller} - {114} -\rtemscase{task readied -- preempts caller} - {136} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet - -@item REGION_CREATE -@itemize - -@item only case: 63 -@end itemize - -@item REGION_IDENT -@itemize - -@item only case: 348 -@end itemize - -@item REGION_DELETE -@itemize - -@item only case: 39 -@end itemize - -@item REGION_GET_SEGMENT -@itemize - -@item available: 52 -@item not available -- NO_WAIT: 49 -@item not available -- caller blocks: 123 -@end itemize - -@item REGION_RETURN_SEGMENT -@itemize - -@item no waiting tasks: 54 -@item task readied -- returns to caller: 114 -@item task readied -- preempts caller: 136 -@end itemize - -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - - - - - - - - - - - - - - - -
REGION_CREATE63
REGION_IDENT348
REGION_DELETE39
REGION_GET_SEGMENT
available
52
not available -- NO_WAIT
- 49
not available -- caller blocks
- 123
REGION_RETURN_SEGMENT
no waiting tasks
54
task readied -- returns to caller
- 114
task readied -- preempts caller
- 136
-
-@end html -@end ifset - -@section Dual-Ported Memory Manager - -@ifset use-tex -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsonecase{PORT\_CREATE}{35} -\rtemsonecase{PORT\_IDENT}{340} -\rtemsonecase{PORT\_DELETE}{39} -\rtemsonecase{PORT\_INTERNAL\_TO\_EXTERNAL} - {26} -\rtemsonecase{PORT\_EXTERNAL\_TO\_INTERNAL} - {27} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet - -@item PORT_CREATE -@itemize - -@item only case: 35 -@end itemize - -@item PORT_IDENT -@itemize - -@item only case: 340 -@end itemize - -@item PORT_DELETE -@itemize - -@item only case: 39 -@end itemize - -@item PORT_INTERNAL_TO_EXTERNAL -@itemize - -@item only case: 26 -@end itemize - -@item PORT_EXTERNAL_TO_INTERNAL -@itemize - -@item only case: 27 -@end itemize - -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - - - - - - -
PORT_CREATE35
PORT_IDENT340
PORT_DELETE39
PORT_INTERNAL_TO_EXTERNAL26
PORT_EXTERNAL_TO_INTERNAL27
-
-@end html -@end ifset - -@section I/O Manager - -@ifset use-tex -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsonecase{IO\_INITIALIZE}{4} -\rtemsonecase{IO\_OPEN}{2} -\rtemsonecase{IO\_CLOSE}{1} -\rtemsonecase{IO\_READ}{2} -\rtemsonecase{IO\_WRITE}{3} -\rtemsonecase{IO\_CONTROL}{2} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet - -@item IO_INITIALIZE -@itemize - -@item only case: 4 -@end itemize - -@item IO_OPEN -@itemize - -@item only case: 2 -@end itemize - -@item IO_CLOSE -@itemize - -@item only case: 1 -@end itemize - -@item IO_READ -@itemize - -@item only case: 2 -@end itemize - -@item IO_WRITE -@itemize - -@item only case: 3 -@end itemize - -@item IO_CONTROL -@itemize - -@item only case: 2 -@end itemize - -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - - - - - - - -
IO_INITIALIZE4
IO_OPEN2
IO_CLOSE1
IO_READ2
IO_WRITE3
IO_CONTROL2
-
-@end html -@end ifset - -@section Rate Monotonic Manager - -@ifset use-tex -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsonecase{RATE\_MONOTONIC\_CREATE}{32} -\rtemsonecase{RATE\_MONOTONIC\_IDENT}{341} -\rtemsonecase{RATE\_MONOTONIC\_CANCEL}{39} -\rtemsdirective{RATE\_MONOTONIC\_DELETE} -\rtemscase{active}{51} -\rtemscase{inactive}{48} -\rtemsdirective{RATE\_MONOTONIC\_PERIOD} -\rtemscase{initiate period -- returns to caller} - {54} -\rtemscase{conclude period -- caller blocks} - {74} -\rtemscase{obtain status}{31} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet - -@item RATE_MONOTONIC_CREATE -@itemize - -@item only case: 32 -@end itemize - -@item RATE_MONOTONIC_IDENT -@itemize - -@item only case: 341 -@end itemize - -@item RATE_MONOTONIC_CANCEL -@itemize - -@item only case: 39 -@end itemize - -@item RATE_MONOTONIC_DELETE -@itemize - -@item active: 51 -@item inactive: 48 -@end itemize - -@item RATE_MONOTONIC_PERIOD -@itemize - -@item initiate period -- returns to caller: 54 -@item conclude period -- caller blocks: 74 -@item obtain status: 31 -@end itemize - -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - - - - - - - - - - - - - -
RATE_MONOTONIC_CREATE32
RATE_MONOTONIC_IDENT341
RATE_MONOTONIC_CANCEL39
RATE_MONOTONIC_DELETE
active
51
inactive
48
RATE_MONOTONIC_PERIOD
initiate period -- returns to caller
- 54
conclude period -- caller blocks
- 74
obtain status
31
-
-@end html -@end ifset - -@tex -\global\advance \smallskipamount by 4pt -@end tex - -@tex -\global\advance \smallskipamount by 4pt -@end tex diff --git a/doc/supplements/powerpc/timeDMV177_.t b/doc/supplements/powerpc/timeDMV177_.t deleted file mode 100644 index 85bb6fb41b..0000000000 --- a/doc/supplements/powerpc/timeDMV177_.t +++ /dev/null @@ -1,1447 +0,0 @@ -@c -@c Timing information for the DMV177 -@c -@c COPYRIGHT (c) 1988-1999. -@c On-Line Applications Research Corporation (OAR). -@c All rights reserved. -@c -@c $Id$ -@c - -@include ../../common/timemac.texi -@tex -\global\advance \smallskipamount by -4pt -@end tex - -@chapter DMV177 Timing Data - -@section Introduction - -The timing data for RTEMS on the DY-4 DMV177 board -is provided along with the target -dependent aspects concerning the gathering of the timing data. -The hardware platform used to gather the times is described to -give the reader a better understanding of each directive time -provided. Also, provided is a description of the interrupt -latency and the context switch times as they pertain to the -PowerPC version of RTEMS. - -@section Hardware Platform - -All times reported in this chapter were measured using a DMV177 board. -All data and code caching was disabled. This results in very deterministic -times which represent the worst possible performance. Many embedded -applications disable caching to insure that execution times are -repeatable. Moreover, the JTAG port on certain revisions of the PowerPC -603e does not operate properly if caching is enabled. Thus during -development and debug, caching must be off. - -The PowerPC decrementer register was was used to gather -all timing information. In the PowerPC architecture, -this register typically counts -something like CPU cycles or is a function of the clock -speed. On the PPC603e decrements once for every four (4) bus cycles. -On the DMV177, the bus operates at a clock speed of -33 Mhz. This result in a very accurate number since it is a function of the -microprocessor itself. Thus all measurements in this -chapter are reported as the actual number of decrementer -clicks reported. - -To convert the numbers reported to microseconds, one should -divide the number reported by 8.650752. This number was derived as -shown below: - -@example -((33 * 1048576) / 1000000) / 4 = 8.650752 -@end example - -All sources of hardware interrupts were disabled, -although traps were enabled and the interrupt level of the -PowerPC allows all interrupts. - -@section Interrupt Latency - -The maximum period with traps disabled or the -processor interrupt level set to it's highest value inside RTEMS -is less than TBD -microseconds including the instructions which -disable and re-enable interrupts. The time required for the -PowerPC to vector an interrupt and for the RTEMS entry overhead -before invoking the user's trap handler are a total of -202 -microseconds. These combine to yield a worst case interrupt -latency of less than TBD + -202 microseconds at -100.0 Mhz. -[NOTE: The maximum period with interrupts disabled was last -determined for Release 4.0.0-lmco.] - -The maximum period with interrupts disabled within -RTEMS is hand-timed with some assistance from the PowerPC simulator. -The maximum period with interrupts disabled with RTEMS has not -been calculated on this target. - -The interrupt vector and entry overhead time was -generated on the PSIM benchmark platform using the PowerPC's -decrementer register. This register was programmed to generate -an interrupt after one countdown. - -@section Context Switch - -The RTEMS processor context switch time is 585 -bus cycle on the DMV177 benchmark platform when no floating -point context is saved or restored. Additional execution time -is required when a TASK_SWITCH user extension is configured. -The use of the TASK_SWITCH extension is application dependent. -Thus, its execution time is not considered part of the raw -context switch time. - -Since RTEMS was designed specifically for embedded -missile applications which are floating point intensive, the -executive is optimized to avoid unnecessarily saving and -restoring the state of the numeric coprocessor. The state of -the numeric coprocessor is only saved when an FLOATING_POINT -task is dispatched and that task was not the last task to -utilize the coprocessor. In a system with only one -FLOATING_POINT task, the state of the numeric coprocessor will -never be saved or restored. When the first FLOATING_POINT task -is dispatched, RTEMS does not need to save the current state of -the numeric coprocessor. - -The following table summarizes the context switch -times for the DMV177 benchmark platform: - -@c ****** This comment is here to remind you not to edit the timetbl.t -@c ****** in any directory but common. -@c -@c Time Table Template -@c -@c COPYRIGHT (c) 1988-1999. -@c On-Line Applications Research Corporation (OAR). -@c All rights reserved. -@c -@c $Id$ -@c - -@ifset use-tex -@sp 1 -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsonecase{No Floating Point Contexts}{585} -\rtemsdirective{Floating Point Contexts} -\rtemscase{restore first FP task}{730} -\rtemscase{save initialized, restore initialized}{478} -\rtemscase{save idle, restore initialized}{825} -\rtemscase{save idle, restore idle}{478} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet -@item No Floating Point Contexts -@itemize - -@item only case: 585 -@end itemize -@item Floating Point Contexts -@itemize - -@item restore first FP task: 730 -@item save initialized, restore initialized: 478 -@item save idle, restore initialized: 825 -@item save idle, restore idle: 825 -@end itemize -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - - - - - - -
No Floating Point Contexts585
Floating Point Contexts
restore first FP task
730
save initialized, restore initialized
478
save idle, restore initialized
825
save idle, restore idle
478
-
-@end html -@end ifset - -@section Directive Times - -This sections is divided into a number of -subsections, each of which contains a table listing the -execution times of that manager's directives. - -@page -@section Task Manager - -@ifset use-tex -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsonecase{TASK\_CREATE}{2301} -\rtemsonecase{TASK\_IDENT}{2900} -\rtemsonecase{TASK\_START}{794} -\rtemsdirective{TASK\_RESTART} -\rtemscase{calling task}{1137} -\rtemscase{suspended task -- returns to caller} - {906} -\rtemscase{blocked task -- returns to caller} - {1102} -\rtemscase{ready task -- returns to caller} - {928} -\rtemscase{suspended task -- preempts caller} - {1483} -\rtemscase{blocked task -- preempts caller} - {1640} -\rtemscase{ready task -- preempts caller} - {1601} -\rtemsdirective{TASK\_DELETE} -\rtemscase{calling task}{2117} -\rtemscase{suspended task}{1555} -\rtemscase{blocked task}{1609} -\rtemscase{ready task}{1620} -\rtemsdirective{TASK\_SUSPEND} -\rtemscase{calling task}{960} -\rtemscase{returns to caller}{433} -\rtemsdirective{TASK\_RESUME} -\rtemscase{task readied -- returns to caller} - {960} -\rtemscase{task readied -- preempts caller} - {803} -\rtemsdirective{TASK\_SET\_PRIORITY} -\rtemscase{obtain current priority} - {368} -\rtemscase{returns to caller}{633} -\rtemscase{preempts caller}{1211} -\rtemsdirective{TASK\_MODE} -\rtemscase{obtain current mode}{184} -\rtemscase{no reschedule}{213} -\rtemscase{reschedule -- returns to caller} - {247} -\rtemscase{reschedule -- preempts caller} - {919} -\rtemsonecase{TASK\_GET\_NOTE}{382} -\rtemsonecase{TASK\_SET\_NOTE}{383} -\rtemsdirective{TASK\_WAKE\_AFTER} -\rtemscase{yield -- returns to caller} - {245} -\rtemscase{yield -- preempts caller} - {851} -\rtemsonecase{TASK\_WAKE\_WHEN}{1275} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet - -@item TASK_CREATE -@itemize - -@item only case: 2301 -@end itemize - -@item TASK_IDENT -@itemize - -@item only case: 2900 -@end itemize - -@item TASK_START -@itemize - -@item only case: 794 -@end itemize - -@item TASK_RESTART -@itemize - -@item calling task: 1137 -@item suspended task -- returns to caller: 906 -@item blocked task -- returns to caller: 1102 -@item ready task -- returns to caller: 928 -@item suspended task -- preempts caller: 1483 -@item blocked task -- preempts caller: 1640 -@item ready task -- preempts caller: 1601 -@end itemize - -@item TASK_DELETE -@itemize - -@item calling task: 2117 -@item suspended task: 1555 -@item blocked task: 1609 -@item ready task: 1620 -@end itemize - -@item TASK_SUSPEND -@itemize - -@item calling task: 960 -@item returns to caller: 433 -@end itemize - -@item TASK_RESUME -@itemize - -@item task readied -- returns to caller: 960 -@item task readied -- preempts caller: 803 -@end itemize - -@item TASK_SET_PRIORITY -@itemize - -@item obtain current priority: 368 -@item returns to caller: 633 -@item preempts caller: 1211 -@end itemize - -@item TASK_MODE -@itemize - -@item obtain current mode: 184 -@item no reschedule: 213 -@item reschedule -- returns to caller: 247 -@item reschedule -- preempts caller: 919 -@end itemize - -@item TASK_GET_NOTE -@itemize - -@item only case: 382 -@end itemize - -@item TASK_SET_NOTE -@itemize - -@item only case: 383 -@end itemize - -@item TASK_WAKE_AFTER -@itemize - -@item yield -- returns to caller: 245 -@item yield -- preempts caller: 851 -@end itemize - -@item TASK_WAKE_WHEN -@itemize - -@item only case: 1275 -@end itemize - -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
TASK_CREATE2301
TASK_IDENT2900
TASK_START794
TASK_RESTART
calling task
1137
suspended task -- returns to caller
906
blocked task -- returns to caller
1102
ready task -- returns to caller
928
suspended task -- preempts caller
1483
blocked task -- preempts caller
1640
ready task -- preempts caller
1601
TASK_DELETE
calling task
2117
suspended task
1555
blocked task
1609
ready task
1620
TASK_SUSPEND
calling task
960
returns to caller
433
TASK_RESUME
task readied -- returns to caller
960
task readied -- preempts caller
803
TASK_SET_PRIORITY
obtain current priority
368
returns to caller
633
preempts caller
1211
TASK_MODE
obtain current mode
184
no reschedule
213
reschedule -- returns to caller
247
reschedule -- preempts caller
919
TASK_GET_NOTE382
TASK_SET_NOTE383
TASK_WAKE_AFTER
yield -- returns to caller
245
yield -- preempts caller
851
TASK_WAKE_WHEN1275
-
-@end html -@end ifset - -@page -@section Interrupt Manager - -It should be noted that the interrupt entry times -include vectoring the interrupt handler. - -@ifset use-tex -@sp 1 -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsdirective{Interrupt Entry Overhead} -\rtemscase{returns to nested interrupt}{201} -\rtemscase{returns to interrupted task} - {206} -\rtemscase{returns to preempting task} - {202} -\rtemsdirective{Interrupt Exit Overhead} -\rtemscase{returns to nested interrupt}{201} -\rtemscase{returns to interrupted task} - {213} -\rtemscase{returns to preempting task} - {857} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet - -@item Interrupt Entry Overhead -@itemize - -@item returns to nested interrupt: 201 -@item returns to interrupted task: 206 -@item returns to preempting task: 202 -@end itemize - -@item Interrupt Exit Overhead -@itemize - -@item returns to nested interrupt: 201 -@item returns to interrupted task: 213 -@item returns to preempting task: 857 -@end itemize - -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - - - - - - - - - -
Interrupt Entry Overhead
returns to nested interrupt
201
returns to interrupted task
206
returns to preempting task
202
Interrupt Exit Overhead
returns to nested interrupt
201
returns to interrupted task
213
returns to preempting task
857
-
-@end html -@end ifset - - -@section Clock Manager - -@ifset use-tex -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsonecase{CLOCK\_SET}{792} -\rtemsonecase{CLOCK\_GET}{78} -\rtemsonecase{CLOCK\_TICK}{214} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet - -@item CLOCK_SET -@itemize - -@item only case: 792 -@end itemize - -@item CLOCK_GET -@itemize - -@item only case: 78 -@end itemize - -@item CLOCK_TICK -@itemize - -@item only case: 214 -@end itemize - -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - -
CLOCK_SET792
CLOCK_GET78
CLOCK_TICK214
-
-@end html -@end ifset - -@section Timer Manager - -@ifset use-tex -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsonecase{TIMER\_CREATE}{357} -\rtemsonecase{TIMER\_IDENT}{2828} -\rtemsdirective{TIMER\_DELETE} -\rtemscase{inactive}{432} -\rtemscase{active}{471} -\rtemsdirective{TIMER\_FIRE\_AFTER} -\rtemscase{inactive}{607} -\rtemscase{active}{646} -\rtemsdirective{TIMER\_FIRE\_WHEN} -\rtemscase{inactive}{766} -\rtemscase{active}{764} -\rtemsdirective{TIMER\_RESET} -\rtemscase{inactive}{552} -\rtemscase{active}{766} -\rtemsdirective{TIMER\_CANCEL} -\rtemscase{inactive}{339} -\rtemscase{active}{378} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet - -@item TIMER_CREATE -@itemize - -@item only case: 357 -@end itemize - -@item TIMER_IDENT -@itemize - -@item only case: 2828 -@end itemize - -@item TIMER_DELETE -@itemize - -@item inactive: 432 -@item active: 471 -@end itemize - -@item TIMER_FIRE_AFTER -@itemize - -@item inactive: 607 -@item active: 646 -@end itemize - -@item TIMER_FIRE_WHEN -@itemize - -@item inactive: TIMER_FIRE_WHEN_INACTIVE -@item active: TIMER_FIRE_WHEN_ACTIVE -@end itemize - -@item TIMER_RESET -@itemize - -@item inactive: TIMER_RESET_INACTIVE -@item active: TIMER_RESET_ACTIVE -@end itemize - -@item TIMER_CANCEL -@itemize - -@item inactive: TIMER_CANCEL_INACTIVE -@item active: TIMER_CANCEL_ACTIVE -@end itemize - -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
TIMER_CREATE357
TIMER_IDENT2828
TIMER_DELETE
inactive
432
active
471
TIMER_FIRE_AFTER
inactive
607
active
646
TIMER_FIRE_WHEN
inactive
766
active
764
TIMER_RESET
inactive
552
active
766
TIMER_CANCEL
inactive
339
active
378
-
-@end html -@end ifset - -@page -@section Semaphore Manager - -@ifset use-tex -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsonecase{SEMAPHORE\_CREATE}{571} -\rtemsonecase{SEMAPHORE\_IDENT}{3243} -\rtemsonecase{SEMAPHORE\_DELETE}{575} -\rtemsdirective{SEMAPHORE\_OBTAIN} -\rtemscase{available}{414} -\rtemscase{not available -- NO\_WAIT} - {414} -\rtemscase{not available -- caller blocks} - {1254} -\rtemsdirective{SEMAPHORE\_RELEASE} -\rtemscase{no waiting tasks}{501} -\rtemscase{task readied -- returns to caller} - {636} -\rtemscase{task readied -- preempts caller} - {982} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet - -@item SEMAPHORE_CREATE -@itemize - -@item only case: 571 -@end itemize - -@item SEMAPHORE_IDENT -@itemize - -@item only case: 3243 -@end itemize - -@item SEMAPHORE_DELETE -@itemize - -@item only case: 575 -@end itemize - -@item SEMAPHORE_OBTAIN -@itemize - -@item available: 414 -@item not available -- NO_WAIT: 414 -@item not available -- caller blocks: 1254 -@end itemize - -@item SEMAPHORE_RELEASE -@itemize - -@item no waiting tasks: 501 -@item task readied -- returns to caller: 636 -@item task readied -- preempts caller: 982 -@end itemize - -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - - - - - - - - - - - - - - - -
SEMAPHORE_CREATE571
SEMAPHORE_IDENT3243
SEMAPHORE_DELETE575
SEMAPHORE_OBTAIN
available
414
not available -- NO_WAIT
414
not available -- caller blocks
1254
SEMAPHORE_RELEASE
no waiting tasks
501
task readied -- returns to caller
636
task readied -- preempts caller
982
-
-@end html -@end ifset - -@section Message Manager - -@ifset use-tex -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsonecase{MESSAGE\_QUEUE\_CREATE}{2270} -\rtemsonecase{MESSAGE\_QUEUE\_IDENT}{2828} -\rtemsonecase{MESSAGE\_QUEUE\_DELETE}{708} -\rtemsdirective{MESSAGE\_QUEUE\_SEND} -\rtemscase{no waiting tasks} - {923} -\rtemscase{task readied -- returns to caller} - {955} -\rtemscase{task readied -- preempts caller} - {1322} -\rtemsdirective{MESSAGE\_QUEUE\_URGENT} -\rtemscase{no waiting tasks}{919} -\rtemscase{task readied -- returns to caller} - {955} -\rtemscase{task readied -- preempts caller} - {1322} -\rtemsdirective{MESSAGE\_QUEUE\_BROADCAST} -\rtemscase{no waiting tasks}{589} -\rtemscase{task readied -- returns to caller} - {1079} -\rtemscase{task readied -- preempts caller} - {1435} -\rtemsdirective{MESSAGE\_QUEUE\_RECEIVE} -\rtemscase{available}{755} -\rtemscase{not available -- NO\_WAIT} - {467} -\rtemscase{not available -- caller blocks} - {1283} -\rtemsdirective{MESSAGE\_QUEUE\_FLUSH} -\rtemscase{no messages flushed}{369} -\rtemscase{messages flushed}{431} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet - -@item MESSAGE_QUEUE_CREATE -@itemize - -@item only case: 2270 -@end itemize - -@item MESSAGE_QUEUE_IDENT -@itemize - -@item only case: 2828 -@end itemize - -@item MESSAGE_QUEUE_DELETE -@itemize - -@item only case: 708 -@end itemize - -@item MESSAGE_QUEUE_SEND -@itemize - -@item no waiting tasks: 923 -@item task readied -- returns to caller: 955 -@item task readied -- preempts caller: 1322 -@end itemize - -@item MESSAGE_QUEUE_URGENT -@itemize - -@item no waiting tasks: 919 -@item task readied -- returns to caller: 955 -@item task readied -- preempts caller: 1322 -@end itemize - -@item MESSAGE_QUEUE_BROADCAST -@itemize - -@item no waiting tasks: 589 -@item task readied -- returns to caller: 1079 -@item task readied -- preempts caller: 1435 -@end itemize - -@item MESSAGE_QUEUE_RECEIVE -@itemize - -@item available: 755 -@item not available -- NO_WAIT: 467 -@item not available -- caller blocks: 1283 -@end itemize - -@item MESSAGE_QUEUE_FLUSH -@itemize - -@item no messages flushed: 369 -@item messages flushed: 431 -@end itemize - -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
MESSAGE_QUEUE_CREATE2270
MESSAGE_QUEUE_IDENT2828
MESSAGE_QUEUE_DELETE708
MESSAGE_QUEUE_SEND
no waiting tasks
923
task readied -- returns to caller
955
task readied -- preempts caller
1322
MESSAGE_QUEUE_URGENT
no waiting tasks
919
task readied -- returns to caller
955
task readied -- preempts caller
1322
MESSAGE_QUEUE_BROADCAST
no waiting tasks
589
task readied -- returns to caller
1079
task readied -- preempts caller
1435
MESSAGE_QUEUE_RECEIVE
available
755
not available -- NO_WAIT
467
not available -- caller blocks
1283
MESSAGE_QUEUE_FLUSH
no messages flushed
369
messages flushed
431
-
-@end html -@end ifset - -@page -@section Event Manager - -@ifset use-tex -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsdirective{EVENT\_SEND} -\rtemscase{no task readied}{354} -\rtemscase{task readied -- returns to caller} - {571} -\rtemscase{task readied -- preempts caller} - {946} -\rtemsdirective{EVENT\_RECEIVE} -\rtemscase{obtain current events}{43} -\rtemscase{available}{357} -\rtemscase{not available -- NO\_WAIT}{331} -\rtemscase{not available -- caller blocks} - {1043} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet - -@item EVENT_SEND -@itemize - -@item no task readied: 354 -@item task readied -- returns to caller: 571 -@item task readied -- preempts caller: 946 -@end itemize - -@item EVENT_RECEIVE -@itemize - -@item obtain current events: 43 -@item available: 357 -@item not available -- NO_WAIT: 331 -@item not available -- caller blocks: 1043 -@end itemize - -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - - - - - - - - - - - - -
EVENT_SEND
no task readied
354
task readied -- returns to caller
571
task readied -- preempts caller
946
EVENT_RECEIVE
obtain current events
43
available
357
not available -- NO_WAIT
331
not available -- caller blocks
1043
-
-@end html -@end ifset -@section Signal Manager - -@ifset use-tex -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsonecase{SIGNAL\_CATCH}{267} -\rtemsdirective{SIGNAL\_SEND} -\rtemscase{returns to caller}{408} -\rtemscase{signal to self}{607} -\rtemsdirective{EXIT ASR OVERHEAD} -\rtemscase{returns to calling task} - {464} -\rtemscase{returns to preempting task} - {752} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet -@item SIGNAL_CATCH -@itemize - -@item only case: 267 -@end itemize - -@item SIGNAL_SEND -@itemize - -@item returns to caller: 408 -@item signal to self: 607 -@end itemize - -@item EXIT ASR OVERHEAD -@itemize - -@item returns to calling task: 464 -@item returns to preempting task: 752 -@end itemize - -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - - - - - - - -
SIGNAL_CATCH267
SIGNAL_SEND
returns to caller
408
signal to self
607
EXIT ASR OVERHEAD
returns to calling task
- 464
returns to preempting task
- 752
-
-@end html -@end ifset - -@section Partition Manager - -@ifset use-tex -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsonecase{PARTITION\_CREATE}{762} -\rtemsonecase{PARTITION\_IDENT}{2828} -\rtemsonecase{PARTITION\_DELETE}{426} -\rtemsdirective{PARTITION\_GET\_BUFFER} -\rtemscase{available}{394} -\rtemscase{not available}{376} -\rtemsonecase{PARTITION\_RETURN\_BUFFER} - {376} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet - -@item PARTITION_CREATE -@itemize - -@item only case: 762 -@end itemize - -@item PARTITION_IDENT -@itemize - -@item only case: 2828 -@end itemize - -@item PARTITION_DELETE -@itemize - -@item only case: 426 -@end itemize - -@item PARTITION_GET_BUFFER -@itemize - -@item available: 394 -@item not available: 376 -@end itemize - -@item PARTITION_RETURN_BUFFER -@itemize - -@item only case: 420 -@end itemize - -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - - - - - - - - -
PARTITION_CREATE762
PARTITION_IDENT2828
PARTITION_DELETE426
PARTITION_GET_BUFFER
available
394
not available
376
PARTITION_RETURN_BUFFER376
-
-@end html -@end ifset - -@page -@section Region Manager - -@ifset use-tex -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsonecase{REGION\_CREATE}{614} -\rtemsonecase{REGION\_IDENT}{2878} -\rtemsonecase{REGION\_DELETE}{425} -\rtemsdirective{REGION\_GET\_SEGMENT} -\rtemscase{available}{515} -\rtemscase{not available -- NO\_WAIT} - {472} -\rtemscase{not available -- caller blocks} - {1345} -\rtemsdirective{REGION\_RETURN\_SEGMENT} -\rtemscase{no waiting tasks}{544} -\rtemscase{task readied -- returns to caller} - {935} -\rtemscase{task readied -- preempts caller} - {1296} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet - -@item REGION_CREATE -@itemize - -@item only case: 614 -@end itemize - -@item REGION_IDENT -@itemize - -@item only case: 2878 -@end itemize - -@item REGION_DELETE -@itemize - -@item only case: 425 -@end itemize - -@item REGION_GET_SEGMENT -@itemize - -@item available: 515 -@item not available -- NO_WAIT: 472 -@item not available -- caller blocks: 1345 -@end itemize - -@item REGION_RETURN_SEGMENT -@itemize - -@item no waiting tasks: 544 -@item task readied -- returns to caller: 935 -@item task readied -- preempts caller: 1296 -@end itemize - -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - - - - - - - - - - - - - - - -
REGION_CREATE614
REGION_IDENT2878
REGION_DELETE425
REGION_GET_SEGMENT
available
515
not available -- NO_WAIT
- 472
not available -- caller blocks
- 1345
REGION_RETURN_SEGMENT
no waiting tasks
544
task readied -- returns to caller
- 935
task readied -- preempts caller
- 1296
-
-@end html -@end ifset - -@section Dual-Ported Memory Manager - -@ifset use-tex -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsonecase{PORT\_CREATE}{428} -\rtemsonecase{PORT\_IDENT}{2828} -\rtemsonecase{PORT\_DELETE}{421} -\rtemsonecase{PORT\_INTERNAL\_TO\_EXTERNAL} - {339} -\rtemsonecase{PORT\_EXTERNAL\_TO\_INTERNAL} - {339} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet - -@item PORT_CREATE -@itemize - -@item only case: 428 -@end itemize - -@item PORT_IDENT -@itemize - -@item only case: 2828 -@end itemize - -@item PORT_DELETE -@itemize - -@item only case: 421 -@end itemize - -@item PORT_INTERNAL_TO_EXTERNAL -@itemize - -@item only case: 339 -@end itemize - -@item PORT_EXTERNAL_TO_INTERNAL -@itemize - -@item only case: 339 -@end itemize - -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - - - - - - -
PORT_CREATE428
PORT_IDENT2828
PORT_DELETE421
PORT_INTERNAL_TO_EXTERNAL339
PORT_EXTERNAL_TO_INTERNAL339
-
-@end html -@end ifset - -@section I/O Manager - -@ifset use-tex -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsonecase{IO\_INITIALIZE}{52} -\rtemsonecase{IO\_OPEN}{42} -\rtemsonecase{IO\_CLOSE}{44} -\rtemsonecase{IO\_READ}{42} -\rtemsonecase{IO\_WRITE}{44} -\rtemsonecase{IO\_CONTROL}{42} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet - -@item IO_INITIALIZE -@itemize - -@item only case: 52 -@end itemize - -@item IO_OPEN -@itemize - -@item only case: 42 -@end itemize - -@item IO_CLOSE -@itemize - -@item only case: 44 -@end itemize - -@item IO_READ -@itemize - -@item only case: 42 -@end itemize - -@item IO_WRITE -@itemize - -@item only case: 44 -@end itemize - -@item IO_CONTROL -@itemize - -@item only case: 42 -@end itemize - -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - - - - - - - -
IO_INITIALIZE52
IO_OPEN42
IO_CLOSE44
IO_READ42
IO_WRITE44
IO_CONTROL42
-
-@end html -@end ifset - -@section Rate Monotonic Manager - -@ifset use-tex -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsonecase{RATE\_MONOTONIC\_CREATE}{388} -\rtemsonecase{RATE\_MONOTONIC\_IDENT}{2826} -\rtemsonecase{RATE\_MONOTONIC\_CANCEL}{427} -\rtemsdirective{RATE\_MONOTONIC\_DELETE} -\rtemscase{active}{519} -\rtemscase{inactive}{465} -\rtemsdirective{RATE\_MONOTONIC\_PERIOD} -\rtemscase{initiate period -- returns to caller} - {556} -\rtemscase{conclude period -- caller blocks} - {842} -\rtemscase{obtain status}{377} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet - -@item RATE_MONOTONIC_CREATE -@itemize - -@item only case: 388 -@end itemize - -@item RATE_MONOTONIC_IDENT -@itemize - -@item only case: 2826 -@end itemize - -@item RATE_MONOTONIC_CANCEL -@itemize - -@item only case: 427 -@end itemize - -@item RATE_MONOTONIC_DELETE -@itemize - -@item active: 519 -@item inactive: 465 -@end itemize - -@item RATE_MONOTONIC_PERIOD -@itemize - -@item initiate period -- returns to caller: 556 -@item conclude period -- caller blocks: 842 -@item obtain status: 377 -@end itemize - -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - - - - - - - - - - - - - -
RATE_MONOTONIC_CREATE388
RATE_MONOTONIC_IDENT2826
RATE_MONOTONIC_CANCEL427
RATE_MONOTONIC_DELETE
active
519
inactive
465
RATE_MONOTONIC_PERIOD
initiate period -- returns to caller
- 556
conclude period -- caller blocks
- 842
obtain status
377
-
-@end html -@end ifset - -@tex -\global\advance \smallskipamount by 4pt -@end tex - -@tex -\global\advance \smallskipamount by 4pt -@end tex diff --git a/doc/supplements/powerpc/timePSIM_.t b/doc/supplements/powerpc/timePSIM_.t deleted file mode 100644 index 76239b0c39..0000000000 --- a/doc/supplements/powerpc/timePSIM_.t +++ /dev/null @@ -1,1431 +0,0 @@ -@c -@c Timing information for PSIM -@c -@c COPYRIGHT (c) 1988-1999. -@c On-Line Applications Research Corporation (OAR). -@c All rights reserved. -@c -@c $Id$ -@c - -@include ../../common/timemac.texi -@tex -\global\advance \smallskipamount by -4pt -@end tex - -@chapter PSIM Timing Data - -@section Introduction - -The timing data for RTEMS on the PSIM target -is provided along with the target -dependent aspects concerning the gathering of the timing data. -The hardware platform used to gather the times is described to -give the reader a better understanding of each directive time -provided. Also, provided is a description of the interrupt -latency and the context switch times as they pertain to the -PowerPC version of RTEMS. - -@section Hardware Platform - -All times reported in this chapter were measured using the PowerPC -Instruction Simulator (PSIM). PSIM simulates a variety of PowerPC -6xx models with the PPC603e being used as the basis for the measurements -reported in this chapter. - -The PowerPC decrementer register was was used to gather -all timing information. In real hardware implementations -of the PowerPC architecture, this register would typically -count something like CPU cycles or be a function of the clock -speed. However, with PSIM each count of the decrementer register -represents an instruction. Thus all measurements in this -chapter are reported as the actual number of instructions -executed. All sources of hardware interrupts were disabled, -although traps were enabled and the interrupt level of the -PowerPC allows all interrupts. - -@section Interrupt Latency - -The maximum period with traps disabled or the -processor interrupt level set to it's highest value inside RTEMS -is less than TBD -microseconds including the instructions which -disable and re-enable interrupts. The time required for the -PowerPC to vector an interrupt and for the RTEMS entry overhead -before invoking the user's trap handler are a total of -61 -microseconds. These combine to yield a worst case interrupt -latency of less than TBD + -61 microseconds at -na Mhz. -[NOTE: The maximum period with interrupts disabled was last -determined for Release 4.0.0-lmco.] - -The maximum period with interrupts disabled within -RTEMS is hand-timed with some assistance from PSIM. The maximum -period with interrupts disabled with RTEMS occurs was not measured -on this target. - -The interrupt vector and entry overhead time was -generated on the PSIM benchmark platform using the PowerPC's -decrementer register. This register was programmed to generate -an interrupt after one countdown. - -@section Context Switch - -The RTEMS processor context switch time is 214 -instructions on the PSIM benchmark platform when no floating -point context is saved or restored. Additional execution time -is required when a TASK_SWITCH user extension is configured. -The use of the TASK_SWITCH extension is application dependent. -Thus, its execution time is not considered part of the raw -context switch time. - -Since RTEMS was designed specifically for embedded -missile applications which are floating point intensive, the -executive is optimized to avoid unnecessarily saving and -restoring the state of the numeric coprocessor. The state of -the numeric coprocessor is only saved when an FLOATING_POINT -task is dispatched and that task was not the last task to -utilize the coprocessor. In a system with only one -FLOATING_POINT task, the state of the numeric coprocessor will -never be saved or restored. When the first FLOATING_POINT task -is dispatched, RTEMS does not need to save the current state of -the numeric coprocessor. - -The following table summarizes the context switch -times for the PSIM benchmark platform: -@c ****** This comment is here to remind you not to edit the timetbl.t -@c ****** in any directory but common. -@c -@c Time Table Template -@c -@c COPYRIGHT (c) 1988-1999. -@c On-Line Applications Research Corporation (OAR). -@c All rights reserved. -@c -@c $Id$ -@c - -@ifset use-tex -@sp 1 -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsonecase{No Floating Point Contexts}{214} -\rtemsdirective{Floating Point Contexts} -\rtemscase{restore first FP task}{255} -\rtemscase{save initialized, restore initialized}{140} -\rtemscase{save idle, restore initialized}{140} -\rtemscase{save idle, restore idle}{290} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet -@item No Floating Point Contexts -@itemize - -@item only case: 214 -@end itemize -@item Floating Point Contexts -@itemize - -@item restore first FP task: 255 -@item save initialized, restore initialized: 140 -@item save idle, restore initialized: 140 -@item save idle, restore idle: 140 -@end itemize -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - - - - - - -
No Floating Point Contexts214
Floating Point Contexts
restore first FP task
255
save initialized, restore initialized
140
save idle, restore initialized
140
save idle, restore idle
290
-
-@end html -@end ifset - -@section Directive Times - -This sections is divided into a number of -subsections, each of which contains a table listing the -execution times of that manager's directives. - -@page -@section Task Manager - -@ifset use-tex -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsonecase{TASK\_CREATE}{1075} -\rtemsonecase{TASK\_IDENT}{1637} -\rtemsonecase{TASK\_START}{345} -\rtemsdirective{TASK\_RESTART} -\rtemscase{calling task}{483} -\rtemscase{suspended task -- returns to caller} - {396} -\rtemscase{blocked task -- returns to caller} - {491} -\rtemscase{ready task -- returns to caller} - {404} -\rtemscase{suspended task -- preempts caller} - {644} -\rtemscase{blocked task -- preempts caller} - {709} -\rtemscase{ready task -- preempts caller} - {686} -\rtemsdirective{TASK\_DELETE} -\rtemscase{calling task}{941} -\rtemscase{suspended task}{703} -\rtemscase{blocked task}{723} -\rtemscase{ready task}{729} -\rtemsdirective{TASK\_SUSPEND} -\rtemscase{calling task}{403} -\rtemscase{returns to caller}{181} -\rtemsdirective{TASK\_RESUME} -\rtemscase{task readied -- returns to caller} - {191} -\rtemscase{task readied -- preempts caller} - {803} -\rtemsdirective{TASK\_SET\_PRIORITY} -\rtemscase{obtain current priority} - {147} -\rtemscase{returns to caller}{264} -\rtemscase{preempts caller}{517} -\rtemsdirective{TASK\_MODE} -\rtemscase{obtain current mode}{88} -\rtemscase{no reschedule}{110} -\rtemscase{reschedule -- returns to caller} - {112} -\rtemscase{reschedule -- preempts caller} - {386} -\rtemsonecase{TASK\_GET\_NOTE}{156} -\rtemsonecase{TASK\_SET\_NOTE}{155} -\rtemsdirective{TASK\_WAKE\_AFTER} -\rtemscase{yield -- returns to caller} - {92} -\rtemscase{yield -- preempts caller} - {348} -\rtemsonecase{TASK\_WAKE\_WHEN}{546} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet - -@item TASK_CREATE -@itemize - -@item only case: 1075 -@end itemize - -@item TASK_IDENT -@itemize - -@item only case: 1637 -@end itemize - -@item TASK_START -@itemize - -@item only case: 345 -@end itemize - -@item TASK_RESTART -@itemize - -@item calling task: 483 -@item suspended task -- returns to caller: 396 -@item blocked task -- returns to caller: 491 -@item ready task -- returns to caller: 404 -@item suspended task -- preempts caller: 644 -@item blocked task -- preempts caller: 709 -@item ready task -- preempts caller: 686 -@end itemize - -@item TASK_DELETE -@itemize - -@item calling task: 941 -@item suspended task: 703 -@item blocked task: 723 -@item ready task: 729 -@end itemize - -@item TASK_SUSPEND -@itemize - -@item calling task: 403 -@item returns to caller: 181 -@end itemize - -@item TASK_RESUME -@itemize - -@item task readied -- returns to caller: 191 -@item task readied -- preempts caller: 803 -@end itemize - -@item TASK_SET_PRIORITY -@itemize - -@item obtain current priority: 147 -@item returns to caller: 264 -@item preempts caller: 517 -@end itemize - -@item TASK_MODE -@itemize - -@item obtain current mode: 88 -@item no reschedule: 110 -@item reschedule -- returns to caller: 112 -@item reschedule -- preempts caller: 386 -@end itemize - -@item TASK_GET_NOTE -@itemize - -@item only case: 156 -@end itemize - -@item TASK_SET_NOTE -@itemize - -@item only case: 155 -@end itemize - -@item TASK_WAKE_AFTER -@itemize - -@item yield -- returns to caller: 92 -@item yield -- preempts caller: 348 -@end itemize - -@item TASK_WAKE_WHEN -@itemize - -@item only case: 546 -@end itemize - -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
TASK_CREATE1075
TASK_IDENT1637
TASK_START345
TASK_RESTART
calling task
483
suspended task -- returns to caller
396
blocked task -- returns to caller
491
ready task -- returns to caller
404
suspended task -- preempts caller
644
blocked task -- preempts caller
709
ready task -- preempts caller
686
TASK_DELETE
calling task
941
suspended task
703
blocked task
723
ready task
729
TASK_SUSPEND
calling task
403
returns to caller
181
TASK_RESUME
task readied -- returns to caller
191
task readied -- preempts caller
803
TASK_SET_PRIORITY
obtain current priority
147
returns to caller
264
preempts caller
517
TASK_MODE
obtain current mode
88
no reschedule
110
reschedule -- returns to caller
112
reschedule -- preempts caller
386
TASK_GET_NOTE156
TASK_SET_NOTE155
TASK_WAKE_AFTER
yield -- returns to caller
92
yield -- preempts caller
348
TASK_WAKE_WHEN546
-
-@end html -@end ifset - -@page -@section Interrupt Manager - -It should be noted that the interrupt entry times -include vectoring the interrupt handler. - -@ifset use-tex -@sp 1 -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsdirective{Interrupt Entry Overhead} -\rtemscase{returns to nested interrupt}{60} -\rtemscase{returns to interrupted task} - {62} -\rtemscase{returns to preempting task} - {61} -\rtemsdirective{Interrupt Exit Overhead} -\rtemscase{returns to nested interrupt}{55} -\rtemscase{returns to interrupted task} - {67} -\rtemscase{returns to preempting task} - {344} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet - -@item Interrupt Entry Overhead -@itemize - -@item returns to nested interrupt: 60 -@item returns to interrupted task: 62 -@item returns to preempting task: 61 -@end itemize - -@item Interrupt Exit Overhead -@itemize - -@item returns to nested interrupt: 55 -@item returns to interrupted task: 67 -@item returns to preempting task: 344 -@end itemize - -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - - - - - - - - - -
Interrupt Entry Overhead
returns to nested interrupt
60
returns to interrupted task
62
returns to preempting task
61
Interrupt Exit Overhead
returns to nested interrupt
55
returns to interrupted task
67
returns to preempting task
344
-
-@end html -@end ifset - - -@section Clock Manager - -@ifset use-tex -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsonecase{CLOCK\_SET}{340} -\rtemsonecase{CLOCK\_GET}{29} -\rtemsonecase{CLOCK\_TICK}{81} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet - -@item CLOCK_SET -@itemize - -@item only case: 340 -@end itemize - -@item CLOCK_GET -@itemize - -@item only case: 29 -@end itemize - -@item CLOCK_TICK -@itemize - -@item only case: 81 -@end itemize - -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - -
CLOCK_SET340
CLOCK_GET29
CLOCK_TICK81
-
-@end html -@end ifset - -@section Timer Manager - -@ifset use-tex -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsonecase{TIMER\_CREATE}{144} -\rtemsonecase{TIMER\_IDENT}{1595} -\rtemsdirective{TIMER\_DELETE} -\rtemscase{inactive}{197} -\rtemscase{active}{181} -\rtemsdirective{TIMER\_FIRE\_AFTER} -\rtemscase{inactive}{252} -\rtemscase{active}{269} -\rtemsdirective{TIMER\_FIRE\_WHEN} -\rtemscase{inactive}{333} -\rtemscase{active}{334} -\rtemsdirective{TIMER\_RESET} -\rtemscase{inactive}{233} -\rtemscase{active}{250} -\rtemsdirective{TIMER\_CANCEL} -\rtemscase{inactive}{156} -\rtemscase{active}{140} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet - -@item TIMER_CREATE -@itemize - -@item only case: 144 -@end itemize - -@item TIMER_IDENT -@itemize - -@item only case: 1595 -@end itemize - -@item TIMER_DELETE -@itemize - -@item inactive: 197 -@item active: 181 -@end itemize - -@item TIMER_FIRE_AFTER -@itemize - -@item inactive: 252 -@item active: 269 -@end itemize - -@item TIMER_FIRE_WHEN -@itemize - -@item inactive: TIMER_FIRE_WHEN_INACTIVE -@item active: TIMER_FIRE_WHEN_ACTIVE -@end itemize - -@item TIMER_RESET -@itemize - -@item inactive: TIMER_RESET_INACTIVE -@item active: TIMER_RESET_ACTIVE -@end itemize - -@item TIMER_CANCEL -@itemize - -@item inactive: TIMER_CANCEL_INACTIVE -@item active: TIMER_CANCEL_ACTIVE -@end itemize - -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
TIMER_CREATE144
TIMER_IDENT1595
TIMER_DELETE
inactive
197
active
181
TIMER_FIRE_AFTER
inactive
252
active
269
TIMER_FIRE_WHEN
inactive
333
active
334
TIMER_RESET
inactive
233
active
250
TIMER_CANCEL
inactive
156
active
140
-
-@end html -@end ifset - -@page -@section Semaphore Manager - -@ifset use-tex -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsonecase{SEMAPHORE\_CREATE}{223} -\rtemsonecase{SEMAPHORE\_IDENT}{1836} -\rtemsonecase{SEMAPHORE\_DELETE}{1836} -\rtemsdirective{SEMAPHORE\_OBTAIN} -\rtemscase{available}{175} -\rtemscase{not available -- NO\_WAIT} - {175} -\rtemscase{not available -- caller blocks} - {530} -\rtemsdirective{SEMAPHORE\_RELEASE} -\rtemscase{no waiting tasks}{206} -\rtemscase{task readied -- returns to caller} - {272} -\rtemscase{task readied -- preempts caller} - {415} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet - -@item SEMAPHORE_CREATE -@itemize - -@item only case: 223 -@end itemize - -@item SEMAPHORE_IDENT -@itemize - -@item only case: 1836 -@end itemize - -@item SEMAPHORE_DELETE -@itemize - -@item only case: 1836 -@end itemize - -@item SEMAPHORE_OBTAIN -@itemize - -@item available: 175 -@item not available -- NO_WAIT: 175 -@item not available -- caller blocks: 530 -@end itemize - -@item SEMAPHORE_RELEASE -@itemize - -@item no waiting tasks: 206 -@item task readied -- returns to caller: 272 -@item task readied -- preempts caller: 415 -@end itemize - -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - - - - - - - - - - - - - - - -
SEMAPHORE_CREATE223
SEMAPHORE_IDENT1836
SEMAPHORE_DELETE1836
SEMAPHORE_OBTAIN
available
175
not available -- NO_WAIT
175
not available -- caller blocks
530
SEMAPHORE_RELEASE
no waiting tasks
206
task readied -- returns to caller
272
task readied -- preempts caller
415
-
-@end html -@end ifset - -@section Message Manager - -@ifset use-tex -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsonecase{MESSAGE\_QUEUE\_CREATE}{1022} -\rtemsonecase{MESSAGE\_QUEUE\_IDENT}{1596} -\rtemsonecase{MESSAGE\_QUEUE\_DELETE}{308} -\rtemsdirective{MESSAGE\_QUEUE\_SEND} -\rtemscase{no waiting tasks} - {421} -\rtemscase{task readied -- returns to caller} - {434} -\rtemscase{task readied -- preempts caller} - {581} -\rtemsdirective{MESSAGE\_QUEUE\_URGENT} -\rtemscase{no waiting tasks}{422} -\rtemscase{task readied -- returns to caller} - {435} -\rtemscase{task readied -- preempts caller} - {582} -\rtemsdirective{MESSAGE\_QUEUE\_BROADCAST} -\rtemscase{no waiting tasks}{244} -\rtemscase{task readied -- returns to caller} - {482} -\rtemscase{task readied -- preempts caller} - {630} -\rtemsdirective{MESSAGE\_QUEUE\_RECEIVE} -\rtemscase{available}{345} -\rtemscase{not available -- NO\_WAIT} - {197} -\rtemscase{not available -- caller blocks} - {542} -\rtemsdirective{MESSAGE\_QUEUE\_FLUSH} -\rtemscase{no messages flushed}{142} -\rtemscase{messages flushed}{170} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet - -@item MESSAGE_QUEUE_CREATE -@itemize - -@item only case: 1022 -@end itemize - -@item MESSAGE_QUEUE_IDENT -@itemize - -@item only case: 1596 -@end itemize - -@item MESSAGE_QUEUE_DELETE -@itemize - -@item only case: 308 -@end itemize - -@item MESSAGE_QUEUE_SEND -@itemize - -@item no waiting tasks: 421 -@item task readied -- returns to caller: 434 -@item task readied -- preempts caller: 581 -@end itemize - -@item MESSAGE_QUEUE_URGENT -@itemize - -@item no waiting tasks: 422 -@item task readied -- returns to caller: 435 -@item task readied -- preempts caller: 582 -@end itemize - -@item MESSAGE_QUEUE_BROADCAST -@itemize - -@item no waiting tasks: 244 -@item task readied -- returns to caller: 482 -@item task readied -- preempts caller: 630 -@end itemize - -@item MESSAGE_QUEUE_RECEIVE -@itemize - -@item available: 345 -@item not available -- NO_WAIT: 197 -@item not available -- caller blocks: 542 -@end itemize - -@item MESSAGE_QUEUE_FLUSH -@itemize - -@item no messages flushed: 142 -@item messages flushed: 170 -@end itemize - -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
MESSAGE_QUEUE_CREATE1022
MESSAGE_QUEUE_IDENT1596
MESSAGE_QUEUE_DELETE308
MESSAGE_QUEUE_SEND
no waiting tasks
421
task readied -- returns to caller
434
task readied -- preempts caller
581
MESSAGE_QUEUE_URGENT
no waiting tasks
422
task readied -- returns to caller
435
task readied -- preempts caller
582
MESSAGE_QUEUE_BROADCAST
no waiting tasks
244
task readied -- returns to caller
482
task readied -- preempts caller
630
MESSAGE_QUEUE_RECEIVE
available
345
not available -- NO_WAIT
197
not available -- caller blocks
542
MESSAGE_QUEUE_FLUSH
no messages flushed
142
messages flushed
170
-
-@end html -@end ifset - -@page -@section Event Manager - -@ifset use-tex -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsdirective{EVENT\_SEND} -\rtemscase{no task readied}{145} -\rtemscase{task readied -- returns to caller} - {250} -\rtemscase{task readied -- preempts caller} - {407} -\rtemsdirective{EVENT\_RECEIVE} -\rtemscase{obtain current events}{17} -\rtemscase{available}{133} -\rtemscase{not available -- NO\_WAIT}{130} -\rtemscase{not available -- caller blocks} - {442} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet - -@item EVENT_SEND -@itemize - -@item no task readied: 145 -@item task readied -- returns to caller: 250 -@item task readied -- preempts caller: 407 -@end itemize - -@item EVENT_RECEIVE -@itemize - -@item obtain current events: 17 -@item available: 133 -@item not available -- NO_WAIT: 130 -@item not available -- caller blocks: 442 -@end itemize - -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - - - - - - - - - - - - -
EVENT_SEND
no task readied
145
task readied -- returns to caller
250
task readied -- preempts caller
407
EVENT_RECEIVE
obtain current events
17
available
133
not available -- NO_WAIT
130
not available -- caller blocks
442
-
-@end html -@end ifset -@section Signal Manager - -@ifset use-tex -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsonecase{SIGNAL\_CATCH}{95} -\rtemsdirective{SIGNAL\_SEND} -\rtemscase{returns to caller}{165} -\rtemscase{signal to self}{275} -\rtemsdirective{EXIT ASR OVERHEAD} -\rtemscase{returns to calling task} - {216} -\rtemscase{returns to preempting task} - {329} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet -@item SIGNAL_CATCH -@itemize - -@item only case: 95 -@end itemize - -@item SIGNAL_SEND -@itemize - -@item returns to caller: 165 -@item signal to self: 275 -@end itemize - -@item EXIT ASR OVERHEAD -@itemize - -@item returns to calling task: 216 -@item returns to preempting task: 329 -@end itemize - -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - - - - - - - -
SIGNAL_CATCH95
SIGNAL_SEND
returns to caller
165
signal to self
275
EXIT ASR OVERHEAD
returns to calling task
- 216
returns to preempting task
- 329
-
-@end html -@end ifset - -@section Partition Manager - -@ifset use-tex -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsonecase{PARTITION\_CREATE}{320} -\rtemsonecase{PARTITION\_IDENT}{1596} -\rtemsonecase{PARTITION\_DELETE}{168} -\rtemsdirective{PARTITION\_GET\_BUFFER} -\rtemscase{available}{157} -\rtemscase{not available}{149} -\rtemsonecase{PARTITION\_RETURN\_BUFFER} - {149} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet - -@item PARTITION_CREATE -@itemize - -@item only case: 320 -@end itemize - -@item PARTITION_IDENT -@itemize - -@item only case: 1596 -@end itemize - -@item PARTITION_DELETE -@itemize - -@item only case: 168 -@end itemize - -@item PARTITION_GET_BUFFER -@itemize - -@item available: 157 -@item not available: 149 -@end itemize - -@item PARTITION_RETURN_BUFFER -@itemize - -@item only case: 172 -@end itemize - -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - - - - - - - - -
PARTITION_CREATE320
PARTITION_IDENT1596
PARTITION_DELETE168
PARTITION_GET_BUFFER
available
157
not available
149
PARTITION_RETURN_BUFFER149
-
-@end html -@end ifset - -@page -@section Region Manager - -@ifset use-tex -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsonecase{REGION\_CREATE}{239} -\rtemsonecase{REGION\_IDENT}{1625} -\rtemsonecase{REGION\_DELETE}{167} -\rtemsdirective{REGION\_GET\_SEGMENT} -\rtemscase{available}{206} -\rtemscase{not available -- NO\_WAIT} - {190} -\rtemscase{not available -- caller blocks} - {556} -\rtemsdirective{REGION\_RETURN\_SEGMENT} -\rtemscase{no waiting tasks}{230} -\rtemscase{task readied -- returns to caller} - {412} -\rtemscase{task readied -- preempts caller} - {562} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet - -@item REGION_CREATE -@itemize - -@item only case: 239 -@end itemize - -@item REGION_IDENT -@itemize - -@item only case: 1625 -@end itemize - -@item REGION_DELETE -@itemize - -@item only case: 167 -@end itemize - -@item REGION_GET_SEGMENT -@itemize - -@item available: 206 -@item not available -- NO_WAIT: 190 -@item not available -- caller blocks: 556 -@end itemize - -@item REGION_RETURN_SEGMENT -@itemize - -@item no waiting tasks: 230 -@item task readied -- returns to caller: 412 -@item task readied -- preempts caller: 562 -@end itemize - -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - - - - - - - - - - - - - - - -
REGION_CREATE239
REGION_IDENT1625
REGION_DELETE167
REGION_GET_SEGMENT
available
206
not available -- NO_WAIT
- 190
not available -- caller blocks
- 556
REGION_RETURN_SEGMENT
no waiting tasks
230
task readied -- returns to caller
- 412
task readied -- preempts caller
- 562
-
-@end html -@end ifset - -@section Dual-Ported Memory Manager - -@ifset use-tex -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsonecase{PORT\_CREATE}{167} -\rtemsonecase{PORT\_IDENT}{1594} -\rtemsonecase{PORT\_DELETE}{165} -\rtemsonecase{PORT\_INTERNAL\_TO\_EXTERNAL} - {133} -\rtemsonecase{PORT\_EXTERNAL\_TO\_INTERNAL} - {134} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet - -@item PORT_CREATE -@itemize - -@item only case: 167 -@end itemize - -@item PORT_IDENT -@itemize - -@item only case: 1594 -@end itemize - -@item PORT_DELETE -@itemize - -@item only case: 165 -@end itemize - -@item PORT_INTERNAL_TO_EXTERNAL -@itemize - -@item only case: 133 -@end itemize - -@item PORT_EXTERNAL_TO_INTERNAL -@itemize - -@item only case: 134 -@end itemize - -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - - - - - - -
PORT_CREATE167
PORT_IDENT1594
PORT_DELETE165
PORT_INTERNAL_TO_EXTERNAL133
PORT_EXTERNAL_TO_INTERNAL134
-
-@end html -@end ifset - -@section I/O Manager - -@ifset use-tex -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsonecase{IO\_INITIALIZE}{23} -\rtemsonecase{IO\_OPEN}{18} -\rtemsonecase{IO\_CLOSE}{18} -\rtemsonecase{IO\_READ}{18} -\rtemsonecase{IO\_WRITE}{18} -\rtemsonecase{IO\_CONTROL}{18} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet - -@item IO_INITIALIZE -@itemize - -@item only case: 23 -@end itemize - -@item IO_OPEN -@itemize - -@item only case: 18 -@end itemize - -@item IO_CLOSE -@itemize - -@item only case: 18 -@end itemize - -@item IO_READ -@itemize - -@item only case: 18 -@end itemize - -@item IO_WRITE -@itemize - -@item only case: 18 -@end itemize - -@item IO_CONTROL -@itemize - -@item only case: 18 -@end itemize - -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - - - - - - - -
IO_INITIALIZE23
IO_OPEN18
IO_CLOSE18
IO_READ18
IO_WRITE18
IO_CONTROL18
-
-@end html -@end ifset - -@section Rate Monotonic Manager - -@ifset use-tex -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsonecase{RATE\_MONOTONIC\_CREATE}{149} -\rtemsonecase{RATE\_MONOTONIC\_IDENT}{1595} -\rtemsonecase{RATE\_MONOTONIC\_CANCEL}{169} -\rtemsdirective{RATE\_MONOTONIC\_DELETE} -\rtemscase{active}{212} -\rtemscase{inactive}{186} -\rtemsdirective{RATE\_MONOTONIC\_PERIOD} -\rtemscase{initiate period -- returns to caller} - {226} -\rtemscase{conclude period -- caller blocks} - {362} -\rtemscase{obtain status}{142} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet - -@item RATE_MONOTONIC_CREATE -@itemize - -@item only case: 149 -@end itemize - -@item RATE_MONOTONIC_IDENT -@itemize - -@item only case: 1595 -@end itemize - -@item RATE_MONOTONIC_CANCEL -@itemize - -@item only case: 169 -@end itemize - -@item RATE_MONOTONIC_DELETE -@itemize - -@item active: 212 -@item inactive: 186 -@end itemize - -@item RATE_MONOTONIC_PERIOD -@itemize - -@item initiate period -- returns to caller: 226 -@item conclude period -- caller blocks: 362 -@item obtain status: 142 -@end itemize - -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - - - - - - - - - - - - - -
RATE_MONOTONIC_CREATE149
RATE_MONOTONIC_IDENT1595
RATE_MONOTONIC_CANCEL169
RATE_MONOTONIC_DELETE
active
212
inactive
186
RATE_MONOTONIC_PERIOD
initiate period -- returns to caller
- 226
conclude period -- caller blocks
- 362
obtain status
142
-
-@end html -@end ifset - -@tex -\global\advance \smallskipamount by 4pt -@end tex - -@tex -\global\advance \smallskipamount by 4pt -@end tex diff --git a/doc/supplements/sh/timeBSP_.t b/doc/supplements/sh/timeBSP_.t deleted file mode 100644 index 3da8e44f40..0000000000 --- a/doc/supplements/sh/timeBSP_.t +++ /dev/null @@ -1,1442 +0,0 @@ -@c -@c COPYRIGHT (c) 1988-1999. -@c On-Line Applications Research Corporation (OAR). -@c All rights reserved. -@c -@c $Id$ -@c - -@include ../../common/timemac.texi -@tex -\global\advance \smallskipamount by -4pt -@end tex - -@chapter BSP_FOR_TIMES Timing Data - -@section Introduction - -The timing data for the XXX version of RTEMS is -provided along with the target dependent aspects concerning the -gathering of the timing data. The hardware platform used to -gather the times is described to give the reader a better -understanding of each directive time provided. Also, provided -is a description of the interrupt latency and the context switch -times as they pertain to the XXX version of RTEMS. - -@section Hardware Platform - -All times reported except for the maximum period -interrupts are disabled by RTEMS were measured using a Motorola -BSP_FOR_TIMES CPU board. The BSP_FOR_TIMES is a 20Mhz board with one wait -state dynamic memory and a XXX numeric coprocessor. The -Zilog 8036 countdown timer on this board was used to measure -elapsed time with a one-half microsecond resolution. All -sources of hardware interrupts were disabled, although the -interrupt level of the XXX allows all interrupts. - -The maximum period interrupts are disabled was -measured by summing the number of CPU cycles required by each -assembly language instruction executed while interrupts were -disabled. The worst case times of the XXX microprocessor -were used for each instruction. Zero wait state memory was -assumed. The total CPU cycles executed with interrupts -disabled, including the instructions to disable and enable -interrupts, was divided by 20 to simulate a 20Mhz XXX. It -should be noted that the worst case instruction times for the -XXX assume that the internal cache is disabled and that no -instructions overlap. - -@section Interrupt Latency - -The maximum period with interrupts disabled within -RTEMS is less than TBD -microseconds including the instructions -which disable and re-enable interrupts. The time required for -the XXX to vector an interrupt and for the RTEMS entry -overhead before invoking the user's interrupt handler are a -total of 9 -microseconds. These combine to yield a worst case -interrupt latency of less than -TBD + 9 -microseconds at 20Mhz. [NOTE: The maximum period with interrupts -disabled was last determined for Release -4.0.0.] - -It should be noted again that the maximum period with -interrupts disabled within RTEMS is hand-timed and based upon -worst case (i.e. CPU cache disabled and no instruction overlap) -times for a 20Mhz XXX. The interrupt vector and entry -overhead time was generated on an BSP_FOR_TIMES benchmark platform -using the Multiprocessing Communications registers to generate -as the interrupt source. - -@section Context Switch - -The RTEMS processor context switch time is 35 -microseconds on the BSP_FOR_TIMES benchmark platform when no floating -point context is saved or restored. Additional execution time -is required when a TASK_SWITCH user extension is configured. -The use of the TASK_SWITCH extension is application dependent. -Thus, its execution time is not considered part of the raw -context switch time. - -Since RTEMS was designed specifically for embedded -missile applications which are floating point intensive, the -executive is optimized to avoid unnecessarily saving and -restoring the state of the numeric coprocessor. The state of -the numeric coprocessor is only saved when an FLOATING_POINT -task is dispatched and that task was not the last task to -utilize the coprocessor. In a system with only one -FLOATING_POINT task, the state of the numeric coprocessor will -never be saved or restored. When the first FLOATING_POINT task -is dispatched, RTEMS does not need to save the current state of -the numeric coprocessor. - -The exact amount of time required to save and restore -floating point context is dependent on whether an XXX or -XXX is being used as well as the state of the numeric -coprocessor. These numeric coprocessors define three operating -states: initialized, idle, and busy. RTEMS places the -coprocessor in the initialized state when a task is started or -restarted. Once the task has utilized the coprocessor, it is in -the idle state when floating point instructions are not -executing and the busy state when floating point instructions -are executing. The state of the coprocessor is task specific. - -The following table summarizes the context switch -times for the BSP_FOR_TIMES benchmark platform: - -@c ****** This comment is here to remind you not to edit the timetbl.t -@c ****** in any directory but common. -@c -@c Time Table Template -@c -@c COPYRIGHT (c) 1988-1999. -@c On-Line Applications Research Corporation (OAR). -@c All rights reserved. -@c -@c $Id$ -@c - -@ifset use-tex -@sp 1 -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsonecase{No Floating Point Contexts}{35} -\rtemsdirective{Floating Point Contexts} -\rtemscase{restore first FP task}{39} -\rtemscase{save initialized, restore initialized}{66} -\rtemscase{save idle, restore initialized}{66} -\rtemscase{save idle, restore idle}{68} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet -@item No Floating Point Contexts -@itemize - -@item only case: 35 -@end itemize -@item Floating Point Contexts -@itemize - -@item restore first FP task: 39 -@item save initialized, restore initialized: 66 -@item save idle, restore initialized: 66 -@item save idle, restore idle: 66 -@end itemize -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - - - - - - -
No Floating Point Contexts35
Floating Point Contexts
restore first FP task
39
save initialized, restore initialized
66
save idle, restore initialized
66
save idle, restore idle
68
-
-@end html -@end ifset - -@section Directive Times - -This sections is divided into a number of -subsections, each of which contains a table listing the -execution times of that manager's directives. - -@page -@section Task Manager - -@ifset use-tex -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsonecase{TASK\_CREATE}{148} -\rtemsonecase{TASK\_IDENT}{350} -\rtemsonecase{TASK\_START}{76} -\rtemsdirective{TASK\_RESTART} -\rtemscase{calling task}{95} -\rtemscase{suspended task -- returns to caller} - {89} -\rtemscase{blocked task -- returns to caller} - {124} -\rtemscase{ready task -- returns to caller} - {92} -\rtemscase{suspended task -- preempts caller} - {125} -\rtemscase{blocked task -- preempts caller} - {149} -\rtemscase{ready task -- preempts caller} - {142} -\rtemsdirective{TASK\_DELETE} -\rtemscase{calling task}{170} -\rtemscase{suspended task}{138} -\rtemscase{blocked task}{143} -\rtemscase{ready task}{144} -\rtemsdirective{TASK\_SUSPEND} -\rtemscase{calling task}{71} -\rtemscase{returns to caller}{43} -\rtemsdirective{TASK\_RESUME} -\rtemscase{task readied -- returns to caller} - {45} -\rtemscase{task readied -- preempts caller} - {67} -\rtemsdirective{TASK\_SET\_PRIORITY} -\rtemscase{obtain current priority} - {31} -\rtemscase{returns to caller}{64} -\rtemscase{preempts caller}{106} -\rtemsdirective{TASK\_MODE} -\rtemscase{obtain current mode}{14} -\rtemscase{no reschedule}{16} -\rtemscase{reschedule -- returns to caller} - {23} -\rtemscase{reschedule -- preempts caller} - {60} -\rtemsonecase{TASK\_GET\_NOTE}{33} -\rtemsonecase{TASK\_SET\_NOTE}{33} -\rtemsdirective{TASK\_WAKE\_AFTER} -\rtemscase{yield -- returns to caller} - {16} -\rtemscase{yield -- preempts caller} - {56} -\rtemsonecase{TASK\_WAKE\_WHEN}{117} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet - -@item TASK_CREATE -@itemize - -@item only case: 148 -@end itemize - -@item TASK_IDENT -@itemize - -@item only case: 350 -@end itemize - -@item TASK_START -@itemize - -@item only case: 76 -@end itemize - -@item TASK_RESTART -@itemize - -@item calling task: 95 -@item suspended task -- returns to caller: 89 -@item blocked task -- returns to caller: 124 -@item ready task -- returns to caller: 92 -@item suspended task -- preempts caller: 125 -@item blocked task -- preempts caller: 149 -@item ready task -- preempts caller: 142 -@end itemize - -@item TASK_DELETE -@itemize - -@item calling task: 170 -@item suspended task: 138 -@item blocked task: 143 -@item ready task: 144 -@end itemize - -@item TASK_SUSPEND -@itemize - -@item calling task: 71 -@item returns to caller: 43 -@end itemize - -@item TASK_RESUME -@itemize - -@item task readied -- returns to caller: 45 -@item task readied -- preempts caller: 67 -@end itemize - -@item TASK_SET_PRIORITY -@itemize - -@item obtain current priority: 31 -@item returns to caller: 64 -@item preempts caller: 106 -@end itemize - -@item TASK_MODE -@itemize - -@item obtain current mode: 14 -@item no reschedule: 16 -@item reschedule -- returns to caller: 23 -@item reschedule -- preempts caller: 60 -@end itemize - -@item TASK_GET_NOTE -@itemize - -@item only case: 33 -@end itemize - -@item TASK_SET_NOTE -@itemize - -@item only case: 33 -@end itemize - -@item TASK_WAKE_AFTER -@itemize - -@item yield -- returns to caller: 16 -@item yield -- preempts caller: 56 -@end itemize - -@item TASK_WAKE_WHEN -@itemize - -@item only case: 117 -@end itemize - -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
TASK_CREATE148
TASK_IDENT350
TASK_START76
TASK_RESTART
calling task
95
suspended task -- returns to caller
89
blocked task -- returns to caller
124
ready task -- returns to caller
92
suspended task -- preempts caller
125
blocked task -- preempts caller
149
ready task -- preempts caller
142
TASK_DELETE
calling task
170
suspended task
138
blocked task
143
ready task
144
TASK_SUSPEND
calling task
71
returns to caller
43
TASK_RESUME
task readied -- returns to caller
45
task readied -- preempts caller
67
TASK_SET_PRIORITY
obtain current priority
31
returns to caller
64
preempts caller
106
TASK_MODE
obtain current mode
14
no reschedule
16
reschedule -- returns to caller
23
reschedule -- preempts caller
60
TASK_GET_NOTE33
TASK_SET_NOTE33
TASK_WAKE_AFTER
yield -- returns to caller
16
yield -- preempts caller
56
TASK_WAKE_WHEN117
-
-@end html -@end ifset - -@page -@section Interrupt Manager - -It should be noted that the interrupt entry times -include vectoring the interrupt handler. - -@ifset use-tex -@sp 1 -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsdirective{Interrupt Entry Overhead} -\rtemscase{returns to nested interrupt}{12} -\rtemscase{returns to interrupted task} - {9} -\rtemscase{returns to preempting task} - {9} -\rtemsdirective{Interrupt Exit Overhead} -\rtemscase{returns to nested interrupt}{<1} -\rtemscase{returns to interrupted task} - {8} -\rtemscase{returns to preempting task} - {54} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet - -@item Interrupt Entry Overhead -@itemize - -@item returns to nested interrupt: 12 -@item returns to interrupted task: 9 -@item returns to preempting task: 9 -@end itemize - -@item Interrupt Exit Overhead -@itemize - -@item returns to nested interrupt: <1 -@item returns to interrupted task: 8 -@item returns to preempting task: 54 -@end itemize - -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - - - - - - - - - -
Interrupt Entry Overhead
returns to nested interrupt
12
returns to interrupted task
9
returns to preempting task
9
Interrupt Exit Overhead
returns to nested interrupt
<1
returns to interrupted task
8
returns to preempting task
54
-
-@end html -@end ifset - - -@section Clock Manager - -@ifset use-tex -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsonecase{CLOCK\_SET}{86} -\rtemsonecase{CLOCK\_GET}{1} -\rtemsonecase{CLOCK\_TICK}{17} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet - -@item CLOCK_SET -@itemize - -@item only case: 86 -@end itemize - -@item CLOCK_GET -@itemize - -@item only case: 1 -@end itemize - -@item CLOCK_TICK -@itemize - -@item only case: 17 -@end itemize - -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - -
CLOCK_SET86
CLOCK_GET1
CLOCK_TICK17
-
-@end html -@end ifset - -@section Timer Manager - -@ifset use-tex -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsonecase{TIMER\_CREATE}{28} -\rtemsonecase{TIMER\_IDENT}{343} -\rtemsdirective{TIMER\_DELETE} -\rtemscase{inactive}{43} -\rtemscase{active}{47} -\rtemsdirective{TIMER\_FIRE\_AFTER} -\rtemscase{inactive}{58} -\rtemscase{active}{61} -\rtemsdirective{TIMER\_FIRE\_WHEN} -\rtemscase{inactive}{88} -\rtemscase{active}{88} -\rtemsdirective{TIMER\_RESET} -\rtemscase{inactive}{54} -\rtemscase{active}{58} -\rtemsdirective{TIMER\_CANCEL} -\rtemscase{inactive}{31} -\rtemscase{active}{34} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet - -@item TIMER_CREATE -@itemize - -@item only case: 28 -@end itemize - -@item TIMER_IDENT -@itemize - -@item only case: 343 -@end itemize - -@item TIMER_DELETE -@itemize - -@item inactive: 43 -@item active: 47 -@end itemize - -@item TIMER_FIRE_AFTER -@itemize - -@item inactive: 58 -@item active: 61 -@end itemize - -@item TIMER_FIRE_WHEN -@itemize - -@item inactive: TIMER_FIRE_WHEN_INACTIVE -@item active: TIMER_FIRE_WHEN_ACTIVE -@end itemize - -@item TIMER_RESET -@itemize - -@item inactive: TIMER_RESET_INACTIVE -@item active: TIMER_RESET_ACTIVE -@end itemize - -@item TIMER_CANCEL -@itemize - -@item inactive: TIMER_CANCEL_INACTIVE -@item active: TIMER_CANCEL_ACTIVE -@end itemize - -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
TIMER_CREATE28
TIMER_IDENT343
TIMER_DELETE
inactive
43
active
47
TIMER_FIRE_AFTER
inactive
58
active
61
TIMER_FIRE_WHEN
inactive
88
active
88
TIMER_RESET
inactive
54
active
58
TIMER_CANCEL
inactive
31
active
34
-
-@end html -@end ifset - -@page -@section Semaphore Manager - -@ifset use-tex -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsonecase{SEMAPHORE\_CREATE}{60} -\rtemsonecase{SEMAPHORE\_IDENT}{367} -\rtemsonecase{SEMAPHORE\_DELETE}{58} -\rtemsdirective{SEMAPHORE\_OBTAIN} -\rtemscase{available}{38} -\rtemscase{not available -- NO\_WAIT} - {38} -\rtemscase{not available -- caller blocks} - {109} -\rtemsdirective{SEMAPHORE\_RELEASE} -\rtemscase{no waiting tasks}{44} -\rtemscase{task readied -- returns to caller} - {66} -\rtemscase{task readied -- preempts caller} - {87} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet - -@item SEMAPHORE_CREATE -@itemize - -@item only case: 60 -@end itemize - -@item SEMAPHORE_IDENT -@itemize - -@item only case: 367 -@end itemize - -@item SEMAPHORE_DELETE -@itemize - -@item only case: 58 -@end itemize - -@item SEMAPHORE_OBTAIN -@itemize - -@item available: 38 -@item not available -- NO_WAIT: 38 -@item not available -- caller blocks: 109 -@end itemize - -@item SEMAPHORE_RELEASE -@itemize - -@item no waiting tasks: 44 -@item task readied -- returns to caller: 66 -@item task readied -- preempts caller: 87 -@end itemize - -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - - - - - - - - - - - - - - - -
SEMAPHORE_CREATE60
SEMAPHORE_IDENT367
SEMAPHORE_DELETE58
SEMAPHORE_OBTAIN
available
38
not available -- NO_WAIT
38
not available -- caller blocks
109
SEMAPHORE_RELEASE
no waiting tasks
44
task readied -- returns to caller
66
task readied -- preempts caller
87
-
-@end html -@end ifset - -@section Message Manager - -@ifset use-tex -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsonecase{MESSAGE\_QUEUE\_CREATE}{200} -\rtemsonecase{MESSAGE\_QUEUE\_IDENT}{341} -\rtemsonecase{MESSAGE\_QUEUE\_DELETE}{80} -\rtemsdirective{MESSAGE\_QUEUE\_SEND} -\rtemscase{no waiting tasks} - {97} -\rtemscase{task readied -- returns to caller} - {101} -\rtemscase{task readied -- preempts caller} - {123} -\rtemsdirective{MESSAGE\_QUEUE\_URGENT} -\rtemscase{no waiting tasks}{96} -\rtemscase{task readied -- returns to caller} - {101} -\rtemscase{task readied -- preempts caller} - {123} -\rtemsdirective{MESSAGE\_QUEUE\_BROADCAST} -\rtemscase{no waiting tasks}{53} -\rtemscase{task readied -- returns to caller} - {111} -\rtemscase{task readied -- preempts caller} - {133} -\rtemsdirective{MESSAGE\_QUEUE\_RECEIVE} -\rtemscase{available}{79} -\rtemscase{not available -- NO\_WAIT} - {43} -\rtemscase{not available -- caller blocks} - {114} -\rtemsdirective{MESSAGE\_QUEUE\_FLUSH} -\rtemscase{no messages flushed}{29} -\rtemscase{messages flushed}{39} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet - -@item MESSAGE_QUEUE_CREATE -@itemize - -@item only case: 200 -@end itemize - -@item MESSAGE_QUEUE_IDENT -@itemize - -@item only case: 341 -@end itemize - -@item MESSAGE_QUEUE_DELETE -@itemize - -@item only case: 80 -@end itemize - -@item MESSAGE_QUEUE_SEND -@itemize - -@item no waiting tasks: 97 -@item task readied -- returns to caller: 101 -@item task readied -- preempts caller: 123 -@end itemize - -@item MESSAGE_QUEUE_URGENT -@itemize - -@item no waiting tasks: 96 -@item task readied -- returns to caller: 101 -@item task readied -- preempts caller: 123 -@end itemize - -@item MESSAGE_QUEUE_BROADCAST -@itemize - -@item no waiting tasks: 53 -@item task readied -- returns to caller: 111 -@item task readied -- preempts caller: 133 -@end itemize - -@item MESSAGE_QUEUE_RECEIVE -@itemize - -@item available: 79 -@item not available -- NO_WAIT: 43 -@item not available -- caller blocks: 114 -@end itemize - -@item MESSAGE_QUEUE_FLUSH -@itemize - -@item no messages flushed: 29 -@item messages flushed: 39 -@end itemize - -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
MESSAGE_QUEUE_CREATE200
MESSAGE_QUEUE_IDENT341
MESSAGE_QUEUE_DELETE80
MESSAGE_QUEUE_SEND
no waiting tasks
97
task readied -- returns to caller
101
task readied -- preempts caller
123
MESSAGE_QUEUE_URGENT
no waiting tasks
96
task readied -- returns to caller
101
task readied -- preempts caller
123
MESSAGE_QUEUE_BROADCAST
no waiting tasks
53
task readied -- returns to caller
111
task readied -- preempts caller
133
MESSAGE_QUEUE_RECEIVE
available
79
not available -- NO_WAIT
43
not available -- caller blocks
114
MESSAGE_QUEUE_FLUSH
no messages flushed
29
messages flushed
39
-
-@end html -@end ifset - -@page -@section Event Manager - -@ifset use-tex -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsdirective{EVENT\_SEND} -\rtemscase{no task readied}{24} -\rtemscase{task readied -- returns to caller} - {60} -\rtemscase{task readied -- preempts caller} - {84} -\rtemsdirective{EVENT\_RECEIVE} -\rtemscase{obtain current events}{1} -\rtemscase{available}{28} -\rtemscase{not available -- NO\_WAIT}{23} -\rtemscase{not available -- caller blocks} - {84} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet - -@item EVENT_SEND -@itemize - -@item no task readied: 24 -@item task readied -- returns to caller: 60 -@item task readied -- preempts caller: 84 -@end itemize - -@item EVENT_RECEIVE -@itemize - -@item obtain current events: 1 -@item available: 28 -@item not available -- NO_WAIT: 23 -@item not available -- caller blocks: 84 -@end itemize - -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - - - - - - - - - - - - -
EVENT_SEND
no task readied
24
task readied -- returns to caller
60
task readied -- preempts caller
84
EVENT_RECEIVE
obtain current events
1
available
28
not available -- NO_WAIT
23
not available -- caller blocks
84
-
-@end html -@end ifset -@section Signal Manager - -@ifset use-tex -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsonecase{SIGNAL\_CATCH}{15} -\rtemsdirective{SIGNAL\_SEND} -\rtemscase{returns to caller}{37} -\rtemscase{signal to self}{55} -\rtemsdirective{EXIT ASR OVERHEAD} -\rtemscase{returns to calling task} - {37} -\rtemscase{returns to preempting task} - {54} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet -@item SIGNAL_CATCH -@itemize - -@item only case: 15 -@end itemize - -@item SIGNAL_SEND -@itemize - -@item returns to caller: 37 -@item signal to self: 55 -@end itemize - -@item EXIT ASR OVERHEAD -@itemize - -@item returns to calling task: 37 -@item returns to preempting task: 54 -@end itemize - -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - - - - - - - -
SIGNAL_CATCH15
SIGNAL_SEND
returns to caller
37
signal to self
55
EXIT ASR OVERHEAD
returns to calling task
- 37
returns to preempting task
- 54
-
-@end html -@end ifset - -@section Partition Manager - -@ifset use-tex -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsonecase{PARTITION\_CREATE}{70} -\rtemsonecase{PARTITION\_IDENT}{341} -\rtemsonecase{PARTITION\_DELETE}{42} -\rtemsdirective{PARTITION\_GET\_BUFFER} -\rtemscase{available}{35} -\rtemscase{not available}{33} -\rtemsonecase{PARTITION\_RETURN\_BUFFER} - {33} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet - -@item PARTITION_CREATE -@itemize - -@item only case: 70 -@end itemize - -@item PARTITION_IDENT -@itemize - -@item only case: 341 -@end itemize - -@item PARTITION_DELETE -@itemize - -@item only case: 42 -@end itemize - -@item PARTITION_GET_BUFFER -@itemize - -@item available: 35 -@item not available: 33 -@end itemize - -@item PARTITION_RETURN_BUFFER -@itemize - -@item only case: 43 -@end itemize - -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - - - - - - - - -
PARTITION_CREATE70
PARTITION_IDENT341
PARTITION_DELETE42
PARTITION_GET_BUFFER
available
35
not available
33
PARTITION_RETURN_BUFFER33
-
-@end html -@end ifset - -@page -@section Region Manager - -@ifset use-tex -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsonecase{REGION\_CREATE}{63} -\rtemsonecase{REGION\_IDENT}{348} -\rtemsonecase{REGION\_DELETE}{39} -\rtemsdirective{REGION\_GET\_SEGMENT} -\rtemscase{available}{52} -\rtemscase{not available -- NO\_WAIT} - {49} -\rtemscase{not available -- caller blocks} - {123} -\rtemsdirective{REGION\_RETURN\_SEGMENT} -\rtemscase{no waiting tasks}{54} -\rtemscase{task readied -- returns to caller} - {114} -\rtemscase{task readied -- preempts caller} - {136} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet - -@item REGION_CREATE -@itemize - -@item only case: 63 -@end itemize - -@item REGION_IDENT -@itemize - -@item only case: 348 -@end itemize - -@item REGION_DELETE -@itemize - -@item only case: 39 -@end itemize - -@item REGION_GET_SEGMENT -@itemize - -@item available: 52 -@item not available -- NO_WAIT: 49 -@item not available -- caller blocks: 123 -@end itemize - -@item REGION_RETURN_SEGMENT -@itemize - -@item no waiting tasks: 54 -@item task readied -- returns to caller: 114 -@item task readied -- preempts caller: 136 -@end itemize - -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - - - - - - - - - - - - - - - -
REGION_CREATE63
REGION_IDENT348
REGION_DELETE39
REGION_GET_SEGMENT
available
52
not available -- NO_WAIT
- 49
not available -- caller blocks
- 123
REGION_RETURN_SEGMENT
no waiting tasks
54
task readied -- returns to caller
- 114
task readied -- preempts caller
- 136
-
-@end html -@end ifset - -@section Dual-Ported Memory Manager - -@ifset use-tex -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsonecase{PORT\_CREATE}{35} -\rtemsonecase{PORT\_IDENT}{340} -\rtemsonecase{PORT\_DELETE}{39} -\rtemsonecase{PORT\_INTERNAL\_TO\_EXTERNAL} - {26} -\rtemsonecase{PORT\_EXTERNAL\_TO\_INTERNAL} - {27} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet - -@item PORT_CREATE -@itemize - -@item only case: 35 -@end itemize - -@item PORT_IDENT -@itemize - -@item only case: 340 -@end itemize - -@item PORT_DELETE -@itemize - -@item only case: 39 -@end itemize - -@item PORT_INTERNAL_TO_EXTERNAL -@itemize - -@item only case: 26 -@end itemize - -@item PORT_EXTERNAL_TO_INTERNAL -@itemize - -@item only case: 27 -@end itemize - -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - - - - - - -
PORT_CREATE35
PORT_IDENT340
PORT_DELETE39
PORT_INTERNAL_TO_EXTERNAL26
PORT_EXTERNAL_TO_INTERNAL27
-
-@end html -@end ifset - -@section I/O Manager - -@ifset use-tex -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsonecase{IO\_INITIALIZE}{4} -\rtemsonecase{IO\_OPEN}{2} -\rtemsonecase{IO\_CLOSE}{1} -\rtemsonecase{IO\_READ}{2} -\rtemsonecase{IO\_WRITE}{3} -\rtemsonecase{IO\_CONTROL}{2} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet - -@item IO_INITIALIZE -@itemize - -@item only case: 4 -@end itemize - -@item IO_OPEN -@itemize - -@item only case: 2 -@end itemize - -@item IO_CLOSE -@itemize - -@item only case: 1 -@end itemize - -@item IO_READ -@itemize - -@item only case: 2 -@end itemize - -@item IO_WRITE -@itemize - -@item only case: 3 -@end itemize - -@item IO_CONTROL -@itemize - -@item only case: 2 -@end itemize - -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - - - - - - - -
IO_INITIALIZE4
IO_OPEN2
IO_CLOSE1
IO_READ2
IO_WRITE3
IO_CONTROL2
-
-@end html -@end ifset - -@section Rate Monotonic Manager - -@ifset use-tex -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsonecase{RATE\_MONOTONIC\_CREATE}{32} -\rtemsonecase{RATE\_MONOTONIC\_IDENT}{341} -\rtemsonecase{RATE\_MONOTONIC\_CANCEL}{39} -\rtemsdirective{RATE\_MONOTONIC\_DELETE} -\rtemscase{active}{51} -\rtemscase{inactive}{48} -\rtemsdirective{RATE\_MONOTONIC\_PERIOD} -\rtemscase{initiate period -- returns to caller} - {54} -\rtemscase{conclude period -- caller blocks} - {74} -\rtemscase{obtain status}{31} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet - -@item RATE_MONOTONIC_CREATE -@itemize - -@item only case: 32 -@end itemize - -@item RATE_MONOTONIC_IDENT -@itemize - -@item only case: 341 -@end itemize - -@item RATE_MONOTONIC_CANCEL -@itemize - -@item only case: 39 -@end itemize - -@item RATE_MONOTONIC_DELETE -@itemize - -@item active: 51 -@item inactive: 48 -@end itemize - -@item RATE_MONOTONIC_PERIOD -@itemize - -@item initiate period -- returns to caller: 54 -@item conclude period -- caller blocks: 74 -@item obtain status: 31 -@end itemize - -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - - - - - - - - - - - - - -
RATE_MONOTONIC_CREATE32
RATE_MONOTONIC_IDENT341
RATE_MONOTONIC_CANCEL39
RATE_MONOTONIC_DELETE
active
51
inactive
48
RATE_MONOTONIC_PERIOD
initiate period -- returns to caller
- 54
conclude period -- caller blocks
- 74
obtain status
31
-
-@end html -@end ifset - -@tex -\global\advance \smallskipamount by 4pt -@end tex - -@tex -\global\advance \smallskipamount by 4pt -@end tex diff --git a/doc/supplements/sparc/timeERC32_.t b/doc/supplements/sparc/timeERC32_.t deleted file mode 100644 index 6fc2e1952f..0000000000 --- a/doc/supplements/sparc/timeERC32_.t +++ /dev/null @@ -1,1454 +0,0 @@ -@c -@c COPYRIGHT (c) 1988-1999. -@c On-Line Applications Research Corporation (OAR). -@c All rights reserved. -@c -@c $Id$ -@c - -@include ../../common/timemac.texi -@tex -\global\advance \smallskipamount by -4pt -@end tex - -@chapter ERC32 Timing Data - -@section Introduction - -The timing data for RTEMS on the ERC32 implementation -of the SPARC architecture is provided along with the target -dependent aspects concerning the gathering of the timing data. -The hardware platform used to gather the times is described to -give the reader a better understanding of each directive time -provided. Also, provided is a description of the interrupt -latency and the context switch times as they pertain to the -SPARC version of RTEMS. - -@section Hardware Platform - -All times reported in this chapter were measured -using the SPARC Instruction Simulator (SIS) developed by the -European Space Agency. SIS simulates the ERC32 -- a custom low -power implementation combining the Cypress 90C601 integer unit, -the Cypress 90C602 floating point unit, and a number of -peripherals such as counter timers, interrupt controller and a -memory controller. - -For the RTEMS tests, SIS is configured with the -following characteristics: - -@itemize @bullet -@item 15 Mhz clock speed - -@item 0 wait states for PROM accesses - -@item 0 wait states for RAM accesses -@end itemize - -The ERC32's General Purpose Timer was used to gather -all timing information. This timer was programmed to operate -with one microsecond accuracy. All sources of hardware -interrupts were disabled, although traps were enabled and the -interrupt level of the SPARC allows all interrupts. - -@section Interrupt Latency - -The maximum period with traps disabled or the -processor interrupt level set to it's highest value inside RTEMS -is less than TBD -microseconds including the instructions which -disable and re-enable interrupts. The time required for the -ERC32 to vector an interrupt and for the RTEMS entry overhead -before invoking the user's trap handler are a total of -8 -microseconds. These combine to yield a worst case interrupt -latency of less than TBD + -8 microseconds at -15.0 Mhz. -[NOTE: The maximum period with interrupts disabled was last -determined for Release 4.2.0-prerelease.] - -The maximum period with interrupts disabled within -RTEMS is hand-timed with some assistance from SIS. The maximum -period with interrupts disabled with RTEMS occurs during a -context switch when traps are disabled to flush all the register -windows to memory. The length of time spent flushing the -register windows varies based on the number of windows which -must be flushed. Based on the information reported by SIS, it -takes from 4.0 to 18.0 microseconds (37 to 122 instructions) to -flush the register windows. It takes approximately 41 CPU -cycles (2.73 microseconds) to flush each register window set to -memory. The register window flush operation is heavily memory -bound. - -[NOTE: All traps are disabled during the register -window flush thus disabling both software generate traps and -external interrupts. During a normal RTEMS critical section, -the processor interrupt level (pil) is raised to level 15 and -traps are left enabled. The longest path for a normal critical -section within RTEMS is less than 50 instructions.] - -The interrupt vector and entry overhead time was -generated on the SIS benchmark platform using the ERC32's -ability to forcibly generate an arbitrary interrupt as the -source of the "benchmark" interrupt. - -@section Context Switch - -The RTEMS processor context switch time is 10 -microseconds on the SIS benchmark platform when no floating -point context is saved or restored. Additional execution time -is required when a TASK_SWITCH user extension is configured. -The use of the TASK_SWITCH extension is application dependent. -Thus, its execution time is not considered part of the raw -context switch time. - -Since RTEMS was designed specifically for embedded -missile applications which are floating point intensive, the -executive is optimized to avoid unnecessarily saving and -restoring the state of the numeric coprocessor. The state of -the numeric coprocessor is only saved when an FLOATING_POINT -task is dispatched and that task was not the last task to -utilize the coprocessor. In a system with only one -FLOATING_POINT task, the state of the numeric coprocessor will -never be saved or restored. When the first FLOATING_POINT task -is dispatched, RTEMS does not need to save the current state of -the numeric coprocessor. - -The following table summarizes the context switch -times for the ERC32 benchmark platform: - -@c ****** This comment is here to remind you not to edit the timetbl.t -@c ****** in any directory but common. -@c -@c Time Table Template -@c -@c COPYRIGHT (c) 1988-1999. -@c On-Line Applications Research Corporation (OAR). -@c All rights reserved. -@c -@c $Id$ -@c - -@ifset use-tex -@sp 1 -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsonecase{No Floating Point Contexts}{21} -\rtemsdirective{Floating Point Contexts} -\rtemscase{restore first FP task}{26} -\rtemscase{save initialized, restore initialized}{24} -\rtemscase{save idle, restore initialized}{23} -\rtemscase{save idle, restore idle}{33} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet -@item No Floating Point Contexts -@itemize - -@item only case: 21 -@end itemize -@item Floating Point Contexts -@itemize - -@item restore first FP task: 26 -@item save initialized, restore initialized: 24 -@item save idle, restore initialized: 23 -@item save idle, restore idle: 23 -@end itemize -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - - - - - - -
No Floating Point Contexts21
Floating Point Contexts
restore first FP task
26
save initialized, restore initialized
24
save idle, restore initialized
23
save idle, restore idle
33
-
-@end html -@end ifset - -@section Directive Times - -This sections is divided into a number of -subsections, each of which contains a table listing the -execution times of that manager's directives. - -@page -@section Task Manager - -@ifset use-tex -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsonecase{TASK\_CREATE}{59} -\rtemsonecase{TASK\_IDENT}{163} -\rtemsonecase{TASK\_START}{30} -\rtemsdirective{TASK\_RESTART} -\rtemscase{calling task}{64} -\rtemscase{suspended task -- returns to caller} - {36} -\rtemscase{blocked task -- returns to caller} - {47} -\rtemscase{ready task -- returns to caller} - {37} -\rtemscase{suspended task -- preempts caller} - {77} -\rtemscase{blocked task -- preempts caller} - {84} -\rtemscase{ready task -- preempts caller} - {75} -\rtemsdirective{TASK\_DELETE} -\rtemscase{calling task}{91} -\rtemscase{suspended task}{47} -\rtemscase{blocked task}{50} -\rtemscase{ready task}{51} -\rtemsdirective{TASK\_SUSPEND} -\rtemscase{calling task}{56} -\rtemscase{returns to caller}{16} -\rtemsdirective{TASK\_RESUME} -\rtemscase{task readied -- returns to caller} - {17} -\rtemscase{task readied -- preempts caller} - {52} -\rtemsdirective{TASK\_SET\_PRIORITY} -\rtemscase{obtain current priority} - {10} -\rtemscase{returns to caller}{25} -\rtemscase{preempts caller}{67} -\rtemsdirective{TASK\_MODE} -\rtemscase{obtain current mode}{5} -\rtemscase{no reschedule}{6} -\rtemscase{reschedule -- returns to caller} - {9} -\rtemscase{reschedule -- preempts caller} - {42} -\rtemsonecase{TASK\_GET\_NOTE}{10} -\rtemsonecase{TASK\_SET\_NOTE}{10} -\rtemsdirective{TASK\_WAKE\_AFTER} -\rtemscase{yield -- returns to caller} - {6} -\rtemscase{yield -- preempts caller} - {49} -\rtemsonecase{TASK\_WAKE\_WHEN}{75} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet - -@item TASK_CREATE -@itemize - -@item only case: 59 -@end itemize - -@item TASK_IDENT -@itemize - -@item only case: 163 -@end itemize - -@item TASK_START -@itemize - -@item only case: 30 -@end itemize - -@item TASK_RESTART -@itemize - -@item calling task: 64 -@item suspended task -- returns to caller: 36 -@item blocked task -- returns to caller: 47 -@item ready task -- returns to caller: 37 -@item suspended task -- preempts caller: 77 -@item blocked task -- preempts caller: 84 -@item ready task -- preempts caller: 75 -@end itemize - -@item TASK_DELETE -@itemize - -@item calling task: 91 -@item suspended task: 47 -@item blocked task: 50 -@item ready task: 51 -@end itemize - -@item TASK_SUSPEND -@itemize - -@item calling task: 56 -@item returns to caller: 16 -@end itemize - -@item TASK_RESUME -@itemize - -@item task readied -- returns to caller: 17 -@item task readied -- preempts caller: 52 -@end itemize - -@item TASK_SET_PRIORITY -@itemize - -@item obtain current priority: 10 -@item returns to caller: 25 -@item preempts caller: 67 -@end itemize - -@item TASK_MODE -@itemize - -@item obtain current mode: 5 -@item no reschedule: 6 -@item reschedule -- returns to caller: 9 -@item reschedule -- preempts caller: 42 -@end itemize - -@item TASK_GET_NOTE -@itemize - -@item only case: 10 -@end itemize - -@item TASK_SET_NOTE -@itemize - -@item only case: 10 -@end itemize - -@item TASK_WAKE_AFTER -@itemize - -@item yield -- returns to caller: 6 -@item yield -- preempts caller: 49 -@end itemize - -@item TASK_WAKE_WHEN -@itemize - -@item only case: 75 -@end itemize - -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
TASK_CREATE59
TASK_IDENT163
TASK_START30
TASK_RESTART
calling task
64
suspended task -- returns to caller
36
blocked task -- returns to caller
47
ready task -- returns to caller
37
suspended task -- preempts caller
77
blocked task -- preempts caller
84
ready task -- preempts caller
75
TASK_DELETE
calling task
91
suspended task
47
blocked task
50
ready task
51
TASK_SUSPEND
calling task
56
returns to caller
16
TASK_RESUME
task readied -- returns to caller
17
task readied -- preempts caller
52
TASK_SET_PRIORITY
obtain current priority
10
returns to caller
25
preempts caller
67
TASK_MODE
obtain current mode
5
no reschedule
6
reschedule -- returns to caller
9
reschedule -- preempts caller
42
TASK_GET_NOTE10
TASK_SET_NOTE10
TASK_WAKE_AFTER
yield -- returns to caller
6
yield -- preempts caller
49
TASK_WAKE_WHEN75
-
-@end html -@end ifset - -@page -@section Interrupt Manager - -It should be noted that the interrupt entry times -include vectoring the interrupt handler. - -@ifset use-tex -@sp 1 -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsdirective{Interrupt Entry Overhead} -\rtemscase{returns to nested interrupt}{7} -\rtemscase{returns to interrupted task} - {8} -\rtemscase{returns to preempting task} - {8} -\rtemsdirective{Interrupt Exit Overhead} -\rtemscase{returns to nested interrupt}{5} -\rtemscase{returns to interrupted task} - {7} -\rtemscase{returns to preempting task} - {14} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet - -@item Interrupt Entry Overhead -@itemize - -@item returns to nested interrupt: 7 -@item returns to interrupted task: 8 -@item returns to preempting task: 8 -@end itemize - -@item Interrupt Exit Overhead -@itemize - -@item returns to nested interrupt: 5 -@item returns to interrupted task: 7 -@item returns to preempting task: 14 -@end itemize - -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - - - - - - - - - -
Interrupt Entry Overhead
returns to nested interrupt
7
returns to interrupted task
8
returns to preempting task
8
Interrupt Exit Overhead
returns to nested interrupt
5
returns to interrupted task
7
returns to preempting task
14
-
-@end html -@end ifset - - -@section Clock Manager - -@ifset use-tex -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsonecase{CLOCK\_SET}{33} -\rtemsonecase{CLOCK\_GET}{4} -\rtemsonecase{CLOCK\_TICK}{6} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet - -@item CLOCK_SET -@itemize - -@item only case: 33 -@end itemize - -@item CLOCK_GET -@itemize - -@item only case: 4 -@end itemize - -@item CLOCK_TICK -@itemize - -@item only case: 6 -@end itemize - -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - -
CLOCK_SET33
CLOCK_GET4
CLOCK_TICK6
-
-@end html -@end ifset - -@section Timer Manager - -@ifset use-tex -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsonecase{TIMER\_CREATE}{11} -\rtemsonecase{TIMER\_IDENT}{159} -\rtemsdirective{TIMER\_DELETE} -\rtemscase{inactive}{15} -\rtemscase{active}{17} -\rtemsdirective{TIMER\_FIRE\_AFTER} -\rtemscase{inactive}{21} -\rtemscase{active}{23} -\rtemsdirective{TIMER\_FIRE\_WHEN} -\rtemscase{inactive}{34} -\rtemscase{active}{34} -\rtemsdirective{TIMER\_RESET} -\rtemscase{inactive}{20} -\rtemscase{active}{22} -\rtemsdirective{TIMER\_CANCEL} -\rtemscase{inactive}{10} -\rtemscase{active}{13} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet - -@item TIMER_CREATE -@itemize - -@item only case: 11 -@end itemize - -@item TIMER_IDENT -@itemize - -@item only case: 159 -@end itemize - -@item TIMER_DELETE -@itemize - -@item inactive: 15 -@item active: 17 -@end itemize - -@item TIMER_FIRE_AFTER -@itemize - -@item inactive: 21 -@item active: 23 -@end itemize - -@item TIMER_FIRE_WHEN -@itemize - -@item inactive: TIMER_FIRE_WHEN_INACTIVE -@item active: TIMER_FIRE_WHEN_ACTIVE -@end itemize - -@item TIMER_RESET -@itemize - -@item inactive: TIMER_RESET_INACTIVE -@item active: TIMER_RESET_ACTIVE -@end itemize - -@item TIMER_CANCEL -@itemize - -@item inactive: TIMER_CANCEL_INACTIVE -@item active: TIMER_CANCEL_ACTIVE -@end itemize - -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
TIMER_CREATE11
TIMER_IDENT159
TIMER_DELETE
inactive
15
active
17
TIMER_FIRE_AFTER
inactive
21
active
23
TIMER_FIRE_WHEN
inactive
34
active
34
TIMER_RESET
inactive
20
active
22
TIMER_CANCEL
inactive
10
active
13
-
-@end html -@end ifset - -@page -@section Semaphore Manager - -@ifset use-tex -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsonecase{SEMAPHORE\_CREATE}{19} -\rtemsonecase{SEMAPHORE\_IDENT}{171} -\rtemsonecase{SEMAPHORE\_DELETE}{19} -\rtemsdirective{SEMAPHORE\_OBTAIN} -\rtemscase{available}{12} -\rtemscase{not available -- NO\_WAIT} - {12} -\rtemscase{not available -- caller blocks} - {67} -\rtemsdirective{SEMAPHORE\_RELEASE} -\rtemscase{no waiting tasks}{14} -\rtemscase{task readied -- returns to caller} - {23} -\rtemscase{task readied -- preempts caller} - {57} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet - -@item SEMAPHORE_CREATE -@itemize - -@item only case: 19 -@end itemize - -@item SEMAPHORE_IDENT -@itemize - -@item only case: 171 -@end itemize - -@item SEMAPHORE_DELETE -@itemize - -@item only case: 19 -@end itemize - -@item SEMAPHORE_OBTAIN -@itemize - -@item available: 12 -@item not available -- NO_WAIT: 12 -@item not available -- caller blocks: 67 -@end itemize - -@item SEMAPHORE_RELEASE -@itemize - -@item no waiting tasks: 14 -@item task readied -- returns to caller: 23 -@item task readied -- preempts caller: 57 -@end itemize - -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - - - - - - - - - - - - - - - -
SEMAPHORE_CREATE19
SEMAPHORE_IDENT171
SEMAPHORE_DELETE19
SEMAPHORE_OBTAIN
available
12
not available -- NO_WAIT
12
not available -- caller blocks
67
SEMAPHORE_RELEASE
no waiting tasks
14
task readied -- returns to caller
23
task readied -- preempts caller
57
-
-@end html -@end ifset - -@section Message Manager - -@ifset use-tex -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsonecase{MESSAGE\_QUEUE\_CREATE}{114} -\rtemsonecase{MESSAGE\_QUEUE\_IDENT}{159} -\rtemsonecase{MESSAGE\_QUEUE\_DELETE}{25} -\rtemsdirective{MESSAGE\_QUEUE\_SEND} -\rtemscase{no waiting tasks} - {36} -\rtemscase{task readied -- returns to caller} - {38} -\rtemscase{task readied -- preempts caller} - {76} -\rtemsdirective{MESSAGE\_QUEUE\_URGENT} -\rtemscase{no waiting tasks}{36} -\rtemscase{task readied -- returns to caller} - {38} -\rtemscase{task readied -- preempts caller} - {76} -\rtemsdirective{MESSAGE\_QUEUE\_BROADCAST} -\rtemscase{no waiting tasks}{15} -\rtemscase{task readied -- returns to caller} - {42} -\rtemscase{task readied -- preempts caller} - {83} -\rtemsdirective{MESSAGE\_QUEUE\_RECEIVE} -\rtemscase{available}{30} -\rtemscase{not available -- NO\_WAIT} - {13} -\rtemscase{not available -- caller blocks} - {67} -\rtemsdirective{MESSAGE\_QUEUE\_FLUSH} -\rtemscase{no messages flushed}{9} -\rtemscase{messages flushed}{13} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet - -@item MESSAGE_QUEUE_CREATE -@itemize - -@item only case: 114 -@end itemize - -@item MESSAGE_QUEUE_IDENT -@itemize - -@item only case: 159 -@end itemize - -@item MESSAGE_QUEUE_DELETE -@itemize - -@item only case: 25 -@end itemize - -@item MESSAGE_QUEUE_SEND -@itemize - -@item no waiting tasks: 36 -@item task readied -- returns to caller: 38 -@item task readied -- preempts caller: 76 -@end itemize - -@item MESSAGE_QUEUE_URGENT -@itemize - -@item no waiting tasks: 36 -@item task readied -- returns to caller: 38 -@item task readied -- preempts caller: 76 -@end itemize - -@item MESSAGE_QUEUE_BROADCAST -@itemize - -@item no waiting tasks: 15 -@item task readied -- returns to caller: 42 -@item task readied -- preempts caller: 83 -@end itemize - -@item MESSAGE_QUEUE_RECEIVE -@itemize - -@item available: 30 -@item not available -- NO_WAIT: 13 -@item not available -- caller blocks: 67 -@end itemize - -@item MESSAGE_QUEUE_FLUSH -@itemize - -@item no messages flushed: 9 -@item messages flushed: 13 -@end itemize - -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
MESSAGE_QUEUE_CREATE114
MESSAGE_QUEUE_IDENT159
MESSAGE_QUEUE_DELETE25
MESSAGE_QUEUE_SEND
no waiting tasks
36
task readied -- returns to caller
38
task readied -- preempts caller
76
MESSAGE_QUEUE_URGENT
no waiting tasks
36
task readied -- returns to caller
38
task readied -- preempts caller
76
MESSAGE_QUEUE_BROADCAST
no waiting tasks
15
task readied -- returns to caller
42
task readied -- preempts caller
83
MESSAGE_QUEUE_RECEIVE
available
30
not available -- NO_WAIT
13
not available -- caller blocks
67
MESSAGE_QUEUE_FLUSH
no messages flushed
9
messages flushed
13
-
-@end html -@end ifset - -@page -@section Event Manager - -@ifset use-tex -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsdirective{EVENT\_SEND} -\rtemscase{no task readied}{9} -\rtemscase{task readied -- returns to caller} - {22} -\rtemscase{task readied -- preempts caller} - {58} -\rtemsdirective{EVENT\_RECEIVE} -\rtemscase{obtain current events}{1} -\rtemscase{available}{10} -\rtemscase{not available -- NO\_WAIT}{9} -\rtemscase{not available -- caller blocks} - {60} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet - -@item EVENT_SEND -@itemize - -@item no task readied: 9 -@item task readied -- returns to caller: 22 -@item task readied -- preempts caller: 58 -@end itemize - -@item EVENT_RECEIVE -@itemize - -@item obtain current events: 1 -@item available: 10 -@item not available -- NO_WAIT: 9 -@item not available -- caller blocks: 60 -@end itemize - -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - - - - - - - - - - - - -
EVENT_SEND
no task readied
9
task readied -- returns to caller
22
task readied -- preempts caller
58
EVENT_RECEIVE
obtain current events
1
available
10
not available -- NO_WAIT
9
not available -- caller blocks
60
-
-@end html -@end ifset -@section Signal Manager - -@ifset use-tex -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsonecase{SIGNAL\_CATCH}{6} -\rtemsdirective{SIGNAL\_SEND} -\rtemscase{returns to caller}{14} -\rtemscase{signal to self}{22} -\rtemsdirective{EXIT ASR OVERHEAD} -\rtemscase{returns to calling task} - {27} -\rtemscase{returns to preempting task} - {56} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet -@item SIGNAL_CATCH -@itemize - -@item only case: 6 -@end itemize - -@item SIGNAL_SEND -@itemize - -@item returns to caller: 14 -@item signal to self: 22 -@end itemize - -@item EXIT ASR OVERHEAD -@itemize - -@item returns to calling task: 27 -@item returns to preempting task: 56 -@end itemize - -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - - - - - - - -
SIGNAL_CATCH6
SIGNAL_SEND
returns to caller
14
signal to self
22
EXIT ASR OVERHEAD
returns to calling task
- 27
returns to preempting task
- 56
-
-@end html -@end ifset - -@section Partition Manager - -@ifset use-tex -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsonecase{PARTITION\_CREATE}{34} -\rtemsonecase{PARTITION\_IDENT}{159} -\rtemsonecase{PARTITION\_DELETE}{14} -\rtemsdirective{PARTITION\_GET\_BUFFER} -\rtemscase{available}{12} -\rtemscase{not available}{10} -\rtemsonecase{PARTITION\_RETURN\_BUFFER} - {10} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet - -@item PARTITION_CREATE -@itemize - -@item only case: 34 -@end itemize - -@item PARTITION_IDENT -@itemize - -@item only case: 159 -@end itemize - -@item PARTITION_DELETE -@itemize - -@item only case: 14 -@end itemize - -@item PARTITION_GET_BUFFER -@itemize - -@item available: 12 -@item not available: 10 -@end itemize - -@item PARTITION_RETURN_BUFFER -@itemize - -@item only case: 16 -@end itemize - -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - - - - - - - - -
PARTITION_CREATE34
PARTITION_IDENT159
PARTITION_DELETE14
PARTITION_GET_BUFFER
available
12
not available
10
PARTITION_RETURN_BUFFER10
-
-@end html -@end ifset - -@page -@section Region Manager - -@ifset use-tex -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsonecase{REGION\_CREATE}{22} -\rtemsonecase{REGION\_IDENT}{162} -\rtemsonecase{REGION\_DELETE}{14} -\rtemsdirective{REGION\_GET\_SEGMENT} -\rtemscase{available}{19} -\rtemscase{not available -- NO\_WAIT} - {19} -\rtemscase{not available -- caller blocks} - {67} -\rtemsdirective{REGION\_RETURN\_SEGMENT} -\rtemscase{no waiting tasks}{17} -\rtemscase{task readied -- returns to caller} - {44} -\rtemscase{task readied -- preempts caller} - {77} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet - -@item REGION_CREATE -@itemize - -@item only case: 22 -@end itemize - -@item REGION_IDENT -@itemize - -@item only case: 162 -@end itemize - -@item REGION_DELETE -@itemize - -@item only case: 14 -@end itemize - -@item REGION_GET_SEGMENT -@itemize - -@item available: 19 -@item not available -- NO_WAIT: 19 -@item not available -- caller blocks: 67 -@end itemize - -@item REGION_RETURN_SEGMENT -@itemize - -@item no waiting tasks: 17 -@item task readied -- returns to caller: 44 -@item task readied -- preempts caller: 77 -@end itemize - -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - - - - - - - - - - - - - - - -
REGION_CREATE22
REGION_IDENT162
REGION_DELETE14
REGION_GET_SEGMENT
available
19
not available -- NO_WAIT
- 19
not available -- caller blocks
- 67
REGION_RETURN_SEGMENT
no waiting tasks
17
task readied -- returns to caller
- 44
task readied -- preempts caller
- 77
-
-@end html -@end ifset - -@section Dual-Ported Memory Manager - -@ifset use-tex -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsonecase{PORT\_CREATE}{14} -\rtemsonecase{PORT\_IDENT}{159} -\rtemsonecase{PORT\_DELETE}{13} -\rtemsonecase{PORT\_INTERNAL\_TO\_EXTERNAL} - {9} -\rtemsonecase{PORT\_EXTERNAL\_TO\_INTERNAL} - {9} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet - -@item PORT_CREATE -@itemize - -@item only case: 14 -@end itemize - -@item PORT_IDENT -@itemize - -@item only case: 159 -@end itemize - -@item PORT_DELETE -@itemize - -@item only case: 13 -@end itemize - -@item PORT_INTERNAL_TO_EXTERNAL -@itemize - -@item only case: 9 -@end itemize - -@item PORT_EXTERNAL_TO_INTERNAL -@itemize - -@item only case: 9 -@end itemize - -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - - - - - - -
PORT_CREATE14
PORT_IDENT159
PORT_DELETE13
PORT_INTERNAL_TO_EXTERNAL9
PORT_EXTERNAL_TO_INTERNAL9
-
-@end html -@end ifset - -@section I/O Manager - -@ifset use-tex -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsonecase{IO\_INITIALIZE}{2} -\rtemsonecase{IO\_OPEN}{1} -\rtemsonecase{IO\_CLOSE}{1} -\rtemsonecase{IO\_READ}{1} -\rtemsonecase{IO\_WRITE}{1} -\rtemsonecase{IO\_CONTROL}{1} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet - -@item IO_INITIALIZE -@itemize - -@item only case: 2 -@end itemize - -@item IO_OPEN -@itemize - -@item only case: 1 -@end itemize - -@item IO_CLOSE -@itemize - -@item only case: 1 -@end itemize - -@item IO_READ -@itemize - -@item only case: 1 -@end itemize - -@item IO_WRITE -@itemize - -@item only case: 1 -@end itemize - -@item IO_CONTROL -@itemize - -@item only case: 1 -@end itemize - -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - - - - - - - -
IO_INITIALIZE2
IO_OPEN1
IO_CLOSE1
IO_READ1
IO_WRITE1
IO_CONTROL1
-
-@end html -@end ifset - -@section Rate Monotonic Manager - -@ifset use-tex -@tex -\centerline{\vbox{\offinterlineskip\halign{ -\span\rtemstimetable -\rtemsonecase{RATE\_MONOTONIC\_CREATE}{12} -\rtemsonecase{RATE\_MONOTONIC\_IDENT}{159} -\rtemsonecase{RATE\_MONOTONIC\_CANCEL}{14} -\rtemsdirective{RATE\_MONOTONIC\_DELETE} -\rtemscase{active}{19} -\rtemscase{inactive}{16} -\rtemsdirective{RATE\_MONOTONIC\_PERIOD} -\rtemscase{initiate period -- returns to caller} - {20} -\rtemscase{conclude period -- caller blocks} - {55} -\rtemscase{obtain status}{9} -\rtemsendtimetable -}}\hfil} -@end tex -@end ifset - -@ifset use-ascii -@ifinfo -@itemize @bullet - -@item RATE_MONOTONIC_CREATE -@itemize - -@item only case: 12 -@end itemize - -@item RATE_MONOTONIC_IDENT -@itemize - -@item only case: 159 -@end itemize - -@item RATE_MONOTONIC_CANCEL -@itemize - -@item only case: 14 -@end itemize - -@item RATE_MONOTONIC_DELETE -@itemize - -@item active: 19 -@item inactive: 16 -@end itemize - -@item RATE_MONOTONIC_PERIOD -@itemize - -@item initiate period -- returns to caller: 20 -@item conclude period -- caller blocks: 55 -@item obtain status: 9 -@end itemize - -@end itemize -@end ifinfo -@end ifset - -@ifset use-html -@html -
- - - - - - - - - - - - - - - - - - - -
RATE_MONOTONIC_CREATE12
RATE_MONOTONIC_IDENT159
RATE_MONOTONIC_CANCEL14
RATE_MONOTONIC_DELETE
active
19
inactive
16
RATE_MONOTONIC_PERIOD
initiate period -- returns to caller
- 20
conclude period -- caller blocks
- 55
obtain status
9
-
-@end html -@end ifset - -@tex -\global\advance \smallskipamount by 4pt -@end tex - -@tex -\global\advance \smallskipamount by 4pt -@end tex -- cgit v1.2.3