356 lines
11 KiB
Plaintext
356 lines
11 KiB
Plaintext
|
This is the output from running examples/ostest on March 23, 2007
|
||
|
=================================================================
|
||
|
|
||
|
go 1008000
|
||
|
## Starting application at 0x01008000 ...
|
||
|
stdio_test: write fd=1
|
||
|
stdio_test: write fd=2
|
||
|
stdio_test: Standard I/O Check: printf
|
||
|
user_start: Started user_main at PID=2
|
||
|
stdio_test: Standard I/O Check: fprintf to stderr
|
||
|
|
||
|
user_main: Begin argument test
|
||
|
user_main: Started with argc=5
|
||
|
user_main: argv[0]="<noname>"
|
||
|
user_main: argv[1]="Arg1"
|
||
|
user_main: argv[2]="Arg2"
|
||
|
user_main: argv[3]="Arg3"
|
||
|
user_main: argv[4]="Arg4"
|
||
|
|
||
|
End of test memory usage:
|
||
|
VARIABLE BEFORE AFTER
|
||
|
======== ======== ========
|
||
|
arena fe1f10 fe1f10
|
||
|
ordblks 2 2
|
||
|
mxordblk fda9b0 fda9b0
|
||
|
uordblks 53f0 53f0
|
||
|
fordblks fdcb20 fdcb20
|
||
|
|
||
|
user_main: /dev/null test
|
||
|
dev_null: Read 0 bytes from /dev/null
|
||
|
dev_null: Wrote 1024 bytes to /dev/null
|
||
|
|
||
|
End of test memory usage:
|
||
|
VARIABLE BEFORE AFTER
|
||
|
======== ======== ========
|
||
|
arena fe1f10 fe1f10
|
||
|
ordblks 2 2
|
||
|
mxordblk fda9b0 fda9b0
|
||
|
uordblks 53f0 53f0
|
||
|
fordblks fdcb20 fdcb20
|
||
|
|
||
|
user_main: mutex test
|
||
|
Initializing mutex
|
||
|
Starting thread 1
|
||
|
Starting thread 2
|
||
|
Thread1 Thread2
|
||
|
Loops 32 32
|
||
|
Errors 0 0
|
||
|
|
||
|
End of test memory usage:
|
||
|
VARIABLE BEFORE AFTER
|
||
|
======== ======== ========
|
||
|
arena fe1f10 fe1f10
|
||
|
ordblks 2 2
|
||
|
mxordblk fda9b0 fda9b0
|
||
|
uordblks 53f0 53f0
|
||
|
fordblks fdcb20 fdcb20
|
||
|
|
||
|
user_main: cancel test
|
||
|
cancel_test: Test 1: Normal Cancelation
|
||
|
cancel_test: Starting thread
|
||
|
start_thread: Initializing mutex
|
||
|
start_thread: Initializing cond
|
||
|
start_thread: Starting thread
|
||
|
thread_waiter: Taking mutex
|
||
|
thread_waiter: Starting wait for condition
|
||
|
start_thread: Yielding
|
||
|
cancel_test: Canceling thread
|
||
|
cancel_test: Joining
|
||
|
cancel_test: waiter exited with result=ffffffff
|
||
|
cancel_test: PASS thread terminated with PTHREAD_CANCELED
|
||
|
cancel_test: Test 2: Cancelation of detached thread
|
||
|
cancel_test: Re-starting thread
|
||
|
restart_thread: Destroying cond
|
||
|
restart_thread: Destroying mutex
|
||
|
restart_thread: Re-starting thread
|
||
|
start_thread: Initializing mutex
|
||
|
start_thread: Initializing cond
|
||
|
start_thread: Starting thread
|
||
|
thread_waiter: Taking mutex
|
||
|
thread_waiter: Starting wait for condition
|
||
|
start_thread: Yielding
|
||
|
cancel_test: Canceling thread
|
||
|
cancel_test: Joining
|
||
|
cancel_test: PASS pthread_join failed with status=ESRCH
|
||
|
cancel_test: Test 3: Non-cancelable threads
|
||
|
cancel_test: Re-starting thread (non-cancelable)
|
||
|
restart_thread: Destroying cond
|
||
|
restart_thread: Destroying mutex
|
||
|
restart_thread: Re-starting thread
|
||
|
start_thread: Initializing mutex
|
||
|
start_thread: Initializing cond
|
||
|
start_thread: Starting thread
|
||
|
thread_waiter: Taking mutex
|
||
|
thread_waiter: Starting wait for condition
|
||
|
thread_waiter: Setting non-cancelable
|
||
|
start_thread: Yielding
|
||
|
cancel_test: Canceling thread
|
||
|
cancel_test: Joining
|
||
|
thread_waiter: Releasing mutex
|
||
|
thread_waiter: Setting cancelable
|
||
|
cancel_test: waiter exited with result=ffffffff
|
||
|
cancel_test: PASS thread terminated with PTHREAD_CANCELED
|
||
|
|
||
|
End of test memory usage:
|
||
|
VARIABLE BEFORE AFTER
|
||
|
======== ======== ========
|
||
|
arena fe1f10 fe1f10
|
||
|
ordblks 2 2
|
||
|
mxordblk fda9b0 fda9b0
|
||
|
uordblks 53f0 53f0
|
||
|
fordblks fdcb20 fdcb20
|
||
|
|
||
|
user_main: semaphore test
|
||
|
sem_test: Initializing semaphore to 0
|
||
|
sem_test: Starting waiter thread 1
|
||
|
sem_test: Set thread 1 priority to 191
|
||
|
waiter_func: Thread 1 Started
|
||
|
waiter_func: Thread 1 initial semaphore value = 0
|
||
|
waiter_func: sThread 1 aiting on semaphore
|
||
|
em_test: Starting waiter thread 2
|
||
|
sem_test: Set thread 2 priority to 128
|
||
|
waiter_func: Thread 2 Started
|
||
|
waiter_func: Thread 2 initial semaphore value = -1
|
||
|
waiter_func: Thread 2 aiting on semaphore
|
||
|
sem_test: Starting poster thread 3
|
||
|
sem_test: Set thread 3 priority to 64
|
||
|
poster_func: Thread 3 started
|
||
|
poster_func: Thread 3 semaphore value = -2
|
||
|
poster_func: Thread 3 posting semaphore
|
||
|
waiter_func: Thread 1 awakened
|
||
|
waiter_func: Thread 1 new semaphore value = -1
|
||
|
waiter_func: Thread 1 done
|
||
|
poster_func: Thread 3 new semaphore value = -1
|
||
|
poster_func: Thread 3 semaphore value = -1
|
||
|
poster_func: Thread 3 posting semaphore
|
||
|
waiter_func: Thread 2 awakened
|
||
|
waiter_func: Thread 2 new semaphore value = 0
|
||
|
waiter_func: Thread 2 done
|
||
|
poster_func: Thread 3 new semaphore value = 0
|
||
|
poster_func: Thread 3 done
|
||
|
|
||
|
End of test memory usage:
|
||
|
VARIABLE BEFORE AFTER
|
||
|
======== ======== ========
|
||
|
arena fe1f10 fe1f10
|
||
|
ordblks 2 2
|
||
|
mxordblk fda9b0 fda9b0
|
||
|
uordblks 53f0 53f0
|
||
|
fordblks fdcb20 fdcb20
|
||
|
|
||
|
user_main: condition variable test
|
||
|
cond_test: Initializing mutex
|
||
|
cond_test: Initializing cond
|
||
|
cond_test: Starting waiter
|
||
|
cond_test: Set thread 1 priority to 128
|
||
|
waiter_thread: Started
|
||
|
cond_test: Starting signaler
|
||
|
cond_test: Set thread 2 priority to 64
|
||
|
thread_signaler: Started
|
||
|
thread_signaler: Terminating
|
||
|
cond_test: signaler terminated, now cancel the waiter
|
||
|
cond_test: Waiter Signaler
|
||
|
cond_test: Loops 32 32
|
||
|
cond_test: Errors 0 0
|
||
|
cond_test:
|
||
|
0 times, waiter did not have to wait for data
|
||
|
cond_test: 0 times, data was already available when the signaler run
|
||
|
cond_test: 0 times, the waiter was in an unexpected state when the signaler ran
|
||
|
|
||
|
End of test memory usage:
|
||
|
VARIABLE BEFORE AFTER
|
||
|
======== ======== ========
|
||
|
arena fe1f10 fe1f10
|
||
|
ordblks 2 2
|
||
|
mxordblk fda9b0 fda9b0
|
||
|
uordblks 53f0 53f0
|
||
|
fordblks fdcb20 fdcb20
|
||
|
|
||
|
user_main: timed wait test
|
||
|
thread_waiter: Initializing mutex
|
||
|
timedwait_test: Initializing cond
|
||
|
timedwait_test: Starting waiter
|
||
|
timedwait_test: Set thread 2 priority to 177
|
||
|
thread_waiter: Taking mutex
|
||
|
thread_waiter: Starting 5 second wait for condition
|
||
|
timedwait_test: Joining
|
||
|
thread_waiter: pthread_cond_timedwait timed out
|
||
|
thread_waiter: Releasing mutex
|
||
|
thread_waiter: Exit with status 0x12345678
|
||
|
timedwait_test: waiter exited with result=12345678
|
||
|
|
||
|
End of test memory usage:
|
||
|
VARIABLE BEFORE AFTER
|
||
|
======== ======== ========
|
||
|
arena fe1f10 fe1f10
|
||
|
ordblks 2 2
|
||
|
mxordblk fda9b0 fda9b0
|
||
|
uordblks 53f0 53f0
|
||
|
fordblks fdcb20 fdcb20
|
||
|
|
||
|
user_main: message queue test
|
||
|
mqueue_test: Starting receiver
|
||
|
mqueue_test: Set receiver priority to 128
|
||
|
receiver_thread: Starting
|
||
|
mqueue_test: Starting sender
|
||
|
mqueue_test: Set sender thread priority to 64
|
||
|
mqueue_test: Waiting for sender to complete
|
||
|
sender_thread: Starting
|
||
|
receiver_thread: mq_receive succeeded on msg 0
|
||
|
sender_thread: mq_send succeeded on msg 0
|
||
|
receiver_thread: mq_receive succeeded on msg 1
|
||
|
sender_thread: mq_send succeeded on msg 1
|
||
|
receiver_thread: mq_receive succeeded on msg 2
|
||
|
sender_thread: mq_send succeeded on msg 2
|
||
|
receiver_thread: mq_receive succeeded on msg 3
|
||
|
sender_thread: mq_send succeeded on msg 3
|
||
|
receivers_thread: mq_receive succeeded on msg 4
|
||
|
ender_thread: mq_send succeeded on msg 4
|
||
|
receiver_thread: mq_receive succeeded on msg 5
|
||
|
sender_thread: mq_send succeeded on msg 5
|
||
|
receiver_thread: mq_receive succeeded on msg 6
|
||
|
sender_thread: mq_send succeeded on msg 6
|
||
|
receiver_thread: mq_receive succeeded on msg 7
|
||
|
sender_thread: mq_send succeeded on msg 7
|
||
|
receiver_thread: mq_receive succeeded on msg 8
|
||
|
sender_thread: mq_send succeeded on msg 8
|
||
|
receiver_thread: mq_receive succeeded on msg 9
|
||
|
receiver_thread: returning nerrors=0
|
||
|
sender_thread: mq_send succeeded on msg 9
|
||
|
sender_thread: returning nerrors=0
|
||
|
mqueue_test: Canceling receiver
|
||
|
|
||
|
End of test memory usage:
|
||
|
VARIABLE BEFORE AFTER
|
||
|
======== ======== ========
|
||
|
arena fe1f10 fe1f10
|
||
|
ordblks 2 2
|
||
|
mxordblk fda9b0 fda9b0
|
||
|
uordblks 53f0 53f0
|
||
|
fordblks fdcb20 fdcb20
|
||
|
|
||
|
user_main: signal handler test
|
||
|
sighand_test: Initializing semaphore to 0
|
||
|
sighand_test: Starting waiter task
|
||
|
sighand_test: Started waiter_main pid=16
|
||
|
waiter_main: Waiter started
|
||
|
waiter_main: Unmasking signal 17
|
||
|
waiter_main: Registering signal handler
|
||
|
waiter_main: oact.sigaction=0 oact.sa_flags=0 oact.sa_mask=0
|
||
|
waiter_main: Waiting on semaphore
|
||
|
sighand_test: Signaling pid=16 with signo=17 sigvalue=42
|
||
|
wakeup_action: Received signal 17
|
||
|
wakeup_action: sival_int=42
|
||
|
wakeup_action: si_code=1
|
||
|
wakeup_action: ucontext=0
|
||
|
waiter_main: sem_wait() successfully interrupted by signal
|
||
|
waiter_main: done
|
||
|
sighand_test: done
|
||
|
|
||
|
End of test memory usage:
|
||
|
VARIABLE BEFORE AFTER
|
||
|
======== ======== ========
|
||
|
arena fe1f10 fe1f10
|
||
|
ordblks 2 2
|
||
|
mxordblk fda9b0 fda9b0
|
||
|
uordblks 53f0 53f0
|
||
|
fordblks fdcb20 fdcb20
|
||
|
|
||
|
user_main: POSIX timer test
|
||
|
timer_test: Initializing semaphore to 0
|
||
|
timer_test: Unmasking signal 17
|
||
|
timer_test: Registering signal handler
|
||
|
timer_test: oact.sigaction=0 oact.sa_flags=0 oact.sa_mask=0
|
||
|
timer_test: Creating timer
|
||
|
timer_test: Starting timer
|
||
|
timer_test: Waiting on semaphore
|
||
|
timer_expiration: Received signal 17
|
||
|
timer_expiration: sival_int=42
|
||
|
timer_expiration: si_code=2 (SI_TIMER)
|
||
|
timer_expiration: ucontext=0
|
||
|
timer_test: sem_wait() successfully interrupted by signal
|
||
|
timer_test: g_nsigreceived=1
|
||
|
timer_test: Waiting on semaphore
|
||
|
timer_expiration: Received signal 17
|
||
|
timer_expiration: sival_int=42
|
||
|
timer_expiration: si_code=2 (SI_TIMER)
|
||
|
timer_expiration: ucontext=0
|
||
|
timer_test: sem_wait() successfully interrupted by signal
|
||
|
timer_test: g_nsigreceived=2
|
||
|
timer_test: Waiting on semaphore
|
||
|
timer_expiration: Received signal 17
|
||
|
timer_expiration: sival_int=42
|
||
|
timer_expiration: si_code=2 (SI_TIMER)
|
||
|
timer_expiration: ucontext=0
|
||
|
timer_test: sem_wait() successfully interrupted by signal
|
||
|
timer_test: g_nsigreceived=3
|
||
|
timer_test: Waiting on semaphore
|
||
|
timer_expiration: Received signal 17
|
||
|
timer_expiration: sival_int=42
|
||
|
timer_expiration: si_code=2 (SI_TIMER)
|
||
|
timer_expiration: ucontext=0
|
||
|
timer_test: sem_wait() successfully interrupted by signal
|
||
|
timer_test: g_nsigreceived=4
|
||
|
timer_test: Waiting on semaphore
|
||
|
timer_expiration: Received signal 17
|
||
|
timer_expiration: sival_int=42
|
||
|
timer_expiration: si_code=2 (SI_TIMER)
|
||
|
timer_expiration: ucontext=0
|
||
|
timer_test: sem_wait() successfully interrupted by signal
|
||
|
timer_test: g_nsigreceived=5
|
||
|
timer_test: Deleting timer
|
||
|
timer_test: done
|
||
|
|
||
|
End of test memory usage:
|
||
|
VARIABLE BEFORE AFTER
|
||
|
======== ======== ========
|
||
|
arena fe1f10 fe1f10
|
||
|
ordblks 2 2
|
||
|
mxordblk fda9b0 fda9b0
|
||
|
uordblks 53f0 53f0
|
||
|
fordblks fdcb20 fdcb20
|
||
|
|
||
|
user_main: round-robin scheduler test
|
||
|
rr_test: Starting sieve1 thread
|
||
|
rr_test: Set thread priority to 1
|
||
|
rr_test: Set thread policty to SCHED_RR
|
||
|
rr_test: Starting sieve1 thread
|
||
|
sieve1 started
|
||
|
sieve1 finished
|
||
|
rr_test: Waiting for sieves to complete -- this should take awhile
|
||
|
rr_test: If RR scheduling is working, they should start and complete at
|
||
|
rr_test: about the same time
|
||
|
sieve2 started
|
||
|
sieve2 finished
|
||
|
rr_test: Done
|
||
|
|
||
|
End of test memory usage:
|
||
|
VARIABLE BEFORE AFTER
|
||
|
======== ======== ========
|
||
|
arena fe1f10 fe1f10
|
||
|
ordblks 2 2
|
||
|
mxordblk fda9b0 fda9b0
|
||
|
uordblks 53f0 53f0
|
||
|
fordblks fdcb20 fdcb20
|
||
|
|
||
|
Final memory usage:
|
||
|
VARIABLE BEFORE AFTER
|
||
|
======== ======== ========
|
||
|
arena fe1f10 fe1f10
|
||
|
ordblks 2 2
|
||
|
mxordblk fda9b0 fda9b0
|
||
|
uordblks 53f0 53f0
|
||
|
fordblks fdcb20 fdcb20
|
||
|
user_main: Exitting
|