Thread (4 messages) 4 messages, 2 authors, 2012-10-22

What rationale behind physical and virtual kernel memory layout ?

From: telenn barz <hidden>
Date: 2012-10-19 19:18:26

Hello Arun,

Thanks for answering.

On Fri, Oct 19, 2012 at 3:33 PM, Arun KS [off-list ref] wrote:
On Fri, Oct 19, 2012 at 3:03 PM, telenn barz [off-list ref]wrote:
quoted
Q: In the 4G/4G split case, I don't see why we have to necessarily flush
the TLB when switching from user-space to kernel-space ? Why the TLB
couldn't be shared across one user-space to kernel-space switch, and be
flushed only every two switches ?
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 & US which
corresponds to two different physical addressess.
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.

Yes you're right.
So considering the traditional 3G/1G split, another question is why the
kernel restricts itself to a "window" 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) ?

Thanks,
Telenn
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20121019/9f9c51c8/attachment.html 
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help