Hello Arun,<br><br>Thanks for answering.<br><br><div class="gmail_quote">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>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br><div class="gmail_quote"><div>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>

<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><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></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>
<br>Thanks,<br>Telenn<br>
</div></div>