The vfork () system call has the same effect as fork(), except that the page table entries of the parent process are not copied.Today, with copy-on-write and child-runs-first semantics,the only benefit to vfork() is not copying the page table entries.If Linux one day gains copy-on-write page table entries,there will no longer be any benefit.

These are some lines from Robert Love's book on 'Linux Kernel Development'.What I don't understand is what is the benefit of not copying the page table entries?

There is also a line which says,"In copy_process(),the task_struct member vfork_done is set to NULL".

What is this vfork_done? What is its function?


1 Answer 1


The benefit is simply performance. Copying page table entries requires memory for these page tables, and requires CPU time to perform the copy.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.