2
|
1 |
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
|
|
2 |
"http://www.w3.org/TR/html4/loose.dtd">
|
|
3 |
<html><head>
|
|
4 |
<title>Scheduler State</title>
|
|
5 |
<link href="sysdoc-eclipse.css" type="text/css" rel="stylesheet" media="screen">
|
|
6 |
<link href="sysdoc-eclipse.css" type="text/css" rel="stylesheet" media="print">
|
|
7 |
<link href="../../book.css" type="text/css" rel="stylesheet" >
|
|
8 |
<div class="Head1">
|
|
9 |
|
|
10 |
<h2>Scheduler State</h2>
|
|
11 |
</div>
|
|
12 |
<div>
|
|
13 |
<p>The first three lines and the fifth line of the output show the
|
|
14 |
state of the kernel scheduler. This information is mainly of interest to kernel
|
|
15 |
engineers, although the state of the kernel and the system locks can be useful
|
|
16 |
when debugging device driver crashes.</p>
|
|
17 |
<p class="listing">SCHEDULER @64000348: CurrentThread 640396b0<br>
|
|
18 |
RescheduleNeeded=00 DfcPending=00 KernCSLocked=00000001<br>DFCS: next 64000458 prev 64000458<br>...<br>SYSLOCK: HoldingThread 00000000 iWaiting 00000000</p>
|
|
19 |
<p>The values are interpreted as follows:</p><table cellpadding="1" border="0" cellspacing="0"><tr><td
|
|
20 |
class="TableWrap"><table cellpadding="5" cellspacing="1"
|
|
21 |
border="0"><tr valign="top"><td class="Cell">
|
|
22 |
<p>SCHEDULER @</p></td><td class="Cell">
|
|
23 |
<p>This is the address of the kernel’s scheduler instance; this
|
|
24 |
is not very useful.</p></td></tr>
|
|
25 |
<tr valign="top"><td class="Cell">
|
|
26 |
<p>CurrentThread</p></td><td class="Cell">
|
|
27 |
<p>The address of the kernel object for the current kernel
|
|
28 |
thread.</p></td></tr>
|
|
29 |
<tr valign="top"><td class="Cell">
|
|
30 |
<p>RescheduleNeeded</p></td><td class="Cell">
|
|
31 |
<p>This is set to non-zero by the kernel to force a reschedule,
|
|
32 |
for example if a thread has been signalled</p></td></tr>
|
|
33 |
<tr valign="top"><td class="Cell">
|
|
34 |
<p>DfcPending</p></td><td class="Cell">
|
|
35 |
<p>This is non-zero when there are DFCs queued.</p></td></tr>
|
|
36 |
<tr valign="top"><td class="Cell">
|
|
37 |
<p>KernCSLocked</p></td><td class="Cell">
|
|
38 |
<p>This is incremented each time the kernel is locked by a call
|
|
39 |
to NKern::Lock(), and decremented by calls to NKern::Unlock(). A value of zero means that the kernel is
|
|
40 |
not locked.</p></td></tr>
|
|
41 |
<tr valign="top"><td class="Cell">
|
|
42 |
<p>DFCS:</p></td><td class="Cell">
|
|
43 |
<p>The addresses of the next and the previous items on the DFC
|
|
44 |
queue</p></td></tr>
|
|
45 |
<tr valign="top"><td class="Cell">
|
|
46 |
<p>HoldingThread</p></td><td class="Cell">
|
|
47 |
<p>The address of the thread holding the system lock mutex. The
|
|
48 |
system lock is set by call to NKern::LockSystem() and
|
|
49 |
unset by call to NKern::UnlockSystem()</p></td></tr>
|
|
50 |
<tr valign="top"><td class="Cell">
|
|
51 |
<p>iWaiting</p></td><td class="Cell">
|
|
52 |
<p>Non-zero, if any thread is waiting for the system lock
|
|
53 |
mutex.</p></td></tr>
|
|
54 |
</table></td></tr></table>
|
|
55 |
<p> </p>
|
|
56 |
</div>
|
|
57 |
<h5>Related tasks</h5>
|
|
58 |
<ul>
|
|
59 |
<li><a href="CrashDebuggerInfoAboutKernel.guide.html">Extracting Kernel Information</a> </li>
|
|
60 |
<li><a href="CrashDebuggerInfoAboutKernel.guide03.html">Current Thread State</a></li>
|
|
61 |
<li><a href="CrashDebuggerInfoAboutKernel.guide04.html">Current Process State</a></li>
|
|
62 |
<li><a href="CrashDebuggerInfoAboutKernel.guide05.html">Current Data Section Process</a></li>
|
|
63 |
</ul>
|
|
64 |
<div id="footer">Copyright © 2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. <br>License: <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a></div>
|
|
65 |
</body>
|
|
66 |
</html>
|
|
67 |
|