1- .. _samples_scheduler_metairq_dispatch :
1+ .. zephyr :code-sample :: Meta-IRQ_dispatch
2+ :name: Meta-IRQ Thread Priority
23
3- MetaIRQ Thread Priority Demonstration
4- #####################################
4+ Implement a thread running at a Meta-IRQ priority level.
55
66Overview
77********
88
9- This sample demonstrates the use of a thread running at a MetaIRQ
9+ This sample implements a thread running at a Meta-IRQ
1010priority level to implement "bottom half" style processing
1111synchronously with the end of a hardware ISR. It implements a
1212simulated "device" that produces messages that need to be dispatched
1313to asynchronous queues feeding several worker threads, each running at
14- a different priority. The dispatch is handled by a MetaIRQ thread fed
14+ a different priority. The dispatch is handled by a Meta-IRQ thread fed
1515via a queue from the device ISR (really just a timer interrupt).
1616
1717Each message has a random (and non-trivial) amount of processing that
@@ -22,7 +22,7 @@ Messages are accompanied by a timestamp that allows per-message
2222latencies to be computed at several points:
2323
2424* The cycle time between message creation in the ISR and receipt by
25- the MetaIRQ thread for dispatch.
25+ the Meta-IRQ thread for dispatch.
2626
2727* The time between ISR and receipt by the worker thread.
2828
@@ -37,13 +37,13 @@ Aspects to note in the results:
3737
3838* Cooperatively scheduled threads have significantly better processing
3939 delay behavior than preemptible ones, as they can only be preempted
40- by the MetaIRQ thread.
40+ by the Meta-IRQ thread.
4141
4242* Because of queueing and the bursty load, all worker threads of any
4343 priority will experience some load-dependent delays, as the CPU
4444 occasionally has more work to do than time available.
4545
46- * But, no matter the system load or thread configuration, the MetaIRQ
46+ * But, no matter the system load or thread configuration, the Meta-IRQ
4747 thread always runs immediately after the ISR. It shows reliable,
4848 constant latency under all circumstances because it can preempt all
4949 other threads, including cooperative ones that cannot normally be
0 commit comments