From 6c3bddd257cc521db0d5bf5fb9524fdd234e038e Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 18 Sep 2010 08:31:12 +0000 Subject: Fixed bug 3069854, fixed documentation article about events. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2180 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/STM32F103-72.txt | 30 +++++++++++++++--------------- docs/src/events.dox | 41 +++++++++++++++++++++-------------------- 2 files changed, 36 insertions(+), 35 deletions(-) (limited to 'docs') diff --git a/docs/reports/STM32F103-72.txt b/docs/reports/STM32F103-72.txt index dc2337f4c..1cac6cfe3 100644 --- a/docs/reports/STM32F103-72.txt +++ b/docs/reports/STM32F103-72.txt @@ -5,8 +5,8 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) *** ChibiOS/RT test suite *** -*** Kernel: 2.1.0unstable -*** GCC Version: 4.5.0 +*** Kernel: 2.1.2unstable +*** GCC Version: 4.5.1 *** Architecture: ARMv7-M *** Core Variant: Cortex-M3 *** Platform: STM32 MD @@ -95,55 +95,55 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.1 (Benchmark, messages #1) ---- Score : 252041 msgs/S, 504082 ctxswc/S +--- Score : 248573 msgs/S, 497146 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) ---- Score : 204649 msgs/S, 409298 ctxswc/S +--- Score : 201227 msgs/S, 402454 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.3 (Benchmark, messages #3) ---- Score : 204649 msgs/S, 409298 ctxswc/S +--- Score : 201227 msgs/S, 402454 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.4 (Benchmark, context switch) ---- Score : 848856 ctxswc/S +--- Score : 839008 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) ---- Score : 160345 threads/S +--- Score : 155165 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 230238 threads/S +--- Score : 223798 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) ---- Score : 62631 reschedules/S, 375786 ctxswc/S +--- Score : 61138 reschedules/S, 366828 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 484540 ctxswc/S +--- Score : 478120 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) ---- Score : 491216 bytes/S +--- Score : 465772 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, virtual timers set/reset) ---- Score : 647206 timers/S +--- Score : 647262 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.11 (Benchmark, semaphores wait/signal) ---- Score : 823472 wait+signal/S +--- Score : 787368 wait+signal/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.12 (Benchmark, mutexes lock/unlock) ---- Score : 601192 lock+unlock/S +--- Score : 586492 lock+unlock/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.13 (Benchmark, RAM footprint) ---- System: 340 bytes +--- System: 360 bytes --- Thread: 68 bytes --- Timer : 20 bytes --- Semaph: 12 bytes diff --git a/docs/src/events.dox b/docs/src/events.dox index 98ba8d55f..27de187e4 100644 --- a/docs/src/events.dox +++ b/docs/src/events.dox @@ -27,33 +27,34 @@ * explanation.
* Lets start with the events related terminology: * - Event Source, an @p EventSource is a system object that can be - * @a broadcasted asynchronously in response of a system event, as example, - * when the CAN driver receives a packet from the CAN bus it @a broadcasts + * broadcasted asynchronously in response of a system event, as example, + * when the CAN driver receives a packet from the CAN bus it broadcasts * an event source in order to inform the registered threads that a packet * has just arrived. * - Broadcast, the operation performed on an event source in order - * to inform the @a registered threads that an event just occurred. + * to inform the registered threads that an event just occurred. * Broadcasting can happened both in interrupt handlers and in threads. * - Event Listener, a system object that associates a @p Thread object * to an event source. The process of associating a @p Thread to an - * @p EventSource using an @p EventListener is called @a registration. + * @p EventSource using an @p EventListener is called registration. * - Registration, action performed by a thread in order to be informed * of events from a specific event source. Of course a thread can be - * @a registered on more than one event source by using multiple - * @p EventListener objects. Threads can also @a unregister from an event + * registered on more than one event source by using multiple + * @p EventListener objects. Threads can also unregister from an event * source. - * - Pend, each thread has a mask of @a pending events. The @a broadcast - * operation @a pends an event mask on all the @a registered threads. + * - Pending Events, event flags waiting to be served by a thread. + * - Add, the broadcast operation adds (logical or) an events + * mask to all the registered threads. * - Wait, synchronous operation performed by a thread in order to - * @a wait a specific combination of events. The API offers a variety of - * @a wait functions, please refer to the events API documentation. + * wait a specific combination of events. The API offers a variety of + * wait functions, please refer to the events API documentation. * . * Note that events are asynchronously generated, as example in an interrupt * handler, but are synchronously served. * *

Events related data structures

* The following diagram explains the relationship between an event source, - * its list of event listeners and the @a registered threads. + * its list of event listeners and the registered threads. * @dot digraph example { rankdir="LR"; @@ -97,19 +98,19 @@ el4 -> t4 [label="el_listener"]; } * @enddot - * Note that each event listener has a different bit mask to be @a pended on - * its associated thread when the event source is @a broadcasted, this means + * Note that each event listener has a different bit mask to be added on + * its associated thread when the event source is broadcasted, this means * that each thread can define its own event identifiers independently. A - * @a broadcast operation can also @a pend more than one bit on the - * @a registered threads.
- * The threads have a variety of @a wait primitives, they can @a wait for one - * or more event flags to become @a pending, and can also specify AND/OR - * conditions, as example a thread can @a wait for any event to become - * @a pending or @a wait for all the specified events to become @a pending.
+ * broadcast operation can also add more than one bit on the + * registered threads.
+ * The threads have a variety of wait primitives, they can wait for one + * or more event flags, and can also specify AND/OR conditions, as example + * a thread can wait for any of the specified events or wait for all the + * specified events.
* The field @p p_epending is the mask of the currently pending events, * the field @p p_ewmask is the mask of the events the thread is interested * on in that moment (AND or OR condition depending on the invoked - * @a wait API). + * wait API). * *

Use Scenarios

* Events are best used when one of more of the following conditions are -- cgit v1.2.3