Messages in this thread | | | Date | Sun, 2 Sep 2012 20:26:56 +0200 (CEST) | From | Jiri Kosina <> | Subject | Re: linux page table |
| |
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).
-- Jiri Kosina SUSE Labs
| |