0

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?

  • This overlaps https://unix.stackexchange.com/questions/5337/ , https://unix.stackexchange.com/questions/84101/ , and https://unix.stackexchange.com/questions/156329/ . – JdeBP Sep 09 '17 at 07:44

1 Answers1

1

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