~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/trace/rv/monitor_wwnr.rst

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 Monitor wwnr
  2 ============
  3 
  4 - Name: wwrn - wakeup while not running
  5 - Type: per-task deterministic automaton
  6 - Author: Daniel Bristot de Oliveira <bristot@kernel.org>
  7 
  8 Description
  9 -----------
 10 
 11 This is a per-task sample monitor, with the following
 12 definition::
 13 
 14                |
 15                |
 16                v
 17     wakeup   +-------------+
 18   +--------- |             |
 19   |          | not_running |
 20   +--------> |             | <+
 21              +-------------+  |
 22                |              |
 23                | switch_in    | switch_out
 24                v              |
 25              +-------------+  |
 26              |   running   | -+
 27              +-------------+
 28 
 29 This model is broken, the reason is that a task can be running
 30 in the processor without being set as RUNNABLE. Think about a
 31 task about to sleep::
 32 
 33   1:      set_current_state(TASK_UNINTERRUPTIBLE);
 34   2:      schedule();
 35 
 36 And then imagine an IRQ happening in between the lines one and two,
 37 waking the task up. BOOM, the wakeup will happen while the task is
 38 running.
 39 
 40 - Why do we need this model, so?
 41 - To test the reactors.
 42 
 43 Specification
 44 -------------
 45 Grapviz Dot file in tools/verification/models/wwnr.dot

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php