2

Event Dictionary



2.1    Introduction

This chapter provides a "dictionary" of the events collected by WindView. It lists each event by object type (message queue, semaphore, task, and so on), providing the following information for each:

  • The event icon.

  • The possible causes of the event, including which type of code (system, application, or ISR) could have caused it.

  • Any task state effects that can result from the event.

  • The information collected about the event for each event-logging level. (That is, the information displayed when you double-click on the event icon or otherwise inspect it with the Show Event dialog box; see the WindView User's Guide: Data Display for details on using this window.)

Figure 2-1 shows the paradigm that Wind River Systems used to create the default WindView icons.


*      
NOTE: The following are not supported by WindView (that is, they are not instrumented and so do not show up in a WindView event log): VxMP shared objects (shared semaphores and message queues), and VxWorks 4.0.x-style semaphores.    



2.2    Using the Event Dictionary

This section provides tips for using the event dictionary.

Suppose you see the icon while viewing an event log in WindView.

You can click on the icon to see the name of the event in the Tornado status line (at the bottom of the Tornado window; see the WindView User's Guide: Data Display). As an alternative, you can locate the icon in the Legend window under WindView Help in the main Help menu. In either case, you can see that this is the taskResume event icon. Using 2.3 Event Dictionary, you can look up the information on what can cause a taskResume event, what effect on the task state it may have, and what information is collected for a taskResume event, as shown in Figure 2-2.  

Figure 2-1:   Anatomy of an Event-Dictionary Entry

Most of the elements that are called out on the sample page are self-explanatory, with the possible exception of the table of information collected.

The table of information collected describes what information is logged for a particular event, and for which event-logging level that information is logged (indicated by X's in the appropriate columns):

  • Context switch event-logging level (CSE level)
  • Task state transition event-logging level (TST level)
  • Additional instrumentation event-logging level (AIL level)

In the sample event dictionary page above, you can see that the context (the task, ISR, or idle loop in which the event occurred), eventName, and taskId event parameters are logged when event logging is started at TST level.1

At this level, timeStamp is not actually logged. Instead, it is calculated based on the next exit from the kernel; for more information, see the WindView User's Guide: Configuring Data Collection.

These same event parameters are logged when event logging is started at AIL level, but in addition, the priority event parameter is logged, and the timeStamp is logged rather than calculated.

For example, if event logging is at TST level, when you inspect the taskResume icon with the Show Event dialog box, a display like Figure 2-2 appears (note that although the priority label is present, its value is unknown, indicated by "?").  

Figure 2-2:   Inspecting taskResume Event

This provides the following information:

[1] At calculated time 0.0336625 seconds,

[2] within the context of tWdbTask (context ID 0x3fe9742 ), a taskResume event occurred.

[3] The priority of the resumed task is not known for this -logging level.

[4] The task being resumed has an ID of 0x33b6a7c, displayed here both as taskId in the Parameters area, and in the Object field (because this task is the object affected by the event).

However, if event logging is at AIL level, and task tWdbTask is instrumented, the Time field shows an exact timestamp, and the priority property displays the task priority for the affected task.


*      
NOTE: Remember that another important distinction between TST level logging and AIL level logging is that for the former, events are logged and displayed only if they result in a task state transition. At AIL level, all events are logged and displayed for all objects that are instrumented.


*      
NOTE: If an invalid parameter is passed to a routine, an event icon may not appear, depending on whether the error is detected before or after event logging occurs. In particular, if an invalid object ID is passed to a routine, the event icon does not appear.



2.3    Event Dictionary

Exception and ISR

      exception -- program error

A program error generated an exception (such as divide by zero, or a bus or address error) to which only the default exception handler has been attached.

The task that was executing when the exception occurred makes a transition to the suspended state, and a context switch occurs. If an ISR was executing when the exception occurred, the system reboots.




Event Parameter


Sample Data


Description
C
S
E
T
S
T
A
I
L

timeStamp
Time :  
3.749262
The time at which the event occurred
X
X
X
context
Context : tLogTask (0x3a468c) 
The context in which the event occurred
X
X
X
eventName
exception (60)
The name of the event associated with this icon
X
X
X
vector
vector : 0x5
This exception's vector number; number is architecture-dependent
X
X
X

  intEnt -- entry to ISR

A hardware interrupt occurred for which there is an associated ISR. Interrupts not connected to the associated ISR by the intConnect( ) routine are not instrumented.

If the interrupt occurs in the context of an executing task, the task is displayed as making a transition to the ready state when the ISR starts executing.

VxWorks routines called from an ISR may be deferred to the interrupted context, if the interrupted context was doing kernel work at the time it was interrupted.




Event Parameter


Sample Data


Description
C
S
E
T
S
T
A
I
L

timeStamp
Time : 0.669146
The time at which the event occurred
X
X
X
context
Context :  
INT 3 (0x3)
The context in which the event occurred
X
X
X
eventName
intEnt-3 (105)
The name and INT level of the event associated with this icon; the internal event number = 102 + INT level
X
X
X


*      
NOTE: The display of this icon is suppressed by default; to display it, toggle the Interrupts button in the Filter Events/State dialog box.


*      
NOTE: For some PowerPC targets the interrupt levels shown by WindView do not match the actual levels. This is because the PowerPC 860 interrupt controller has sixteen interrupt levels, INT0-INT15, one of which has a sublevel of 32 CPM interrupts, CPM0-CPM31. Because WindView can show only one kind of interrupt, it represents the CPM interrupts as INT32-INT63.

intExit -- exit from ISR

The ISR finished executing.

When this ISR finishes executing, control returns to the interrupted context. If the interrupted context was a task, then the highest-priority ready task makes a transition to the executing state.

VxWorks routines called from an ISR may be deferred to the interrupted context, if the interrupted context was doing kernel work at the time it was interrupted.




Event Parameter


Sample Data


Description
C
S
E
T
S
T
A
I
L

timeStamp
Time : 0.671482
The time at which the event occurred
X
X
X
context
Context :  
INT 5 (0x5)
The context in which the event occurred
X
X
X
eventName
intExit (101)
The name of the event associated with this icon
X
X
X

 


*      
NOTE: The display of this icon is suppressed by default; to display it, toggle the Interrupts button in the Filter Events/State dialog box.

Memory Library

  memPartAddToPool-- add memory to a memory pool

System or application code called the memAddToPool( ) or the memPartAddToPool( ) routine.

None.




Event Parameter


Sample Data


Description
C
S
E
T
S
T
A
I
L

eventName
memPartAddtoPool (nnnnn)
The name of the event associated with this icon
X
timeStamp
Time : 0.669146
The time at which the event occurred
X
poolSize
poolSize=0x200
Amount of memory added to pool
X
partId
partId=0x80373600
ID of memory partition
X

  memPartAlignedAlloc -- allocate memory

System or application code called the malloc( ), calloc( ), valloc( ), memAlign( ), memPartAlloc( ), or memPartAlignedAlloc( ) routine.

None.




Event Parameter


Sample Data


Description
C
S
E
T
S
T
A
I
L

eventName
memPartAlignedAlloc (nnnnn)
The name of the event associated with this icon
X
timeStamp
Time : 0.669146
The time at which the event occurred
X
nBytes
nBytes=0x60
Total amount of memory requested
X
nBytesPlusHeaderAlign
nBytesPlusHeaderAlign 
=0x68
Total amount of memory allocated
X
pBlock
pBlock=0x3bb7290
Pointer to memory block
X
partId
partId=0x198118
ID of memory partition
X

  memPartCreate -- create a memory partition

System or application code called the memPartCreate( ) routine.

None.




Event Parameter


Sample Data


Description
C
S
E
T
S
T
A
I
L

eventName
memPartCreate (nnn)
The name of the event associated with this icon
X
timeStamp
Time : 0.669146
The time at which the event occurred
X
poolSize
poolSize=0x200
Size of pool allocated
X
partId
partId=0x80373600
ID of memory partition
X

  memPartFree -- free memory

System or application code called the free( ), cfree( ), or memPartFree( ), routine.

None.




Event Parameter


Sample Data


Description
C
S
E
T
S
T
A
I
L

eventName
memPartFree (nnnnn)
The name of the event associated with this icon
X
timeStamp
Time : 0.669146
The time at which the event occurred
X
nBytesPlusHeaderAlign
nBytesPlusHeaderAlign 
=0x78 
Total amount of memory allocated
X
pBlock
pBlock=0x8036e800 
Pointer to memory block
X
partId
0x8008f1ec 
ID of memory partition
X

  memPartRealloc -- reallocate memory

System or application code called the realloc( ) or memPartRealloc( ) routine.

None.




Event Parameter


Sample Data


Description
C
S
E
T
S
T
A
I
L

eventName
memPartRealloc (nnnnn)
The name of the event associated with this icon
X
timeStamp
Time : 0.669146
The time at which the event occurred
X
nBytes
nBytes=0x140
Total amount of memory requested
X
nBytesPlusHeaderAlign
nBytesPlusHeaderAlign 
=0x1a0
Total amount of memory allocated
X
pBlock
pBlock=0x803736c0
Pointer to memory block
X
partId
partId=0x80373600
ID of memory partition
X

Message Queue

msgQCreate -- create a message queue

System or application code called the msgQCreate( ) routine.

None.




Event Parameter


Sample Data


Description
C
S
E
T
S
T
A
I
L

timeStamp
Time :  
0.011881
The time at which the event occurred
X
context
Context : t2 
(0xf9ace) 
The context in which the event occurred
X
eventName
msgQCreate (10020)
The name of the event associated with this icon
X
msgOptions
msgOptions : 
MSG_Q_FIFO
Message queueing options: MSG_Q_FIFO or MSG_Q_PRIORITY
X
maxMsgLen
maxMsgLen : 0x14
Maximum possible length, in bytes, of each message in this message queue
X
maxMsg
maxMsg : 0xa
Maximum number of messages this message queue can hold
X
msgQId
msgQId : 0xfff2308
ID of the created message queue
X

msgQDelete -- delete a message queue

System or application code called the msgQDelete( ) routine.

System code uses message queues for the following reasons (for information on TFTP, the exception task, and the logging task, see the VxWorks Programmer's Guide):

  • The TFTP server uses message queues to manage the pool of available reply descriptors.
  • A message queue is created for communication with the exception task (tExcTask).
  • A message queue manages the messages to be logged with the logging task (tLogTask).

Any tasks pending on the message queue make a transition to the ready state. If one of the tasks is the highest-priority ready task in the system, a context switch occurs.




Event Parameter


Sample Data


Description
C
S
E
T
S
T
A
I
L

timeStamp
Time :  
0.011881
The time at which the event occurred
X
X
context
Context :  
task3 (0x3d0218) 
The context in which the event occurred
X
X
eventName
msgQDelete (10021)
The name of the event associated with this icon
X
X
msgQId
msgQId : 0x3e03a8
ID of the message queue to delete
X
X

msgQReceive -- receive a message from a message queue

System or application code called the msgQReceive( ) routine.

System code uses message queues for the following reasons (for information on TFTP, the exception task, the logging task, and pipes, see the VxWorks Programmer's Guide):

  • The TFTP server uses message queues to manage the pool of available reply descriptors.
  • A message queue is created for communication with the exception task (tExcTask).
  • A message queue manages the messages to be logged with the logging task (tLogTask).
  • Message queues are used by pipe operations.

If no message is available in the specified message queue, the task makes a transition to the pended state and a context switch occurs.




Event Parameter


Sample Data


Description
C
S
E
T
S
T
A
I
L

timeStamp
Time : 4.6377312
The time at which the event occurred
X
X
context
Context :  
task3 (0x3e0218) 
Context in which the event occurred
X
X
eventName
msgQReceive (10022)
The name of the event associated with this icon
X
X
timeout
timeout : 
WAIT_FOREVER
Number of ticks that the task is to wait (pend) for a message, or NO_WAIT or WAIT_FOREVER
X
bufSize
bufSize : 20
Size of the buffer to receive message
X
buffer
buffer : 0xffe770
Address of buffer to receive message
X
msgQId
msgQId : 0x3e03a8
ID of the message queue from which to receive the message
X
X

msgQSend -- send a message to a message queue

System code, application code, or an ISR called the msgQSend( ) routine.

System code uses message queues for the following reasons (for information on TFTP, the exception task, the logging task, and pipes, see the VxWorks Programmer's Guide):

  • The TFTP server uses message queues to manage the pool of available reply descriptors.
  • A message queue is created for communication with the exception task (tExcTask).
  • A message queue manages the messages to be logged with the logging task (tLogTask).
  • Message queues are used by pipe operations.

If tasks are pended on the message queue, the first task that called msgQReceive( ) or the highest-priority task (depending on the message queue creation option) makes a transition to the ready state. If it is the highest-priority task in the system, a context switch occurs.

If the message queue is full, and the sending task has specified a timeout, then it makes a transition to the pended state and a context switch occurs. (ISRs must specify NO_WAIT as the timeout value.)




Event Parameter


Sample Data


Description
C
S
E
T
S
T
A
I
L

timeStamp
Time : 4.6366938
The time at which the event occurred
X
X
context
Context :  
t2 (0x3dd918) 
The context in which the event occurred
X
X
eventName
msgQSend (10023)
The name of the event associated with this icon
X
X
msgPriority
priority : MSG_PRI_NORMAL
Priority of the message being sent: MSG_PRI_NORMAL or MSG_PRI_URGENT
X
timeout
timeout : WAIT_FOREVER
Number of ticks that the task is to wait (pend) for free space if the message queue is full, or NO_WAIT, or WAIT_FOREVER
X
bufSize
bufSize : 28
Length of the message to be sent
X
buffer
buffer : 0xf9ca5c
Address of the buffer holding the message to be sent
X
msgQId
msgQId : 0x3e03a8
ID of the message queue to which to send the message
X
X

Semaphore

semBCreate -- create a binary semaphore

Application code called the semBCreate( ) routine.

None.




Event Parameter


Sample Data


Description
C
S
E
T
S
T
A
I
L

timeStamp
Time :  
0.033995
The time at which the event occurred
X
context
Context :  
tLogTask (0x3a3964) 
The context in which the event occurred
X
eventName
semBCreate  
(10008)
The name of the event associated with this icon
X
semValue
semValue : 0x3a3964
The ID of the task that owns the semaphore or NULL
X
semOptions
options : SEM_Q_FIFO
Semaphore queueing option: SEM_Q_PRIORITY or SEM_Q_FIFO
X
semId
semId :  
0x3fd900
ID of the created binary semaphore
X

semCCreate -- create a counting semaphore

Application code called the semCCreate( ) routine.

None.




Event Parameter


Sample Data


Description
C
S
E
T
S
T
A
I
L

timeStamp
Time :  
0.033973
The time at which the event occurred
X
context
Context : tLogTask (0x3a3964) 
The context in which the event occurred
X
eventName
semCCreate (10009)
The name of the event associated with this icon
X
semValue
semValue : 0
Initial count of the semaphore
X
semOptions
options : SEM_Q_FIFO
Semaphore queueing option: SEM_Q_PRIORITY or SEM_Q_FIFO
X
semId
semId :  
0x3a0fa4
ID of the created counting semaphore
X

semDelete -- delete a semaphore

System or application code called the semDelete( ) routine. (System code issues this routine from the TFTP library only.)

The following system tasks create and use mutex semaphores (for information on these facilities, see the VxWorks Programmer's Guide):

  • The FTP server daemon task.
  • The TFTP server task.

In addition, system code creates and uses these mutex semaphores:

  • The volume-locking semaphore in the dosFs file system.
  • The volume-locking semaphore, the fd-access semaphore, and each fd's semaphore in the raw file system.
  • The volume-locking semaphore in the RT-11 file system.
  • The object module management semaphores.
  • The network mutual exclusion semaphore.

Tasks pending on the semaphore make a transition to the ready state. If one of the unblocked tasks is the highest-priority ready task in the system, a context switch occurs.




Event Parameter


Sample Data


Description
C
S
E
T
S
T
A
I
L

timeStamp
Time :  
0.033731
The time at which the event occurred
X
X
context
Context : tLogTask (0x3a3964) 
The context in which the event occurred
X
X
eventName
semDelete (10010)
The name of the event associated with this icon
X
X
semId
semId : 0x3a0fa4
ID of the semaphore to delete
X
X

semFlush -- flush a semaphore

System code, application code, or an ISR called the semFlush( ) routine. (System code only issues this routine from the TFTP library.)

Tasks pending on the semaphore make a transition to the ready state. If one of the unblocked tasks is the highest-priority ready task in the system, a context switch occurs. Note that the semFlush( ) routine is illegal for mutual exclusion semaphores.




Event Parameter


Sample Data


Description
C
S
E
T
S
T
A
I
L

timeStamp
Time :  
0.033633
The time at which the event occurred
X
context
Context : tLogTask (0x3a3964) 
The context in which the event occurred
X
eventName
semFlush  
(10011)
The name of the event associated with this icon
X
semId
semId :  
0x3a0f54
ID of the semaphore to flush
X


*      
CAUTION: At AIL level, a semaphore flush stores in the event log not only the semFlush event itself, but also a semGive for every task that was pended on the semaphore. At TST level, only the semFlush event appears.

semGive -- give a semaphore

System code, application code, or an ISR called the semGive( ) routine. (An ISR cannot give a mutual exclusion semaphore.)

WindView system code creates and uses a binary semaphore to manage the target event buffer.

The following system tasks create and use mutex semaphores (for information on these facilities, see the VxWorks Programmer's Guide):

  • The FTP server daemon task.
  • The TFTP server task.

In addition, system code creates and uses these mutex semaphores:

  • The volume-locking semaphore in the dosFs file system.
  • The volume-locking semaphore, the fd-access semaphore, and each fd's semaphore in the raw file system.
  • The volume-locking semaphore in the RT-11 file system.
  • The object module management semaphores.
  • The network mutual exclusion mechanism.
  • The memory management mechanism.
  • The serial devices management mechanism (tyLib).

For binary semaphores, if tasks are pended on the semaphore, the first task that called semTake( ) or the highest-priority task (depending on the semaphore create option) makes a transition to the ready state. If it is the highest-priority task in the system, a context switch occurs. If there are no tasks pending on the semaphore, the semaphore becomes full (no effect on task state).

For counting semaphores, if tasks are pended on the semaphore, the first task that called semTake( ) or the highest-priority task (depending on the semaphore create option) makes a transition to the ready state. If it is the highest-priority task in the system, a context switch occurs. If there are no tasks pending on the semaphore, the count of the semaphore is incremented (no effect on task state).

For mutual exclusion semaphores, if the number of gives equals the number of takes, the first task that called semTake( ) or the highest-priority task (depending on the semaphore create option) makes a transition to the ready state. If it is the highest-priority task in the system, a context switch occurs. Otherwise, the semaphore count is decremented (no effect on task state).




Event Parameter


Sample Data


Description
C
S
E
T
S
T
A
I
L

timeStamp
Time : 0.014918
The time at which the event occurred
X
X
context
Context :  
t2 (0x3dd918)
The context in which the event occurred
X
X
eventName
semGive (10012)
The name of the event associated with this icon
X
X
recurse
recurse : 0
For mutual exclusion semaphores, the number of gives that must occur before this semaphore is released
X
semValue
semValue :  
0x33dd918
The value before the semGive, as follows:
For a binary semaphore, the ID of the current task or NULL
For a counting semaphore, the current count
For a mutex semaphore, the ID of the task that owns this semaphore or NULL
X
semId
semId : 0x3a0f54
ID of the semaphore to give
X
X

semMCreate -- create a mutual exclusion semaphore

System or application code called the semMCreate( ) routine.

None.




Event Parameter


Sample Data


Description
C
S
E
T
S
T
A
I
L

timeStamp
Time: 0.033929
The time at which the event occurred
X
context
Context : tLogTask (0x3a3964) 
The context in which the event occurred
X
eventName
semMCreate  
(10013)
The name of the event associated with this icon
X
semValue
semValue : 0
ID of task that owns the mutual exclusion semaphore (the semaphore is not owned at creation, so it is always NULL)
X
semOptions
semOptions :  
SEM_Q_FIFO
Semaphore option(s); see the VxWorks Programmer's Guide for valid combinations: SEM_Q_PRIORITY, SEM_Q_FIFO, SEM_DELETE_SAFE, SEM_INVERSION_SAFE
X
semId
semId : 0x3a00a4
ID of the created mutual exclusion semaphore
X

semMGiveForce -- give a mutual exclusion semaphore without restrictions

Application code called the semMGiveForce( ) routine. This routine is intended as a debugging aid only; see the VxWorks 5.1 Reference Manual.

If tasks are pended on the mutex semaphore, the first task that called semTake( ) or the highest-priority task (depending on the semaphore create option) makes a transition to the ready state. If it is the highest-priority task in the system, a context switch occurs. If there are no tasks pending on the semaphore, the semaphore becomes full (no effect on task state).




Event Parameter


Sample Data


Description
C
S
E
T
S
T
A
I
L

timeStamp
Time : 0.011881
The time at which the event occurred
X
context
Context :  
t4 (0x3a6588)
The context in which the event occurred
X
eventName
semMGiveForce (10014)
The name of the event associated with this icon
X
semValue
semValue : 0
The ID of the task that owns the semaphore or NULL
X
semOptions
semOptions : SEM_Q_PRIORITY
Semaphore option: SEM_Q_PRIORITY, SEM_Q_FIFO, SEM_DELETE_SAFE, or SEM_INVERSION_SAFE
X
semId
semId : 0x5dafc
ID of the mutual exclusion semaphore to give without restrictions
X

semTake -- take a semaphore

System or application code called the semTake( ) routine.

WindView system code creates and uses a binary semaphore to manage the target event buffer.

The following system tasks create and use mutex semaphores (for information on these facilities, see the VxWorks Programmer's Guide):

  • The FTP server daemon task.
  • The TFTP server task.

In addition, system code creates and uses these mutex semaphores:

  • The volume-locking semaphore in the dosFs file system.
  • The volume-locking semaphore, the fd-access semaphore, and each fd's semaphore in the raw file system.
  • The volume-locking semaphore in the RT-11 file system.
  • The object module management semaphores.
  • The network mutual exclusion mechanism.
  • The memory management mechanism.
  • The serial devices management mechanism (tyLib).

For binary semaphores, if the semaphore is full, it is made empty and the task continues executing (no effect on task state). If the semaphore is empty, the task pends on the semaphore, causing a context switch.

For counting semaphores, if the semaphore value is non-zero, it is decremented and the task continues executing (no effect on task state). If the semaphore value is zero, the task pends on the semaphore, causing a context switch.

For mutual exclusion semaphores, if the number of takes exceeds the number of gives, the task continues executing (no effect on task state). Otherwise, the task pends on the semaphore, causing a context switch.




Event Parameter


Sample Data


Description
C
S
E
T
S
T
A
I
L

timeStamp
Time : 0.042625
The time at which the event occurred
X
X
context
Context :  
t4 (0x3a6588)
The context in which the event occurred
X
X
eventName
semTake (10015)
The name of the event associated with this icon
X
X
recurse
recurse : 0
For mutual exclusion semaphores, the number of gives that must occur before this semaphore is released
X
semValue
semValue : 0
The value before the semTake, as follows:
For a binary semaphore, the ID of the current task or NULL.
For a counting semaphore, the current count.
For a mutex semaphore, the ID of the task that owns this semaphore or NULL.
X
semId
semId : 0x3a0804
ID of the semaphore to take
X
X

Signal

kill -- send a signal to a task

  1. Application code or an ISR sent a signal to the specified task with the kill( ) routine.
  1. Application code sent a signal to the calling task with the raise( ) routine.

The task being signaled immediately suspends its current thread of execution and invokes the signal handler associated with this signal. (Note that the signal handler is invoked in the context of the task, even if the task is not in the ready state.) Depending on the actions of the signal handler, a context switch can occur.




Event Parameter


Sample Data


Description
C
S
E
T
S
T
A
I
L

timeStamp
Time : 0.1530
The time at which the event occurred
X
X
context
Context :  
t2 (0x3dd918)
The context in which the event occurred
X
X
eventName
kill (10027)
The name of the event associated with this icon
X
X
taskId
taskId :  
0xf90f6c
ID of the task to receive the signal
X
X
signo
signo : 0x1e
Signal number
X

pause -- pause the task until delivery of a signal

Application code called the pause( ) routine.

The currently executing task makes a transition to the suspended state, and a context switch occurs.




Event Parameter


Sample Data


Description
C
S
E
T
S
T
A
I
L

timeStamp
Time :  
0.011881
The time at which the event occurred
X
X
context
Context : tLogTask (0xfa0dc0) 
The context in which the event occurred
X
X
eventName
pause (10026)
The name of the event associated with this icon
X
X
taskId
taskId : 0x39d830
ID of the current task
X
X

signal -- specify the handler associated with a signal

Application code called the signal( ), sigaction( ), or sigvec( ) routine.

None.




Event Parameter


Sample Data


Description
C
S
E
T
S
T
A
I
L

timeStamp
Time : 1.1467
The time at which the event occurred
X
context
Context :  
task5 (0x39ecb4) 
The context in which the event occurred
X
eventName
signal ( 
10024)
The name of the event associated with this icon
X
handler
handler : 0x3fdb20
Pointer to the function to handle the signal, or SIG_DFL or SIG_IGN
X
signo
signo : 0x5
Signal number
X

sigsuspend -- suspend the task until delivery of a signal

Application code called the sigsuspend( ) routine.

The currently executing task makes a transition to the suspended state, and a context switch occurs.




Event Parameter


Sample Data


Description
C
S
E
T
S
T
A
I
L

timeStamp
Time : 0.011881
The time at which the event occurred
X
X
context
Context :  
t2 (0x3dd918)
The context in which the event occurred
X
X
eventName
sigsuspend ( 
10025)
The name of the event associated with this icon
X
X
sigset
sigset : 0x40000000
The sigset_t structure that holds the signal set mask
X
X

sigwrapper -- entry to signal handler

  1. Application code or an ISR sent a signal with the kill( ) routine and a signal handler was entered.
  1. Application code sent a signal with the raise( ) routine and a signal handler was entered.

The signalled task is interrupted and the signal handler runs in that task's context.




Event Parameter


Sample Data


Description
C
S
E
T
S
T
A
I
L

timeStamp
Time : 0.00195
The time at which the event occurred
X
context
Context :  
t4 (0xf90f6c)
The context in which the event occurred
X
eventName
sigwrapper  
(10029)
The name of the event associated with this icon
X
signo
signo : 0xf90f6c
Signal number
X
taskId
taskId : 0x3dd918
ID of the task that was signalled
X

Task

safePend -- pend or unpend a task attempting to delete a task that is safe from deletion

  1. Application code called the taskDelete( ) routine, but the specified task has been made safe from deletion by at least one call to taskSafe( ).
  1. The safe task has been made "unsafe" by the appropriate number of calls to taskUnsafe( ). The pending task makes a transition to the ready state.

For Possible Cause 1, the currently executing task makes a transition to the pended state, and a context switch occurs.

For Possible Cause 2, the pended task makes a transition to the ready state. If it is the highest-priority ready task in the system, a context switch occurs.




Event Parameter


Sample Data


Description
C
S
E
T
S
T
A
I
L

timeStamp
Time : 0.6565
The time at which the event occurred
X
context
Context : taskTest (0xf9664c) 
The context in which the event occurred
X
eventName
safePend (10028)
The name of the event associated with this icon
X
taskId
taskId : 0xf9b5fc
ID of the task to pend or unpend
X

taskDelay -- delay a task

  1. System or application code called the taskDelay( ) routine.
  1. System or application code called the nanosleep( ) routine.

In system code, the taskDelay( ) routine is used for synchronization purposes, especially in networking code and for shared memory objects.

The currently executing task makes a transition to the delayed state, and a context switch occurs.




Event Parameter


Sample Data


Description
C
S
E
T
S
T
A
I
L

timeStamp
Time :  
3.99884
The time at which the event occurred
X
X
context
Context :  
t14 (0x38bd08) 
The context in which the event occurred
X
X
eventName
taskDelay (10002)
The name of the event associated with this icon
X
X
delayTicks
delay : 60
Number of ticks to delay task
X
X

taskDelete -- delete a task

  1. System or application code called the taskDelete( ) or td( ) routine.
  1. System or application code called the taskDeleteForce( ) routine.
  1. System or application code called the exit( ) routine. (If the exception task tExcTask is running, it carries out the actual deletion of the task; see the VxWorks Programmer's Guide for information on this task.)

If the routine is successful, the specified task makes a transition from its previous state to the dead state. If the executing task deletes itself, a context switch occurs. However, if the specified task is safe from deletion, the calling task makes a transition to the pended state (see the safePend event) until the task is made unsafe by the appropriate number of taskUnsafe( ) routines (or until it releases the mutex semaphore that kept it safe).

Note that once a task is deleted, its task ID may be reused by tasks initialized after its deletion.




Event Parameter


Sample Data


Description
C
S
E
T
S
T
A
I
L

timeStamp
Time : 0.09537
The time at which the event occurred
X
X
context
Context : tLogTask (0x3a468c) 
The context in which the event occurred
X
X
eventName
taskDelete (10001)
The name of the event associated with this icon
X
X
safeCnt
safeCnt : 1
Number of taskSafe( ) routines issued for this task
X
taskId
taskId : 0x38bd08
ID of the task to delete
X
X

taskPrioritySet -- change the priority of a task

  1. System code, application code, or an ISR called the taskPrioritySet( ) routine.
  1. System code, application code, or an ISR called the semTake( ) or semDelete( ) routine specifying a mutual exclusion semaphore with the SEM_INVERSION_SAFE option set, and a task of lower priority owns the semaphore.

If the affected task becomes the highest-priority ready task in the system, a context switch occurs. Or, if the calling task lowers its own priority so that it is no longer the highest-priority ready task in the system, a context switch occurs.




Event Parameter


Sample Data


Description
C
S
E
T
S
T
A
I
L

timeStamp
Time : 0.024345
The time at which the event occurred
X
X
context
Context : tLogTask (0x39bf18) 
The context in which the event occurred
X
X
eventName
taskPrioritySet (10003)
The name of the event associated with this icon
X
X
oldPriority
priority : 100
Old priority of affected task
X
X
newPriority
priority : 120
New priority of affected task
X
X
taskId
taskId : 0x38bca4
ID of affected task
X
X

taskResume -- resume a task

  1. System code, application code, or an ISR called the taskResume( ) or tr( ) routine.
  1. System or application code called the taskActivate( ) routine.

The suspended task makes a transition to the ready state. If it is the highest-priority ready task in the system, a context switch occurs.

Note that a task that was in a state other than executing or ready before it was suspended is returned to that state. For example, a delayed task that was suspended is now once again delayed, unless the timeout period has also expired.




Event Parameter


Sample Data


Description
C
S
E
T
S
T
A
I
L

timeStamp
Time :  
0.014816
The time at which the event occurred
X
X
context
Context : tLogTask (0x39bf18) 
The context in which the event occurred
X
X
eventName
taskResume (10005)
The name of the event associated with this icon
X
X
priority
priority :  
120
Task priority, 0 -- 255
X
taskId
taskId : 0x381d44
ID of the task to resume
X
X

taskSafe -- make a task safe from deletion

Application code called the taskSafe( ) routine.

No immediate effect. However, see safePend.




Event Parameter


Sample Data


Description
C
S
E
T
S
T
A
I
L

timeStamp
Time :  
0.298828
The time at which the event occurred
X
context
Context : tLogTask (0x3a468c) 
The context in which the event occurred
X
eventName
taskSafe (10006)
The name of the event associated with this icon
X
safeCnt
safeCnt : 1
Number of calls to taskSafe( ) before this one, plus the number of times this task has taken a deletion-safe mutex semaphore
X
taskId
taskId : 0x3a468c
ID of the task to make safe
X

taskSpawn -- start a task

  1. System or application code called the taskSpawn( ), taskInit( ), period( ), repeat( ), or sp( ) routine.
  1. System or application code called the taskRestart( ) routine.

The new task makes a transition from the nonexistent state to the suspended state. When the new task is activated (resumed), if it is the highest-priority task in the system, a context switch occurs.




Event Parameter


Sample Data


Description
C
S
E
T
S
T
A
I
L

timeStamp
Time :  
0.27065
The time at which the event occurred
X
X
context
Context : tLogTask (0x3a468c) 
The context in which the event occurred
X
X
eventName
taskSpawn (10000)
The name of the event associated with this icon
X
X
taskOptions
options :  
VX_FP_TASK 
VX_STDIO
Task mode options: VX_FP_TASK, VX_PRIVATE_ENV, VX_NO_STACK_FILL, VX_UNBREAKABLE
X
entryPt
entry :  
0x328a4
Address of task's entry point
X
stackSize
stackSize: 0x2710
Size of task's stack, including TCB and task name
X
priority
priority :  
0x63
Task priority, 0 - 255
X
X
taskId
taskId : 0x390ac0
ID of the spawned task
X
X

taskSuspend -- suspend a task

  1. System code, application code, or an ISR called the taskSuspend( ) or ts( ) routine.
  1. System or application code called the taskRestart( ) routine specifying itself as the task to restart.
  1. System or application code called the memPartAlignedAlloc( ) routine and MEM_ALLOC_ERROR_SUSPEND_FLAG was set in the memPartOptionsSet( ) routine (if memory is not available, the task suspends until it is).
  1. System or application code deleted a task with the taskDelete( ), taskDeleteForce( ), or exit( ) routines (the task is put into the suspended state until the system has time to delete it).

The task makes a transition to the suspended state. If the calling task suspends itself, a context switch occurs.

Note that if a task was in a state other than executing or ready before it was suspended, it is still in that state. For example, a delayed task that is suspended is now delayed and suspended.




Event Parameter


Sample Data


Description
C
S
E
T
S
T
A
I
L

timeStamp
Time :  
2.445541
The time at which the event occurred
X
X
context
Context : tLogTask (0x3a468c) 
The context in which the event occurred
X
X
eventName
taskSuspend (10004)
The name of the event associated with this icon
X
X
taskId
taskId : 0x38bd08
ID of the task to suspend
X
X

taskUnsafe -- make a task unsafe from deletion

Application code called the taskUnsafe( ) routine.

If this taskUnsafe( ) routine released the last safe-from-deletion lock on the specified task, then any tasks in the pended state because they are waiting to delete this task are put into the ready state (see the safePend event). As soon as one of those tasks executes, the specified task is deleted; therefore, it makes a transition from its previous state to the dead state.




Event Parameter


Sample Data


Description
C
S
E
T
S
T
A
I
L

timeStamp
Time :  
0.299007
The time at which the event occurred
X
context
Context : tLogTask (0x3a468c) 
The context in which the event occurred
X
eventName
taskUnsafe (10007)
The name of the event associated with this icon
X
safeCnt
safeCnt : 2
Number of calls to taskSafe( ) before this call to taskUnsafe( ), plus the number of times this task has taken a deletion-safe mutex semaphore
X
taskId
taskId : 0x3a468c
ID of the task to make unsafe
X

Tick

tick: timeout -- task timeout expiration

A tick interrupt occurred, causing a pended task's timeout to expire.

The task makes a transition from the pended state to the ready state. If it is the highest-priority ready task in the system, a context switch occurs.




Event Parameter


Sample Data


Description
C
S
E
T
S
T
A
I
L

timeStamp
Time : 0.433154
The time at which the event occurred
X
X
context
Context :  
INT 6 (0x6)
The context in which the event occurred
X
X
eventName
tick : 
timeout (631)
The name of the event associated with this icon
X
X
taskId
taskId :  
0x390fa4
ID of the task whose timeout has expired
X
X

tick: timeslice -- announce a time slice

Round-robin scheduling was enabled with the kernelTimeSlice( ) routine, and a time slice has expired.

If the currently executing task has the same priority as one or more other tasks, it makes a transition to the ready state, and the next task of the same priority executes. That is, a context switch occurs.




Event Parameter


Sample Data


Description
C
S
E
T
S
T
A
I
L

timeStamp
Time : 1.533078
The time at which the event occurred
X
X
context
Context :  
INT 6 (0x6)
The context in which the event occurred
X
X
eventName
tick : 
timeslice (607)
The name of the event associated with this icon
X
X

tick: undelay -- task delay expiration

A tick interrupt occurred, causing a delayed task's timeout to expire.

The task makes a transition from the delayed state to the ready state. If it is the highest-priority ready task in the system, a context switch occurs.




Event Parameter


Sample Data


Description
C
S
E
T
S
T
A
I
L

timeStamp
Time : 0.483216
The time at which the event occurred
X
X
context
Context :  
INT 6 (0x6)
The context in which the event occurred
X
X
eventName
tick : 
undelay (618)
The name of the event associated with this icon
X
X
taskId
taskId : 0x390fa4
ID of the task to undelay
X
X

tick: watchdog -- announce a watchdog timer expiration

A watchdog timer was started with the wdStart( ) routine, and the timeout has expired.

Because the watchdog timer routine is called from interrupt level, the current context is interrupted. If the current context is a task, the task is displayed as making a transition to the ready state.




Event Parameter


Sample Data


Description
C
S
E
T
S
T
A
I
L

timeStamp
Time : 2.149721
The time at which the event occurred
X
X
context
Context :  
INT 6 (0x6)
The context in which the event occurred
X
X
eventName
tick : 
watchdog (608)
The name of the event associated with this icon
X
X
wdId
wdId : 0x3d6180
ID of the watchdog timer that expired
X
X

Unknown

unknown -- unknown event

WindView has received an event that it does not recognize. Call WRS Technical Support.

Indeterminate.




Event Parameter


Sample Data


Description
C
S
E
T
S
T
A
I
L

UnknownId
Unknown event id : -25437
The ID of the event
X
X
X

User Event

defaultUser -- display user-specified event

Application code called the wvEvent( ) or e( ) routine.

None.

Other information is collected based on your coding of these routines. For information, see WindView User's Guide: D.4 Creating Icons for User-Defined Events.




Event Parameter


Sample Data


Description
C
S
E
T
S
T
A
I
L

timeStamp
Time : 9.672774
The time at which the event occurred
X
X
X
context
Context :  
t1 (0x3a118c)
The context in which the event occurred
X
X
X
userEventId
User event 2
The name and number of the user event
X
X
X
address
Address : 0x1a644
The address at which the eventpoint was set; for e( ) routine only
X
X
X

  


*      
NOTE: The icon shown above is the WRS-supplied, default user event icon. You can design your own, if you wish; see the manual for details. See WindView User's Guide: D.4 Creating Icons for User-Defined Events.

  

Watchdog Timer

wdCancel -- cancel a watchdog timer

  1. System code, application code, or an ISR called the wdCancel( ) routine.

Systems code creates and uses watchdog timers in the following ways:

  • Network interface timeouts.
  • Network ethernet address resolution protocol timeouts.
  • Domain routine timeouts.
  • Shared memory objects heartbeats.
  • POSIX timers.
  1. Application code called the timer_settime( ) routine, specifying a zero time.

None.




Event Parameter


Sample Data


Description
C
S
E
T
S
T
A
I
L

timeStamp
Time :  
0.032331
The time at which the event occurred
X
X
context
Context :  
task 5 (0x39ecb4) 
The context in which the event occurred
X
X
eventName
wdCancel (10019)
The name of the event associated with this icon
X
X
wdId
wdId :  
0x3a007c
ID of the watchdog timer to cancel
X
X

wdCreate -- create a watchdog timer

  1. System or application code called the wdCreate( ) routine.
  1. Application code called the timer_create( ) routine.

None.




Event Parameter


Sample Data


Description
C
S
E
T
S
T
A
I
L

timeStamp
Time : 0.00591
The time at which the event occurred
X
context
Context : tLogTask (0x3a3964) 
The context in which the event occurred
X
eventName
wdCreate  
(10016)
The name of the event associated with this icon
X
wdId
wdId :  
0x39ff30
ID of the created watchdog timer
X

wdDelete -- delete a watchdog timer

  1. Application code called the wdDelete( ) routine.

Systems code creates and uses watchdog timers in the following ways:

  • Network interface timeouts.
  • Network ethernet address resolution protocol timeouts.
  • Domain routine timeouts.
  • Shared memory objects heartbeats.
  • POSIX timers.
  1. Application code called the timer_delete( ) routine.

None.




Event Parameter


Sample Data


Description
C
S
E
T
S
T
A
I
L

timeStamp
Time :  
0.014736
The time at which the event occurred
X
context
Context : tLogTask (0x3a3964) 
The context in which the event occurred
X
eventName
wdDelete (10017)
The name of the event associated with this icon
X
wdId
wdId :  
0x3a007c
ID of the watchdog timer to delete
X

wdStart -- start a watchdog timer

  1. System code, application code, or an ISR called the wdStart( ) routine.

Systems code creates and uses watchdog timers in the following ways:

  • Network interface timeouts.
  • Network ethernet address resolution protocol timeouts.
  • Domain routine timeouts.
  • Shared memory objects heartbeats.
  • POSIX timers.
  1. Application code called the timer_settime( ) routine, specifying a non-zero time.

None.




Event Parameter


Sample Data


Description
C
S
E
T
S
T
A
I
L

timeStamp
Time : 0.033301
The time at which the event occurred
X
X
context
Context : task5 (0x39ecb4) 
The context in which the event occurred
X
X
eventName
wdStart (10018)
The name of the event associated with this icon
X
X
wdDelay
delay : 1
Number of ticks for the watchdog timer to count down
X
wdId
wdId : 0x3a007c
ID of the watchdog timer to start
X
X


1:  For information on starting event logging, see WindView User's Guide: Configuring Data Collection.

2:  For a task, the context ID is the task ID. For an ISR context, the ID is the hex value of the interrupt level; for example, an ISR that runs at INT 3 has an ID of 0x3. For the idle loop context, the ID is 0xffffffff.