lkml.org 
[lkml]   [2012]   [Sep]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: linux page table
On 09/03/2012 02:26 AM, Jiri Kosina wrote:
> On Sun, 2 Sep 2012, Xin Tong wrote:
>
>>>> 3. can two different processes have their CR3 being the same value
>>>> even though they have different first level page tables ?
>>>
>>> Yes, if they are created by clone(CLONE_VM). In such case they share the
>>> same mm_struct, and therefore mm_struct->pgd (which is exactly what is
>>> loaded into cr3 in switch_mm()) is the same.
>>>
>>
>> Is this the COW mechanism in linux. what if the cloned process need to
>> have set of its own pages later. do the CR3s for the 2 processes
>> become different at that point ?
>
> That is a different story. COW is applied on fork() (i.e. spawning new
> process), not on clone(CLONE_VM) (i.e. spawning new thread).
>

Yeah, and unshare(2) does not implement the flag that reverses the
effects of CLONE_VM.



\
 
 \ /
  Last update: 2012-09-04 11:22    [W:0.060 / U:0.108 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site