133 lines
4.9 KiB
Plaintext
133 lines
4.9 KiB
Plaintext
Title: SysKernel
|
|
|
|
Description:
|
|
|
|
The SysKernel test measures the performance of the nanokernel's semaphore,
|
|
lifo, fifo, and stack objects.
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
Building and Running Project:
|
|
|
|
This nanokernel project outputs to the console. It can be built and executed
|
|
on QEMU as follows:
|
|
|
|
make qemu
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
Troubleshooting:
|
|
|
|
Problems caused by out-dated project information can be addressed by
|
|
issuing one of the following commands then rebuilding the project:
|
|
|
|
make clean # discard results of previous builds
|
|
# but keep existing configuration info
|
|
or
|
|
make pristine # discard results of previous builds
|
|
# and restore pre-defined configuration info
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
Sample Output:
|
|
|
|
MODULE: Nanokernel API test
|
|
KERNEL VERSION: <varies>
|
|
|
|
Each test below are repeated 5000 times and the average
|
|
time for one iteration is displayed.
|
|
|
|
TEST CASE: Semaphore channel - 'nano_fiber_sem_take_wait'
|
|
DESCRIPTION: testing 'nano_sem_init','nano_fiber_sem_take_wait', 'nano_fiber_sem_give' functions;
|
|
Starting test 'nano_fiber_sem_take_wait'. Please wait...
|
|
TEST RESULT: SUCCESSFUL
|
|
DETAILS: Average time for 1 iteration: NNNNN nSec
|
|
END TEST CASE
|
|
|
|
TEST CASE: Semaphore channel - 'nano_fiber_sem_take'
|
|
DESCRIPTION: testing 'nano_sem_init','nano_fiber_sem_take', 'fiber_yield',
|
|
'nano_fiber_sem_give' functions;
|
|
Starting test 'nano_fiber_sem_take'. Please wait...
|
|
TEST RESULT: SUCCESSFUL
|
|
DETAILS: Average time for 1 iteration: NNNNN nSec
|
|
END TEST CASE
|
|
|
|
TEST CASE: Semaphore channel - 'nano_task_sem_take_wait'
|
|
DESCRIPTION: testing 'nano_sem_init','nano_fiber_sem_take_wait', 'nano_fiber_sem_give',
|
|
'nano_task_sem_give', 'nano_task_sem_take_wait' functions;
|
|
Starting test 'nano_task_sem_take_wait'. Please wait...
|
|
TEST RESULT: SUCCESSFUL
|
|
DETAILS: Average time for 1 iteration: NNNNN nSec
|
|
END TEST CASE
|
|
|
|
TEST CASE: LIFO channel - 'nano_fiber_lifo_get_wait'
|
|
DESCRIPTION: testing 'nano_lifo_init','nano_fiber_lifo_get_wait', 'nano_fiber_lifo_put' functions;
|
|
Starting test 'nano_fiber_lifo_get_wait'. Please wait...
|
|
TEST RESULT: SUCCESSFUL
|
|
DETAILS: Average time for 1 iteration: NNNNN nSec
|
|
END TEST CASE
|
|
|
|
TEST CASE: LIFO channel - 'nano_fiber_lifo_get'
|
|
DESCRIPTION: testing 'nano_lifo_init','nano_fiber_lifo_get_wait', 'nano_fiber_lifo_get',
|
|
'nano_fiber_lifo_put', 'fiber_yield' functions;
|
|
Starting test 'nano_fiber_lifo_get'. Please wait...
|
|
TEST RESULT: SUCCESSFUL
|
|
DETAILS: Average time for 1 iteration: NNNNN nSec
|
|
END TEST CASE
|
|
|
|
TEST CASE: LIFO channel - 'nano_task_lifo_get_wait'
|
|
DESCRIPTION: testing 'nano_lifo_init','nano_fiber_lifo_get_wait', 'nano_fiber_lifo_put',
|
|
'nano_task_lifo_get_wait', 'nano_task_lifo_put' functions;
|
|
Starting test 'nano_task_lifo_get_wait'. Please wait...
|
|
TEST RESULT: SUCCESSFUL
|
|
DETAILS: Average time for 1 iteration: NNNNN nSec
|
|
END TEST CASE
|
|
|
|
TEST CASE: FIFO channel - 'nano_fiber_fifo_get_wait'
|
|
DESCRIPTION: testing 'nano_fifo_init','nano_fiber_fifo_get_wait', 'nano_fiber_fifo_put' functions;
|
|
Starting test 'nano_fiber_fifo_get_wait'. Please wait...
|
|
TEST RESULT: SUCCESSFUL
|
|
DETAILS: Average time for 1 iteration: NNNNN nSec
|
|
END TEST CASE
|
|
|
|
TEST CASE: FIFO channel - 'nano_fiber_fifo_get'
|
|
DESCRIPTION: testing 'nano_fifo_init','nano_fiber_fifo_get_wait', 'nano_fiber_fifo_get',
|
|
'nano_fiber_fifo_put', 'fiber_yield' functions;
|
|
Starting test 'nano_fiber_fifo_get'. Please wait...
|
|
TEST RESULT: SUCCESSFUL
|
|
DETAILS: Average time for 1 iteration: NNNNN nSec
|
|
END TEST CASE
|
|
|
|
TEST CASE: FIFO channel - 'nano_task_fifo_get_wait'
|
|
DESCRIPTION: testing 'nano_fifo_init','nano_fiber_fifo_get_wait', 'nano_fiber_fifo_put',
|
|
'nano_task_fifo_get_wait', 'nano_task_fifo_put' functions;
|
|
Starting test 'nano_task_fifo_get_wait'. Please wait...
|
|
TEST RESULT: SUCCESSFUL
|
|
DETAILS: Average time for 1 iteration: NNNNN nSec
|
|
END TEST CASE
|
|
|
|
TEST CASE: Stack channel - 'nano_fiber_stack_pop_wait'
|
|
DESCRIPTION: testing 'nano_stack_init','nano_fiber_stack_pop_wait', 'nano_fiber_stack_push' functions;
|
|
Starting test 'nano_fiber_stack_pop_wait'. Please wait...
|
|
TEST RESULT: SUCCESSFUL
|
|
DETAILS: Average time for 1 iteration: NNNNN nSec
|
|
END TEST CASE
|
|
|
|
TEST CASE: Stack channel - 'nano_fiber_stack_pop'
|
|
DESCRIPTION: testing 'nano_stack_init','nano_fiber_stack_pop_wait', 'nano_fiber_stack_pop',
|
|
'nano_fiber_stack_push', 'fiber_yield' functions;
|
|
Starting test 'nano_fiber_stack_pop'. Please wait...
|
|
TEST RESULT: SUCCESSFUL
|
|
DETAILS: Average time for 1 iteration: NNNNN nSec
|
|
END TEST CASE
|
|
|
|
TEST CASE: Stack channel - 'nano_task_stack_pop_wait'
|
|
DESCRIPTION: testing 'nano_stack_init','nano_fiber_stack_pop_wait', 'nano_fiber_stack_push',
|
|
'nano_task_stack_pop_wait', 'nano_task_stack_push' functions;
|
|
Starting test 'nano_task_stack_pop_wait'. Please wait...
|
|
TEST RESULT: SUCCESSFUL
|
|
DETAILS: Average time for 1 iteration: NNNNN nSec
|
|
END TEST CASE
|
|
|
|
PROJECT EXECUTION SUCCESSFUL
|