Hey Vijay<br><br>I am a newbie too. Just sharing what I could go through.<br><br>It is said that Kernel or atleast a part of kernel needs to be non paged for fast interrupt access etc as pinned memory<br>Wiki says <br><h3>
<span class="mw-headline" id="Pinned.2FLocked.2FFixed_pages">Pinned/Locked/Fixed pages</span></h3>
<p>Operating systems have memory areas that are pinned (never swapped to secondary storage). For example, <a href="http://en.wikipedia.org/wiki/Interrupt" title="Interrupt">interrupt</a> mechanisms rely on an array of pointers to their handlers, such as <a href="http://en.wikipedia.org/wiki/I/O" title="I/O" class="mw-redirect">I/O</a> completion and <a href="http://en.wikipedia.org/wiki/Page_fault" title="Page fault">page fault</a>.
 If the pages containing these pointers or the code that they invoke 
were pageable, interrupt-handling would become far more complex and 
time-consuming, particularly in the case of page fault interrupts. 
Hence, some part of the page table structures is not pageable.</p>
<p>Some pages may be pinned for short periods of time, others may be 
pinned for long periods of time, and still others may need to be 
permanently pinned. For example:</p>
<ul><li>The paging supervisor code and drivers for secondary storage devices
 on which pages reside must be permanently pinned, as otherwise paging 
wouldn&#39;t even work because the necessary code wouldn&#39;t be available.</li><li>Timing-dependent components may be pinned to avoid variable paging delays.</li><li><a href="http://en.wikipedia.org/wiki/Data_buffer" title="Data buffer">Data buffers</a> that are accessed directly by peripheral devices that use <a href="http://en.wikipedia.org/wiki/Direct_memory_access" title="Direct memory access">direct memory access</a> or <a href="http://en.wikipedia.org/wiki/I/O_channel" title="I/O channel" class="mw-redirect">I/O channels</a> must reside in pinned pages while the I/O operation is in progress because such devices and the <a href="http://en.wikipedia.org/wiki/Bus_%28computing%29" title="Bus (computing)">buses</a>
 to which they are attached expect to find data buffers located at 
physical memory addresses; regardless of whether the bus has a <a href="http://en.wikipedia.org/wiki/IOMMU" title="IOMMU">memory management unit for I/O</a>, transfers cannot be stopped if a page fault occurs and then restarted when the page fault has been processed.</li>
</ul><p>There are other two discussion thread which say kernel is non-pageable and now due to growing kernel Data structures it is allowed</p><p><a href="http://kerneltrap.org/node/6404">http://kerneltrap.org/node/6404</a></p>
<p><a href="http://kerneltrap.org/node/8206">http://kerneltrap.org/node/8206</a></p><p><br></p><p>Regards</p><p>Kishore<br></p> <br><br><div class="gmail_quote">On Thu, Jun 21, 2012 at 5:57 PM, Vijay Chauhan <span dir="ltr">&lt;<a href="mailto:kernel.vijay@gmail.com" target="_blank">kernel.vijay@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello,<br>
<br>
I am newbie.<br>
It has been said &quot;kernel memory is not pageable&quot;<br>
What does it mean? There is no concept of kernel virtual address?<br>
<br>
Any simple explanation will help me to udnerstand.<br>
<br>
Thanks,<br>
Vijay<br>
<br>
_______________________________________________<br>
Kernelnewbies mailing list<br>
<a href="mailto:Kernelnewbies@kernelnewbies.org">Kernelnewbies@kernelnewbies.org</a><br>
<a href="http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies" target="_blank">http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies</a><br>
</blockquote></div><br>