Created
June 25, 2024 10:19
-
-
Save lupyuen/f0fd2b73fa7eb276e30f924a121b0ed5 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Script started on 2024-06-25 18:15:46+08:00 [COMMAND="screen /dev/ttyUSB0 115200" TERM="xterm-256color" TTY="/dev/pts/0" COLUMNS="72" LINES="40"] | |
[!p[?3;4l[4l>[?1049h[22;0;0t[4l[?1h=[0m(B[1;40r[H[2J[H[2JDRAM: 2048 MiB | |
Trying to boot from MMC1 | |
NOTICE: BL31: v2.2(release):v2.2-904-gf9ea3a629 | |
NOTICE: BL31: Built : 15:32:12, Apr 9 2020 | |
NOTICE: BL31: Detected Allwinner A64/H64/R18 SoC (1689) | |
NOTICE: BL31: Found U-Boot DTB at 0x4064410, model: PinePhone | |
NOTICE: PSCI: System suspend is unavailable | |
U-Boot 2020.07 (Nov 08 2020 - 00:15:12 +0100) | |
DRAM: 2 GiB | |
MMC: Device 'mmc@1c11000': seq 1 is in use by 'mmc@1c10000' | |
mmc@1c0f000: 0, mmc@1c10000: 2, mmc@1c11000: 1 | |
Loading Environment from FAT... *** Warning - bad CRC, using default environment | |
starting USB... | |
No working controllers found | |
Hit any key to stop autoboot: 0 | |
switch to partitions #0, OK | |
mmc0 is current device | |
Scanning mmc 0:1... | |
Found U-Boot script /boot.scr | |
653 bytes read in 3 ms (211.9 KiB/s) | |
## Executing script at 4fc00000 | |
gpio: pin 114 (gpio 114) value is 1 | |
110285 bytes read in 8 ms (13.1 MiB/s) | |
Uncompressed size: 299008 = 0x49000 | |
36162 bytes read in 4 ms (8.6 MiB/s) | |
1078500 bytes read in 51 ms (20.2 MiB/s) | |
## Flattened Device Tree blob at 4fa00000 | |
Booting using the fdt blob at 0x4fa00000 | |
Loading Ramdisk to 49ef8000, end 49fff4e4 ... OK | |
Loading Device Tree to 0000000049eec000, end 0000000049ef7d41 ... OK | |
Starting kernel ... | |
NuttShell (NSH) | |
nsh> [Kuname -a | |
NuttX 0.0.0 9668253bf9 Jun 25 2024 18:13:35 arm64 pinephone | |
nsh> [Khello | |
Hello, World!! | |
nsh> [Kfree | |
total used free maxused maxfree nused nfree | |
Umem: 133394424 21752 133372672 31456 133372672 24 1 | |
nsh> [Kps | |
PID GROUP PRI POLICY TYPE NPX STATE EVENT SIGMASK STACK USED FILLED COMMAND | |
0 0 0 FIFO Kthread - Ready 0000000000000000 008176 000928 11.3% Idle_Task | |
1 0 192 RR Kthread - Waiting Semaphore 0000000000000000 008112 001024 12.6% hpwork 0x400c3080 0x400c30a8 | |
2 2 100 RR Task - Running 0000000000000000 008144 002832 34.7% nsh_main | |
nsh> [Kls -l /dev | |
/dev: | |
crw-rw-rw- 0 console | |
crw-rw-rw- 0 null | |
crw-rw-rw- 0 ttyS0 | |
c-w--w--w- 0 userleds | |
crw-rw-rw- 0 zero | |
nsh> [Kgetprime | |
Set thread priority to 10 | |
Set thread policy to SCHED_RR | |
Start thread #0 | |
thread #0 started, looking for primes < 10000, doing 10 run(s) | |
thread #0 finished, found 1230 primes, last one was 9973 | |
Done | |
getprime took 281 msec | |
nsh> [Kostest | |
stdio_test: write fd=1 | |
stdio_test: Standard I/O Check: printf | |
stdio_test: write fd=2 | |
stdio_test: Standard I/O Check: fprintf to stderr | |
ostest_main: putenv(Variable1=BadValue3) | |
ostest_main: setenv(Variable1, GoodValue1, TRUE) | |
ostest_main: setenv(Variable2, BadValue1, FALSE) | |
ostest_main: setenv(Variable2, GoodValue2, TRUE) | |
ostest_main: setenv(Variable3, GoodValue3, FALSE) | |
ostest_main: setenv(Variable3, BadValue2, FALSE) | |
show_variable: Variable=Variable1 has value=GoodValue1 | |
show_variable: Variable=Variable2 has value=GoodValue2 | |
show_variable: Variable=Variable3 has value=GoodValue3 | |
ostest_main: Started user_main at PID=7 | |
user_main: Begin argument test | |
user_main: Started with argc=5 | |
user_main: argv[0]="ostest" | |
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 7f36ff8 7f36ff8 | |
ordblks 1 1 | |
mxordblk 7f2d080 7f2d080 | |
uordblks 9f78 9f78 | |
fordblks 7f2d080 7f2d080 | |
user_main: getopt() test | |
getopt(): Simple test | |
getopt(): Invalid argument | |
getopt(): Missing optional argument | |
getopt_long(): Simple test | |
getopt_long(): No short options | |
getopt_long(): Argument for --option=argument | |
getopt_long(): Invalid long option | |
getopt_long(): Mixed long and short options | |
getopt_long(): Invalid short option | |
getopt_long(): Missing optional arguments | |
getopt_long_only(): Mixed long and short options | |
getopt_long_only(): Single hyphen long options | |
End of test memory usage: | |
VARIABLE BEFORE AFTER | |
======== ======== ======== | |
arena 7f36ff8 7f36ff8 | |
ordblks 1 1 | |
mxordblk 7f2d080 7f2d080 | |
uordblks 9f78 9f78 | |
fordblks 7f2d080 7f2d080 | |
user_main: libc tests | |
End of test memory usage: | |
VARIABLE BEFORE AFTER | |
======== ======== ======== | |
arena 7f36ff8 7f36ff8 | |
ordblks 1 1 | |
mxordblk 7f2d080 7f2d080 | |
uordblks 9f78 9f78 | |
fordblks 7f2d080 7f2d080 | |
show_variable: Variable=Variable1 has value=GoodValue1 | |
show_variable: Variable=Variable2 has value=GoodValue2 | |
show_variable: Variable=Variable3 has value=GoodValue3 | |
show_variable: Variable=Variable1 has no value | |
show_variable: Variable=Variable2 has value=GoodValue2 | |
show_variable: Variable=Variable3 has value=GoodValue3 | |
End of test memory usage: | |
VARIABLE BEFORE AFTER | |
======== ======== ======== | |
arena 7f36ff8 7f36ff8 | |
ordblks 1 2 | |
mxordblk 7f2d080 7f2d080 | |
uordblks 9f78 9f58 | |
fordblks 7f2d080 7f2d0a0 | |
show_variable: Variable=Variable1 has no value | |
show_variable: Variable=Variable2 has no value | |
show_variable: Variable=Variable3 has no value | |
End of test memory usage: | |
VARIABLE BEFORE AFTER | |
======== ======== ======== | |
arena 7f36ff8 7f36ff8 | |
ordblks 2 2 | |
mxordblk 7f2d080 7f2d080 | |
uordblks 9f58 9ea8 | |
fordblks 7f2d0a0 7f2d150 | |
user_main: setvbuf test | |
setvbuf_test: Test NO buffering | |
setvbuf_test: Using NO buffering | |
setvbuf_test: Test default FULL buffering | |
setvbuf_test: Using default FULL buffering | |
setvbuf_test: Test FULL buffering, buffer size 64 | |
setvbuf_test: Using FULL buffering, buffer size 64 | |
setvbuf_test: Test FULL buffering, pre-allocated buffer | |
setvbuf_test: Using FULL buffering, pre-allocated buffer | |
setvbuf_test: Test LINE buffering, buffer size 64 | |
setvbuf_test: Using LINE buffering, buffer size 64 | |
setvbuf_test: Test FULL buffering, pre-allocated buffer | |
setvbuf_test: Using FULL buffering, pre-allocated buffer | |
End of test memory usage: | |
VARIABLE BEFORE AFTER | |
======== ======== ======== | |
arena 7f36ff8 7f36ff8 | |
ordblks 2 2 | |
mxordblk 7f2d080 7f2d080 | |
uordblks 9ea8 9ea8 | |
fordblks 7f2d150 7f2d150 | |
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 7f36ff8 7f36ff8 | |
ordblks 2 2 | |
mxordblk 7f2d080 7f2d080 | |
uordblks 9ea8 9ea8 | |
fordblks 7f2d150 7f2d150 | |
user_main: FPU test | |
Starting task FPU#1 | |
fpu_test: Started task FPU#1 at PID=8 | |
FPU#1: pass 1 | |
Starting task FPU#2 | |
fpu_test: Started task FPU#2 at PID=9 | |
FPU#2: pass 1 | |
FPU#1: pass 2 | |
FPU#2: pass 2 | |
FPU#1: pass 3 | |
FPU#2: pass 3 | |
FPU#1: pass 4 | |
FPU#2: pass 4 | |
FPU#1: pass 5 | |
FPU#2: pass 5 | |
FPU#1: pass 6 | |
FPU#2: pass 6 | |
FPU#1: pass 7 | |
FPU#2: pass 7 | |
FPU#1: pass 8 | |
FPU#2: pass 8 | |
FPU#1: pass 9 | |
FPU#2: pass 9 | |
FPU#1: pass 10 | |
FPU#2: pass 10 | |
FPU#1: pass 11 | |
FPU#2: pass 11 | |
FPU#1: pass 12 | |
FPU#2: pass 12 | |
FPU#1: pass 13 | |
FPU#2: pass 13 | |
FPU#1: pass 14 | |
FPU#2: pass 14 | |
FPU#1: pass 15 | |
FPU#2: pass 15 | |
FPU#1: pass 16 | |
FPU#2: pass 16 | |
FPU#1: Succeeded | |
FPU#2: Succeeded | |
fpu_test: Returning | |
End of test memory usage: | |
VARIABLE BEFORE AFTER | |
======== ======== ======== | |
arena 7f36ff8 7f36ff8 | |
ordblks 2 4 | |
mxordblk 7f2d080 7f28460 | |
uordblks 9ea8 dec8 | |
fordblks 7f2d150 7f29130 | |
user_main: task_restart test | |
Test task_restart() | |
restart_main: setenv(VarName, VarValue, TRUE) | |
restart_main: Started restart_main at PID=10 | |
restart_main: Started with argc=4 | |
restart_main: argv[0]="ostest" | |
restart_main: argv[1]="This is argument 1" | |
restart_main: argv[2]="Argument 2 here" | |
restart_main: argv[3]="Lastly, the 3rd argument" | |
restart_main: Variable=VarName has value=VarValue | |
restart_main: I am still here | |
restart_main: I am still here | |
restart_main: Started restart_main at PID=10 | |
restart_main: Started with argc=4 | |
restart_main: argv[0]="ostest" | |
restart_main: argv[1]="This is argument 1" | |
restart_main: argv[2]="Argument 2 here" | |
restart_main: argv[3]="Lastly, the 3rd argument" | |
restart_main: Variable=VarName has value=VarValue | |
restart_main: Started with argc=4 | |
restart_main: argv[0]="ostest" | |
restart_main: argv[1]="This is argument 1" | |
restart_main: argv[2]="Argument 2 here" | |
restart_main: argv[3]="Lastly, the 3rd argument" | |
restart_main: Variable=VarName has value=VarValue | |
restart_main: Exiting | |
End of test memory usage: | |
VARIABLE BEFORE AFTER | |
======== ======== ======== | |
arena 7f36ff8 7f36ff8 | |
ordblks 4 2 | |
mxordblk 7f28460 7f2aa70 | |
uordblks dec8 c518 | |
fordblks 7f29130 7f2aae0 | |
user_main: waitpid test | |
Test waitpid() | |
waitpid_start_child: Started waitpid_main at PID=11 | |
waitpid_main: PID 11 Started | |
waitpid_start_child: Started waitpid_main at PID=12 | |
waitpid_main: PID 12 Started | |
waitpid_start_child: Started waitpid_main at PID=13 | |
waitpid_main: PID 13 Started | |
waitpid_test: Waiting for PID=11 with waitpid() | |
waitpid_main: PID 11 exitting with result=14 | |
waitpid_test: PID 11 waitpid succeeded with stat_loc=0e00 | |
waitpid_last: Waiting for PID=13 with waitpid() | |
waitpid_main: PID 12 exitting with result=14 | |
waitpid_main: PID 13 exitting with result=14 | |
waitpid_last: PASS: PID 13 waitpid succeeded with stat_loc=0e00 | |
End of test memory usage: | |
VARIABLE BEFORE AFTER | |
======== ======== ======== | |
arena 7f36ff8 7f36ff8 | |
ordblks 2 5 | |
mxordblk 7f2aa70 7f25d90 | |
uordblks c518 10538 | |
fordblks 7f2aae0 7f26ac0 | |
user_main: wqueue test | |
wqueue_test: call = 100, expect = 100 | |
wqueue_test: call = 100, expect = 100 | |
wqueue_test: call = 100, expect = 100 | |
wqueue_test: call = 100, expect = 100 | |
wqueue_test: call = 100, expect = 100 | |
wqueue_test: call = 100, expect = 100 | |
wqueue_test: call = 100, expect = 100 | |
wqueue_test: call = 100, expect = 100 | |
wqueue_test: call = 100, expect = 100 | |
wqueue_test: call = 100, expect = 100 | |
wqueue_test: call = 100, expect = 100 | |
wqueue_test: call = 100, expect = 100 | |
wqueue_test: call = 100, expect = 100 | |
wqueue_test: call = 100, expect = 100 | |
wqueue_test: call = 100, expect = 100 | |
wqueue_test: call = 100, expect = 100 | |
wqueue_test: call = 100, expect = 100 | |
wqueue_test: call = 100, expect = 100 | |
End of test memory usage: | |
VARIABLE BEFORE AFTER | |
======== ======== ======== | |
arena 7f36ff8 7f36ff8 | |
ordblks 5 2 | |
mxordblk 7f25d90 7f29c50 | |
uordblks 10538 d338 | |
fordblks 7f26ac0 7f29cc0 | |
user_main: mutex test | |
Initializing mutex | |
Starting thread 1 | |
Starting thread 2 | |
[8C[8CThread1 Thread2 | |
[8CLoops 32[6C32 | |
[8CErrors 0[7C0 | |
End of test memory usage: | |
VARIABLE BEFORE AFTER | |
======== ======== ======== | |
arena 7f36ff8 7f36ff8 | |
ordblks 2 2 | |
mxordblk 7f29c50 7f2af10 | |
uordblks d338 c078 | |
fordblks 7f29cc0 7f2af80 | |
user_main: timed mutex test | |
mutex_test: Initializing mutex | |
mutex_test: Starting thread | |
pthread: Started | |
pthread: Waiting for lock or timeout | |
mutex_test: Unlocking | |
pthread: Got the lock | |
pthread: Waiting for lock or timeout | |
pthread: Got the timeout. Terminating | |
mutex_test: PASSED | |
End of test memory usage: | |
VARIABLE BEFORE AFTER | |
======== ======== ======== | |
arena 7f36ff8 7f36ff8 | |
ordblks 2 2 | |
mxordblk 7f2af10 7f2af10 | |
uordblks c078 c078 | |
fordblks 7f2af80 7f2af80 | |
user_main: cancel test | |
cancel_test: Test 1a: Normal Cancellation | |
cancel_test: Starting thread | |
start_thread: Initializing mutex | |
start_thread: Initializing cond | |
start_thread: Starting thread | |
start_thread: Yielding | |
sem_waiter: Taking mutex | |
sem_waiter: Starting wait for condition | |
cancel_test: Canceling thread | |
cancel_test: Joining | |
cancel_test: waiter exited with result=0xffffffffffffffff | |
cancel_test: PASS thread terminated with PTHREAD_CANCELED | |
cancel_test: Test 2: Asynchronous Cancellation | |
... Skipped | |
cancel_test: Test 3: Cancellation 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 | |
start_thread: Yielding | |
sem_waiter: Taking mutex | |
sem_waiter: Starting wait for condition | |
cancel_test: Canceling thread | |
cancel_test: Joining | |
cancel_test: PASS pthread_join failed with status=ESRCH | |
cancel_test: Test 5: 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 | |
start_thread: Yielding | |
sem_waiter: Taking mutex | |
sem_waiter: Starting wait for condition | |
sem_waiter: Setting non-cancelable | |
cancel_test: Canceling thread | |
cancel_test: Joining | |
sem_waiter: Releasing mutex | |
sem_waiter: Setting cancelable | |
cancel_test: waiter exited with result=0xffffffffffffffff | |
cancel_test: PASS thread terminated with PTHREAD_CANCELED | |
cancel_test: Test 6: Cancel message queue wait | |
cancel_test: Starting thread (cancelable) | |
Skipped | |
cancel_test: Test 7: Cancel signal wait | |
cancel_test: Starting thread (cancelable) | |
Skipped | |
End of test memory usage: | |
VARIABLE BEFORE AFTER | |
======== ======== ======== | |
arena 7f36ff8 7f36ff8 | |
ordblks 2 2 | |
mxordblk 7f2af10 7f2af10 | |
uordblks c078 c078 | |
fordblks 7f2af80 7f2af80 | |
user_main: robust test | |
robust_test: Initializing mutex | |
robust_test: Starting thread | |
robust_waiter: Taking mutex | |
robust_waiter: Exiting with mutex | |
robust_test: Take the lock again | |
robust_test: Make the mutex consistent again. | |
robust_test: Take the lock again | |
robust_test: Joining | |
robust_test: waiter exited with result=0 | |
robust_test: Test complete with nerrors=0 | |
End of test memory usage: | |
VARIABLE BEFORE AFTER | |
======== ======== ======== | |
arena 7f36ff8 7f36ff8 | |
ordblks 2 2 | |
mxordblk 7f2af10 7f2af10 | |
uordblks c078 c078 | |
fordblks 7f2af80 7f2af80 | |
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 | |
sem_test: Starting waiter thread 2 | |
waiter_func: Thread 1 initial semaphore value = 0 | |
sem_test: Set thread 2 priority to 128 | |
waiter_func: Thread 1 waiting on semaphore | |
waiter_func: Thread 2 Started | |
waiter_func: Thread 2 initial semaphore value = -1 | |
waiter_func: Thread 2 waiting 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 | |
poster_func: Thread 3 new semaphore value = -1 | |
waiter_func: Thread 1 new semaphore value = -1 | |
poster_func: Thread 3 semaphore value = -1 | |
waiter_func: Thread 1 done | |
poster_func: Thread 3 posting semaphore | |
waiter_func: Thread 2 awakened | |
poster_func: Thread 3 new semaphore value = 0 | |
waiter_func: Thread 2 new semaphore value = 0 | |
poster_func: Thread 3 done | |
waiter_func: Thread 2 done | |
End of test memory usage: | |
VARIABLE BEFORE AFTER | |
======== ======== ======== | |
arena 7f36ff8 7f36ff8 | |
ordblks 2 3 | |
mxordblk 7f2af10 7f26c30 | |
uordblks c078 e1e8 | |
fordblks 7f2af80 7f28e10 | |
user_main: timed semaphore test | |
semtimed_test: Initializing semaphore to 0 | |
semtimed_test: Waiting for two second timeout | |
semtimed_test: PASS: first test returned timeout | |
BEFORE: (4295045 sec, 582000000 nsec) | |
AFTER: (4295047 sec, 583000000 nsec) | |
semtimed_test: Starting poster thread | |
semtimed_test: Set thread 1 priority to 191 | |
semtimed_test: Starting poster thread 3 | |
semtimed_test: Set thread 3 priority to 64 | |
semtimed_test: Waiting for two second timeout | |
poster_func: Waiting for 1 second | |
poster_func: Posting | |
semtimed_test: PASS: sem_timedwait succeeded | |
BEFORE: (4295047 sec, 586000000 nsec) | |
AFTER: (4295048 sec, 594000000 nsec) | |
End of test memory usage: | |
VARIABLE BEFORE AFTER | |
======== ======== ======== | |
arena 7f36ff8 7f36ff8 | |
ordblks 3 2 | |
mxordblk 7f26c30 7f2af10 | |
uordblks e1e8 c078 | |
fordblks 7f28e10 7f2af80 | |
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: [5CWaiter Signaler | |
cond_test: Loops[8C32[6C32 | |
cond_test: Errors[7C0[7C0 | |
cond_test: | |
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 7f36ff8 7f36ff8 | |
ordblks 2 3 | |
mxordblk 7f2af10 7f28da0 | |
uordblks c078 c078 | |
fordblks 7f2af80 7f2af80 | |
user_main: pthread_exit() test | |
pthread_exit_test: Started pthread_exit_main at PID=88 | |
pthread_exit_main 88: Starting pthread_exit_thread | |
pthread_exit_main 88: Sleeping for 5 seconds | |
pthread_exit_thread 89: Sleeping for 10 second | |
pthread_exit_thread 89: Still running... | |
pthread_exit_main 88: Calling pthread_exit() | |
End of test memory usage: | |
VARIABLE BEFORE AFTER | |
======== ======== ======== | |
arena 7f36ff8 7f36ff8 | |
ordblks 3 2 | |
mxordblk 7f28da0 7f28da0 | |
uordblks c078 e1e8 | |
fordblks 7f2af80 7f28e10 | |
user_main: pthread_rwlock test | |
pthread_rwlock: Initializing rwlock | |
pthread_exit_thread 89: Exiting | |
End of test memory usage: | |
VARIABLE BEFORE AFTER | |
======== ======== ======== | |
arena 7f36ff8 7f36ff8 | |
ordblks 2 3 | |
mxordblk 7f28da0 7f28da0 | |
uordblks e1e8 c098 | |
fordblks 7f28e10 7f2af60 | |
user_main: pthread_rwlock_cancel test | |
pthread_rwlock_cancel: Starting test | |
End of test memory usage: | |
VARIABLE BEFORE AFTER | |
======== ======== ======== | |
arena 7f36ff8 7f36ff8 | |
ordblks 3 2 | |
mxordblk 7f28da0 7f2d080 | |
uordblks c098 9f28 | |
fordblks 7f2af60 7f2d0d0 | |
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 | |
timedwait_test: Joining | |
thread_waiter: Starting 5 second wait for condition | |
thread_waiter: pthread_cond_timedwait timed out | |
thread_waiter: Releasing mutex | |
thread_waiter: Exit with status 0x12345678 | |
timedwait_test: waiter exited with result=0x12345678 | |
End of test memory usage: | |
VARIABLE BEFORE AFTER | |
======== ======== ======== | |
arena 7f36ff8 7f36ff8 | |
ordblks 2 2 | |
mxordblk 7f2d080 7f2af10 | |
uordblks 9f28 c098 | |
fordblks 7f2d0d0 7f2af60 | |
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 | |
receiver_thread: mq_receive succeeded on msg 4 | |
sender_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 | |
sender_thread: mq_send succeeded on msg 9 | |
sender_thread: returning nerrors=0 | |
mqueue_test: Killing receiver | |
receiver_thread: mq_receive interrupted! | |
receiver_thread: returning nerrors=0 | |
mqueue_test: Canceling receiver | |
mqueue_test: receiver has already terminated | |
End of test memory usage: | |
VARIABLE BEFORE AFTER | |
======== ======== ======== | |
arena 7f36ff8 7f36ff8 | |
ordblks 2 1 | |
mxordblk 7f2af10 7f2aec0 | |
uordblks c098 c138 | |
fordblks 7f2af60 7f2aec0 | |
user_main: timed message queue test | |
timedmqueue_test: Starting sender | |
timedmqueue_test: Waiting for sender to complete | |
sender_thread: Starting | |
sender_thread: mq_timedsend succeeded on msg 0 | |
sender_thread: mq_timedsend succeeded on msg 1 | |
sender_thread: mq_timedsend succeeded on msg 2 | |
sender_thread: mq_timedsend succeeded on msg 3 | |
sender_thread: mq_timedsend succeeded on msg 4 | |
sender_thread: mq_timedsend succeeded on msg 5 | |
sender_thread: mq_timedsend succeeded on msg 6 | |
sender_thread: mq_timedsend succeeded on msg 7 | |
sender_thread: mq_timedsend succeeded on msg 8 | |
sender_thread: mq_timedsend 9 timed out as expected | |
sender_thread: returning nerrors=0 | |
timedmqueue_test: Starting receiver | |
timedmqueue_test: Waiting for receiver to complete | |
receiver_thread: Starting | |
receiver_thread: mq_timedreceive succeed on msg 0 | |
receiver_thread: mq_timedreceive succeed on msg 1 | |
receiver_thread: mq_timedreceive succeed on msg 2 | |
receiver_thread: mq_timedreceive succeed on msg 3 | |
receiver_thread: mq_timedreceive succeed on msg 4 | |
receiver_thread: mq_timedreceive succeed on msg 5 | |
receiver_thread: mq_timedreceive succeed on msg 6 | |
receiver_thread: mq_timedreceive succeed on msg 7 | |
receiver_thread: mq_timedreceive succeed on msg 8 | |
receiver_thread: Receive 9 timed out as expected | |
receiver_thread: returning nerrors=0 | |
timedmqueue_test: Test complete | |
End of test memory usage: | |
VARIABLE BEFORE AFTER | |
======== ======== ======== | |
arena 7f36ff8 7f36ff8 | |
ordblks 1 1 | |
mxordblk 7f2aec0 7f2aec0 | |
uordblks c138 c138 | |
fordblks 7f2aec0 7f2aec0 | |
user_main: sigprocmask test | |
sigprocmask_test: SUCCESS | |
End of test memory usage: | |
VARIABLE BEFORE AFTER | |
======== ======== ======== | |
arena 7f36ff8 7f36ff8 | |
ordblks 1 1 | |
mxordblk 7f2aec0 7f2aec0 | |
uordblks c138 c138 | |
fordblks 7f2aec0 7f2aec0 | |
user_main: signal handler test | |
sighand_test: Initializing semaphore to 0 | |
sighand_test: Starting waiter task | |
sighand_test: Started waiter_main pid=106 | |
waiter_main: Waiter started | |
waiter_main: Unmasking signal 32 | |
waiter_main: Registering signal handler | |
waiter_main: oact.sigaction=0 oact.sa_flags=0 oact.sa_mask=0000000000000000 | |
waiter_main: Waiting on semaphore | |
sighand_test: Signaling pid=106 with signo=32 sigvalue=42 | |
waiter_main: sem_wait() successfully interrupted by signal | |
waiter_main: done | |
sighand_test: done | |
End of test memory usage: | |
VARIABLE BEFORE AFTER | |
======== ======== ======== | |
arena 7f36ff8 7f36ff8 | |
ordblks 1 1 | |
mxordblk 7f2aec0 7f2ae60 | |
uordblks c138 c198 | |
fordblks 7f2aec0 7f2ae60 | |
user_main: nested signal handler test | |
signest_test: Starting signal waiter task at priority 101 | |
waiter_main: Waiter started | |
signest_test: Started waiter_main pid=107 | |
waiter_main: Setting signal mask | |
signest_test: Starting interfering task at priority 102 | |
waiter_main: Registering signal handler | |
interfere_main: Waiting on semaphore | |
waiter_main: Waiting on semaphore | |
signest_test: Started interfere_main pid=108 | |
signest_test: Simple case: | |
Total signalled 1240 Odd=620 Even=620 | |
Total handled 1240 Odd=620 Even=620 | |
Total nested 0 Odd=0 Even=0 | |
signest_test: With task locking | |
Total signalled 2480 Odd=1240 Even=1240 | |
Total handled 2480 Odd=1240 Even=1240 | |
Total nested 0 Odd=0 Even=0 | |
signest_test: With intefering thread | |
Total signalled 3720 Odd=1860 Even=1860 | |
Total handled 3720 Odd=1860 Even=1860 | |
Total nested 0 Odd=0 Even=0 | |
signest_test: done | |
End of test memory usage: | |
VARIABLE BEFORE AFTER | |
======== ======== ======== | |
arena 7f36ff8 7f36ff8 | |
ordblks 1 2 | |
mxordblk 7f2ae60 7f27e90 | |
uordblks c198 d018 | |
fordblks 7f2ae60 7f29fe0 | |
user_main: POSIX timer test | |
timer_test: Initializing semaphore to 0 | |
timer_test: Unmasking signal 32 | |
timer_test: Registering signal handler | |
timer_test: oact.sigaction=0x400a2a18 oact.sa_flags=0 oact.sa_mask=2aaaaaaaaaaaaaaa | |
timer_test: Creating timer | |
timer_test: Starting timer | |
timer_test: Waiting on semaphore | |
timer_expiration: Received signal 32 | |
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 32 | |
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 32 | |
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 32 | |
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 32 | |
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 7f36ff8 7f36ff8 | |
ordblks 2 3 | |
mxordblk 7f27e90 7f27e90 | |
uordblks d018 cfd8 | |
fordblks 7f29fe0 7f2a020 | |
user_main: round-robin scheduler test | |
rr_test: Set thread priority to 1 | |
rr_test: Set thread policy to SCHED_RR | |
rr_test: Starting first get_primes_thread | |
First get_primes_thread: 109 | |
rr_test: Starting second get_primes_thread | |
Second get_primes_thread: 110 | |
rr_test: Waiting for threads to complete -- this should take awhile | |
If RR scheduling is working, they should start and complete at | |
about the same time | |
get_primes_thread id=1 started, looking for primes < 10000, doing 10 run(s) | |
get_primes_thread id=2 started, looking for primes < 10000, doing 10 run(s) | |
get_primes_thread id=1 finished, found 1230 primes, last one was 9973 | |
get_primes_thread id=2 finished, found 1230 primes, last one was 9973 | |
rr_test: Done | |
End of test memory usage: | |
VARIABLE BEFORE AFTER | |
======== ======== ======== | |
arena 7f36ff8 7f36ff8 | |
ordblks 3 3 | |
mxordblk 7f27e90 7f25e80 | |
uordblks cfd8 f148 | |
fordblks 7f2a020 7f27eb0 | |
user_main: barrier test | |
barrier_test: Initializing barrier | |
barrier_test: Thread 0 created | |
barrier_func: Thread 0 started | |
barrier_test: Thread 1 created | |
barrier_func: Thread 1 started | |
barrier_test: Thread 2 created | |
barrier_func: Thread 2 started | |
barrier_test: Thread 3 created | |
barrier_func: Thread 3 started | |
barrier_test: Thread 4 created | |
barrier_func: Thread 4 started | |
barrier_test: Thread 5 created | |
barrier_func: Thread 5 started | |
barrier_test: Thread 6 created | |
barrier_func: Thread 6 started | |
barrier_test: Thread 7 created | |
barrier_func: Thread 7 started | |
barrier_func: Thread 0 calling pthread_barrier_wait() | |
barrier_func: Thread 1 calling pthread_barrier_wait() | |
barrier_func: Thread 2 calling pthread_barrier_wait() | |
barrier_func: Thread 3 calling pthread_barrier_wait() | |
barrier_func: Thread 4 calling pthread_barrier_wait() | |
barrier_func: Thread 5 calling pthread_barrier_wait() | |
barrier_func: Thread 6 calling pthread_barrier_wait() | |
barrier_func: Thread 7 calling pthread_barrier_wait() | |
barrier_func: Thread 7, back with status=PTHREAD_BARRIER_SERIAL_THREAD (I AM SPECIAL) | |
barrier_func: Thread 0, back with status=0 (I am not special) | |
barrier_func: Thread 1, back with status=0 (I am not special) | |
barrier_func: Thread 2, back with status=0 (I am not special) | |
barrier_func: Thread 3, back with status=0 (I am not special) | |
barrier_func: Thread 4, back with status=0 (I am not special) | |
barrier_func: Thread 5, back with status=0 (I am not special) | |
barrier_func: Thread 6, back with status=0 (I am not special) | |
barrier_func: Thread 7 done | |
barrier_func: Thread 0 done | |
barrier_func: Thread 1 done | |
barrier_test: Thread 0 completed with result=0 | |
barrier_test: Thread 1 completed with result=0 | |
barrier_func: Thread 2 done | |
barrier_test: Thread 2 completed with result=0 | |
barrier_func: Thread 3 done | |
barrier_test: Thread 3 completed with result=0 | |
barrier_func: Thread 4 done | |
barrier_test: Thread 4 completed with result=0 | |
barrier_func: Thread 5 done | |
barrier_test: Thread 5 completed with result=0 | |
barrier_func: Thread 6 done | |
barrier_test: Thread 6 completed with result=0 | |
barrier_test: Thread 7 completed with result=0 | |
End of test memory usage: | |
VARIABLE BEFORE AFTER | |
======== ======== ======== | |
arena 7f36ff8 7f36ff8 | |
ordblks 3 5 | |
mxordblk 7f25e80 7f1be30 | |
uordblks f148 17708 | |
fordblks 7f27eb0 7f1f8f0 | |
user_main: scheduler lock test | |
sched_lock: Starting lowpri_thread at 97 | |
sched_lock: Set lowpri_thread priority to 97 | |
sched_lock: Starting highpri_thread at 98 | |
sched_lock: Set highpri_thread priority to 98 | |
sched_lock: Waiting... | |
sched_lock: PASSED No pre-emption occurred while scheduler was locked. | |
sched_lock: Starting lowpri_thread at 97 | |
sched_lock: Set lowpri_thread priority to 97 | |
sched_lock: Starting highpri_thread at 98 | |
sched_lock: Set highpri_thread priority to 98 | |
sched_lock: Waiting... | |
sched_lock: PASSED No pre-emption occurred while scheduler was locked. | |
sched_lock: Finished | |
End of test memory usage: | |
VARIABLE BEFORE AFTER | |
======== ======== ======== | |
arena 7f36ff8 7f36ff8 | |
ordblks 5 4 | |
mxordblk 7f1be30 7f25e80 | |
uordblks 17708 cfd8 | |
fordblks 7f1f8f0 7f2a020 | |
Final memory usage: | |
VARIABLE BEFORE AFTER | |
======== ======== ======== | |
arena 7f36ff8 7f36ff8 | |
ordblks 1 4 | |
mxordblk 7f2d080 7f25e80 | |
uordblks 9f78 cfd8 | |
fordblks 7f2d080 7f2a020 | |
user_main: Exiting | |
ostest_main: Exiting with status 0 | |
nsh> [K | |
[7mReally kill this window [y/n][27m[K | |
nsh> | |
nsh> [?1l>[40;1H | |
[?1049l[23;0;0t[screen is terminating] | |
Script done on 2024-06-25 18:19:46+08:00 [COMMAND_EXIT_CODE="0"] |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment