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 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/