On 7/15/05, Mulyadi Santosa <mulyadi.santosa@xxxxxxxxx> wrote: > Dear Ketan... > > > > do with page tables. So VMA can not be shared even in clone(), rather > > it is copied into other process's task_struct. So with clone() you > > will have two copies of same VMA values inside both the processes. I > > think VMA can never be shared (single instance shared by both > > processes). > > in the case you are calling clone() with non CLONE_VM, the above > statement is correct. However, if you use CLONE_VM, the mm_struct > between the parent and the child is shared, thus the VMA is also > shared. Try to read about it on Linux kernel development and/or > directly inside the source code (kernel/fork.c on copy_mm() ). Hope it > helps > > regards > Hi Mulyadi, I am extremely sorry. Ofcourse the VMA is shared while cloning the process, what I meant was the mm_struct which is inside the task_struct. The mm_struct is the one which contains the list of VMA's the process can access. And thats what I meant by "copying of VMA values"... yeah the wording of my mail was confusing...I agree I apologise for the confusion and thanks for clarification Ketan -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/