Hi Telenn,<br><br><div class="gmail_quote">On Sat, Oct 20, 2012 at 12:48 AM, telenn barz <span dir="ltr">&lt;<a href="mailto:telenn.barz@gmail.com" target="_blank">telenn.barz@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 Arun,<br><br>Thanks for answering.<br><br><div class="gmail_quote"><div class="im">On Fri, Oct 19, 2012 at 3:33 PM, Arun KS <span dir="ltr">&lt;<a href="mailto:getarunks@gmail.com" target="_blank">getarunks@gmail.com</a>&gt;</span> wrote:<br>



</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br><div class="gmail_quote"><div><div class="im">On Fri, Oct 19, 2012 at 3:03 PM, telenn barz <span dir="ltr">&lt;<a href="mailto:telenn.barz@gmail.com" target="_blank">telenn.barz@gmail.com</a>&gt;</span> wrote:<br>



</div><div class="im"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<br>Q: In the 4G/4G split case, I don&#39;t see why we have to necessarily flush the TLB when switching from user-space to kernel-space ? Why the TLB couldn&#39;t be shared across one user-space to kernel-space switch, and be flushed only every two switches ?<br>





</blockquote></div></div><div class="im"><div><br>In 4G/4G split, kernel space(KS) and user space(US) both have 4GB address space. So there can be a same virtual address present in KS &amp; US which corresponds to two different physical addressess.<br>





When switching from US to KS or vice versa, the pointer to page table has to be changed in the MMU. So TLB which is just a cache for the page tables has to be flushed aswell.<br><br></div></div></div></blockquote><div>Yes you&#39;re right.<br>


<br>So considering the traditional 3G/1G split, another question is why the kernel restricts itself to a &quot;window&quot; of 128MB on high memory. Can we imagine rather that the kernel would simply allow itself to dynamically use some virtual pages of the 3G user-space part (while changing their access rights of course) ?<br>

</div></div></blockquote><div>128MB  of kernel linear address space is for mapping high mem pages. This is a temporary mapping, you have to unmap this 128MB to map another 128MB. <br>AFAIK you can change this configuration by changing your lowmem area, vmalloc area and device io memory area which are mapped to the kernel virtual space.<br>

<br><br>Thanks,<br>Arun<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="gmail_quote"><div>
<br>Thanks,<br>Telenn<br>
</div></div>
</blockquote></div><br>