diff options
Diffstat (limited to 'static/netbsd/man9/cpu_need_resched.9 3.html')
| -rw-r--r-- | static/netbsd/man9/cpu_need_resched.9 3.html | 80 |
1 files changed, 0 insertions, 80 deletions
diff --git a/static/netbsd/man9/cpu_need_resched.9 3.html b/static/netbsd/man9/cpu_need_resched.9 3.html deleted file mode 100644 index 4db08d3c..00000000 --- a/static/netbsd/man9/cpu_need_resched.9 3.html +++ /dev/null @@ -1,80 +0,0 @@ -<table class="head"> - <tr> - <td class="head-ltitle">CPU_NEED_RESCHED(9)</td> - <td class="head-vol">Kernel Developer's Manual</td> - <td class="head-rtitle">CPU_NEED_RESCHED(9)</td> - </tr> -</table> -<div class="manual-text"> -<section class="Sh"> -<h1 class="Sh" id="NAME"><a class="permalink" href="#NAME">NAME</a></h1> -<p class="Pp"><code class="Nm">cpu_need_resched</code> — - <span class="Nd">context switch notification</span></p> -</section> -<section class="Sh"> -<h1 class="Sh" id="SYNOPSIS"><a class="permalink" href="#SYNOPSIS">SYNOPSIS</a></h1> -<p class="Pp"><code class="In">#include - <<a class="In">sys/cpu.h</a>></code></p> -<p class="Pp"><var class="Ft">void</var> - <br/> - <code class="Fn">cpu_need_resched</code>(<var class="Fa" style="white-space: nowrap;">struct - cpu_info *ci</var>, <var class="Fa" style="white-space: nowrap;">struct lwp - *l</var>, <var class="Fa" style="white-space: nowrap;">int flags</var>);</p> -</section> -<section class="Sh"> -<h1 class="Sh" id="DESCRIPTION"><a class="permalink" href="#DESCRIPTION">DESCRIPTION</a></h1> -<p class="Pp">The - <a class="permalink" href="#cpu_need_resched"><code class="Fn" id="cpu_need_resched">cpu_need_resched</code></a>() - function is the machine-independent interface for the scheduler to notify - machine-dependent code that a context switch from the current LWP - <var class="Fa">l</var>, on the cpu <var class="Fa">ci</var>, is required. - This event may occur if a higher priority LWP appears on the run queue or if - the current LWP has exceeded its time slice. <var class="Fa">l</var> is the - last LWP observed running on the CPU. It may no longer be running, as - <code class="Fn">cpu_need_resched</code>() can be called without holding - scheduler locks.</p> -<p class="Pp">If the <code class="Dv">RESCHED_KPREEMPT</code> flag is specified - in <var class="Fa">flags</var> and <code class="Dv">__HAVE_PREEMPTION</code> - C pre-processor macro is defined in - <code class="In"><<a class="In">machine/intr.h</a>></code>, - machine-dependent code should make a context switch happen as soon as - possible even if the CPU is running in kernel mode. If the - <code class="Dv">RESCHED_KPREEMPT</code> flag is not specified, then - <code class="Dv">RESCHED_UPREEMPT</code> is specified instead.</p> -<p class="Pp">If the <code class="Dv">RESCHED_IDLE</code> flag is specified in - <var class="Fa">flags</var>, the last thread observed running on the CPU was - the idle LWP.</p> -<p class="Pp" id="cpu_need_resched~2">If <code class="Dv">RESCHED_REMOTE</code> - flag is specified in <var class="Fa">flags</var>, the request is not for the - current CPU. The opposite also holds true. If <var class="Fa">ci</var> is - not the current processor, - <a class="permalink" href="#cpu_need_resched~2"><code class="Fn">cpu_need_resched</code></a>() - typically issues an inter processor call to the processor to make it notice - the need of a context switch as soon as possible.</p> -<p class="Pp" id="cpu_need_resched~3"><a class="permalink" href="#cpu_need_resched~3"><code class="Fn">cpu_need_resched</code></a>() - is always called with kernel preemption disabled.</p> -<p class="Pp" id="cpu_need_resched~4">Typically, the - <a class="permalink" href="#cpu_need_resched~4"><code class="Fn">cpu_need_resched</code></a>() - function will perform the following operations:</p> -<ul class="Bl-bullet Bd-indent"> - <li>Set a per-processor flag which is checked by <a class="Xr">userret(9)</a> - when returning to user-mode execution.</li> - <li>Post an asynchronous software trap (AST).</li> - <li id="userret">Send an inter processor interrupt to wake up - <a class="Xr">cpu_idle(9)</a> and/or force an user process across the - user/kernel boundary, thus making a trip through - <a class="permalink" href="#userret"><code class="Fn">userret</code></a>().</li> -</ul> -</section> -<section class="Sh"> -<h1 class="Sh" id="SEE_ALSO"><a class="permalink" href="#SEE_ALSO">SEE - ALSO</a></h1> -<p class="Pp"><a class="Xr">sched_4bsd(9)</a>, <a class="Xr">userret(9)</a></p> -</section> -</div> -<table class="foot"> - <tr> - <td class="foot-date">November 17, 2019</td> - <td class="foot-os">NetBSD 10.1</td> - </tr> -</table> |
