<br><br><div class="gmail_quote">On 29 June 2011 12:08, Mulyadi Santosa <span dir="ltr">&lt;<a href="mailto:mulyadi.santosa@gmail.com">mulyadi.santosa@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;">
Hi :)<br>
<div class="im"><br>
On Wed, Jun 29, 2011 at 13:30, piyush moghe &lt;<a href="mailto:pmkernel@gmail.com">pmkernel@gmail.com</a>&gt; wrote:<br>
&gt; Thanks Mulyadi and Prabhu for your enlightening description.<br>
<br>
</div>You welcome :)<br>
<div class="im"><br>
&gt; What a plight!!! memory has become soo cheap nowadays that I don&#39;t have less<br>
&gt; than 1GB system and difficult to find someone in my knowledge having less<br>
&gt; than 1 GB memory.<br>
<br>
</div>In embedded world, it&#39;s still common scenario.... so it depends on<br>
which side we see it :) That&#39;s the flexibility Linux kernel tries to<br>
show...it does well on big memory machine...but it can also run in<br>
small amount of memory... of course, with the right user space<br>
applications :) (hint: Linux slitaz, puppy, tiny core...)<br>
<div class="im"><br>
<br>
&gt; Although does this means that pages in FCOM will never have page fault?<br>
<br>
</div>Everything mapped in kernel space ( I stress the word &quot;mapped&quot;) is<br>
designed to stay all the time in RAM in Linux kernel context. So based<br>
on that AFAIK, we won&#39;t get page fault in kernel space. This is<br>
strictly design choice IMHO.<br>
<div class="im"><br>
&gt;and<br>
&gt; if this is true is this the reason why we assign NULL to memory descriptor (<br>
&gt; mm_struct ) for kernel threads?<br>
<br>
</div>because kernel threads don&#39;t need to have specific address space owned<br>
to them. They can simply &quot;borrow&quot; last scheduled process&#39; address<br>
space. After all, they just operate in kernel space, which is the same<br>
for all processes, be it kernel threads or normal task.<br></blockquote><div> </div><div>Thanks Mulyadi for your clarifications!<br>I am not getting the idea of &quot;borrowing&quot; last run process&#39;s address space. A kernel thread refers only the addresses in kernel&#39;s address space (low-mem area) which is mapped already, isnt it? How does the address space of last run task comes into picture?<br>
 <br></div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<font color="#888888"><br>
--<br>
</font><div class="im">regards,<br>
<br>
Mulyadi Santosa<br>
Freelance Linux trainer and consultant<br>
<br>
blog: <a href="http://the-hydra.blogspot.com" target="_blank">the-hydra.blogspot.com</a><br>
training: <a href="http://mulyaditraining.blogspot.com" target="_blank">mulyaditraining.blogspot.com</a><br>
<br>
</div><div><div></div><div class="h5">_______________________________________________<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>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>Regards,<br>Paraneetharan C<br>