⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 kernel-characterization.html

📁 ecos 文档
💻 HTML
📖 第 1 页 / 共 3 页
字号:
>This test measures the <TT
CLASS="FUNCTION"
>cyg_thread_kill()</TT
> call
again. In this case, the thread being killed is currently runnable,
but lower priority than the main thread.
                </P
></DD
><DT
>Resume &#0091;high priority&#0093; thread</DT
><DD
><P
>This test measures the <TT
CLASS="FUNCTION"
>cyg_thread_resume()</TT
> call.
The thread being resumed is higher priority than the main thread, thus
a thread switch will take place on each call. In fact there will be
two thread switches; one to the new higher priority thread and a
second back to the test thread. The test thread exits immediately.
                </P
></DD
><DT
>Thread switch</DT
><DD
><P
>This test attempts to measure the cost of switching from one thread to
another. Two equal priority threads are started and they will each
yield to the other for a number of iterations. A time stamp is
gathered in one thread before the
<TT
CLASS="FUNCTION"
>cyg_thread_yield()</TT
> call and after the call in the
other thread.
                </P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="REFSECT2"
><A
NAME="KERNEL-CHARACTERIZATION-MEASURE-SCHEDULER"
></A
><H3
>Scheduler Primitives</H3
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
>Scheduler lock</DT
><DD
><P
>This test measures the <TT
CLASS="FUNCTION"
>cyg_scheduler_lock()</TT
> call.
                </P
></DD
><DT
>Scheduler unlock &#0091;0 threads&#0093;</DT
><DD
><P
>This test measures the <TT
CLASS="FUNCTION"
>cyg_scheduler_unlock()</TT
>
call. There are no other threads in the system and the unlock happens
immediately after a lock so there will be no pending DSR&#8217;s to
run.
                </P
></DD
><DT
>Scheduler unlock &#0091;1 suspended thread&#0093;</DT
><DD
><P
>This test measures the <TT
CLASS="FUNCTION"
>cyg_scheduler_unlock()</TT
>
call. There is one other thread in the system which is currently
suspended.
                </P
></DD
><DT
>Scheduler unlock &#0091;many suspended threads&#0093;</DT
><DD
><P
>This test measures the <TT
CLASS="FUNCTION"
>cyg_scheduler_unlock()</TT
>
call. There are many other threads in the system which are currently
suspended. The purpose of this test is to determine the cost of having
additional threads in the system when the scheduler is activated by
way of <TT
CLASS="FUNCTION"
>cyg_scheduler_unlock()</TT
>.
                </P
></DD
><DT
>Scheduler unlock &#0091;many low priority threads&#0093;</DT
><DD
><P
>This test measures the <TT
CLASS="FUNCTION"
>cyg_scheduler_unlock()</TT
>
call. There are many other threads in the system which are runnable
but are lower priority than the main thread. The purpose of this test
is to determine the cost of having additional threads in the system
when the scheduler is activated by way of
<TT
CLASS="FUNCTION"
>cyg_scheduler_unlock()</TT
>.
                </P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="REFSECT2"
><A
NAME="KERNEL-CHARACTERIZATION-MEASURE-MUTEX"
></A
><H3
>Mutex Primitives</H3
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
>Init mutex</DT
><DD
><P
>This test measures the <TT
CLASS="FUNCTION"
>cyg_mutex_init()</TT
> call. A
number of separate mutex variables are created. The purpose of this
test is to measure the cost of creating a new mutex and introducing it
to the system.
                </P
></DD
><DT
>Lock &#0091;unlocked&#0093; mutex</DT
><DD
><P
>This test measures the <TT
CLASS="FUNCTION"
>cyg_mutex_lock()</TT
> call. The
purpose of this test is to measure the cost of locking a mutex which
is currently unlocked. There are no other threads executing in the
system while this test runs.
                </P
></DD
><DT
>Unlock &#0091;locked&#0093; mutex</DT
><DD
><P
>This test measures the <TT
CLASS="FUNCTION"
>cyg_mutex_unlock()</TT
> call.
The purpose of this test is to measure the cost of unlocking a mutex
which is currently locked. There are no other threads executing in the
system while this test runs.
                </P
></DD
><DT
>Trylock &#0091;unlocked&#0093; mutex</DT
><DD
><P
>This test measures the <TT
CLASS="FUNCTION"
>cyg_mutex_trylock()</TT
> call.
The purpose of this test is to measure the cost of locking a mutex
which is currently unlocked. There are no other threads executing in
the system while this test runs.
                </P
></DD
><DT
>Trylock &#0091;locked&#0093; mutex</DT
><DD
><P
>This test measures the <TT
CLASS="FUNCTION"
>cyg_mutex_trylock()</TT
> call.
The purpose of this test is to measure the cost of locking a mutex
which is currently locked. There are no other threads executing in the
system while this test runs.
                </P
></DD
><DT
>Destroy mutex</DT
><DD
><P
>This test measures the <TT
CLASS="FUNCTION"
>cyg_mutex_destroy()</TT
> call.
The purpose of this test is to measure the cost of deleting a mutex
from the system. There are no other threads executing in the system
while this test runs.
                </P
></DD
><DT
>Unlock/Lock mutex</DT
><DD
><P
>This test attempts to measure the cost of unlocking a mutex for which
there is another higher priority thread waiting. When the mutex is
unlocked, the higher priority waiting thread will immediately take the
lock. The time from when the unlock is issued until after the lock
succeeds in the second thread is measured, thus giving the round-trip
or circuit time for this type of synchronizer.
                </P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="REFSECT2"
><A
NAME="KERNEL-CHARACTERIZATION-MEASURE-MAILBOX"
></A
><H3
>Mailbox Primitives</H3
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
>Create mbox</DT
><DD
><P
>This test measures the <TT
CLASS="FUNCTION"
>cyg_mbox_create()</TT
> call. A
number of separate mailboxes is created. The purpose of this test is
to measure the cost of creating a new mailbox and introducing it to
the system.
                </P
></DD
><DT
>Peek &#0091;empty&#0093; mbox</DT
><DD
><P
>This test measures the <TT
CLASS="FUNCTION"
>cyg_mbox_peek()</TT
> call. An
attempt is made to peek the value in each mailbox, which is currently
empty. The purpose of this test is to measure the cost of checking a
mailbox for a value without blocking.
                </P
></DD
><DT
>Put &#0091;first&#0093; mbox</DT
><DD
><P
>This test measures the <TT
CLASS="FUNCTION"
>cyg_mbox_put()</TT
> call. One
item is added to a currently empty mailbox. The purpose of this test
is to measure the cost of adding an item to a mailbox. There are no
other threads currently waiting for mailbox items to arrive.
                </P
></DD
><DT
>Peek &#0091;1 msg&#0093; mbox</DT
><DD
><P
>This test measures the <TT
CLASS="FUNCTION"
>cyg_mbox_peek()</TT
> call. An
attempt is made to peek the value in each mailbox, which contains a
single item. The purpose of this test is to measure the cost of
checking a mailbox which has data to deliver.
                </P
></DD
><DT
>Put &#0091;second&#0093; mbox</DT
><DD
><P
>This test measures the <TT
CLASS="FUNCTION"
>cyg_mbox_put()</TT
> call. A
second item is added to a mailbox. The purpose of this test is to
measure the cost of adding an additional item to a mailbox. There are
no other threads currently waiting for mailbox items to arrive.
                </P
></DD
><DT
>Peek &#0091;2 msgs&#0093; mbox</DT
><DD
><P
>This test measures the <TT
CLASS="FUNCTION"
>cyg_mbox_peek()</TT
> call. An
attempt is made to peek the value in each mailbox, which contains two
items. The purpose of this test is to measure the cost of checking a
mailbox which has data to deliver.
                </P
></DD
><DT
>Get &#0091;first&#0093; mbox</DT
><DD
><P
>This test measures the <TT
CLASS="FUNCTION"
>cyg_mbox_get()</TT
> call. The
first item is removed from a mailbox that currently contains two
items. The purpose of this test is to measure the cost of obtaining an
item from a mailbox without blocking.
              </P
></DD
><DT
>Get &#0091;second&#0093; mbox</DT
><DD
><P
>This test measures the <TT
CLASS="FUNCTION"
>cyg_mbox_get()</TT
> call. The
last item is removed from a mailbox that currently contains one item.
The purpose of this test is to measure the cost of obtaining an item
from a mailbox without blocking.
                </P
></DD
><DT
>Tryput &#0091;first&#0093; mbox</DT
><DD
><P
>This test measures the <TT
CLASS="FUNCTION"
>cyg_mbox_tryput()</TT
> call. A
single item is added to a currently empty mailbox. The purpose of this
test is to measure the cost of adding an item to a mailbox.
                </P
></DD
><DT
>Peek item &#0091;non-empty&#0093; mbox</DT
><DD
><P
>This test measures the <TT
CLASS="FUNCTION"
>cyg_mbox_peek_item()</TT
> call.
A single item is fetched from a mailbox that contains a single item.
The purpose of this test is to measure the cost of obtaining an item
without disturbing the mailbox.
                </P
></DD
><DT
>Tryget &#0091;non-empty&#0093; mbox</DT
><DD
><P
>This test measures the <TT
CLASS="FUNCTION"
>cyg_mbox_tryget()</TT
> call. A
single item is removed from a mailbox that contains exactly one item.
The purpose of this test is to measure the cost of obtaining one item
from a non-empty mailbox.
                </P
></DD
><DT
>Peek item &#0091;empty&#0093; mbox</DT
><DD
><P
>This test measures the <TT
CLASS="FUNCTION"
>cyg_mbox_peek_item()</TT
> call.
An attempt is made to fetch an item from a mailbox that is empty. The
purpose of this test is to measure the cost of trying to obtain an
item when the mailbox is empty.
                </P
></DD
><DT
>Tryget &#0091;empty&#0093; mbox</DT
><DD
><P
>This test measures the <TT
CLASS="FUNCTION"
>cyg_mbox_tryget()</TT
> call. An
attempt is made to fetch an item from a mailbox that is empty. The
purpose of this test is to measure the cost of trying to obtain an
item when the mailbox is empty.
                </P
></DD
><DT
>Waiting to get mbox</DT
><DD
><P
>This test measures the <TT
CLASS="FUNCTION"
>cyg_mbox_waiting_to_get()</TT
>
call. The purpose of this test is to measure the cost of determining
how many threads are waiting to obtain a message from this mailbox.
                </P
></DD
><DT
>Waiting to put mbox</DT
><DD
><P
>This test measures the <TT
CLASS="FUNCTION"
>cyg_mbox_waiting_to_put()</TT
>
call. The purpose of this test is to measure the cost of determining
how many threads are waiting to put a message into this mailbox.
                </P
></DD
><DT
>Delete mbox</DT
><DD
><P
>This test measures the <TT
CLASS="FUNCTION"
>cyg_mbox_delete()</TT
> call.
The purpose of this test is to measure the cost of destroying a
mailbox and removing it from the system.
                </P
></DD
><DT
>Put/Get mbox</DT
><DD
><P

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -