Commit Graph

4 Commits

Author SHA1 Message Date
Andy Ross
7aa25fa5eb kernel: Add "meta IRQ" thread priorities
This patch adds a set of priorities at the (numerically) lowest end of
the range which have "meta-irq" behavior.  Runnable threads at these
priorities will always be scheduled before threads at lower
priorities, EVEN IF those threads are otherwise cooperative and/or
have taken a scheduler lock.

Making such a thread runnable in any way thus has the effect of
"interrupting" the current task and running the meta-irq thread
synchronously, like an exception or system call.  The intent is to use
these priorities to implement "interrupt bottom half" or "tasklet"
behavior, allowing driver subsystems to return from interrupt context
but be guaranteed that user code will not be executed (on the current
CPU) until the remaining work is finished.

As this breaks the "promise" of non-preemptibility granted by the
current API for cooperative threads, this tool probably shouldn't be
used from application code.

Signed-off-by: Andy Ross <andrew.j.ross@intel.com>
2018-05-23 14:25:52 -04:00
David B. Kinder
c7e9495811 doc: fix broken notes directives
Fix two docs using ".. note:" instead of ".. note::" (missing a colon).

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2017-12-04 15:00:17 -05:00
David B. Kinder
23b54005e0 doc: fix spelling errors in doc/kernel documents
Change-Id: I879142a6c2da9d8ebd00c37ee57f1bf0f699dc78
Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2017-02-27 11:46:53 -08:00
Anas Nashif
ebe9771d02 doc: move kernel_v2 to kernel
Change-Id: I6caa94bc1a3d1986966652cd0a24bf22f3697481
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-12-24 01:53:16 +00:00