Re: on the concept of COW

From: Helge Hafting
Date: Mon Nov 22 2004 - 02:32:50 EST


Jagadeesh Bhaskar P wrote:

Hi,

When a process forks, every resource of the parent, including the
virtual memory is copied to the child process. The copying of VM uses
copy-on-write(COW). I know that COW comes when a write request comes,
and then the copy is made. Now my query follows:

How will the copy be distributed. Whether giving the child process a new
copy of VM be permanent or whether they will be merged anywhere? And


Merging can only happen if the two pages becomes equal
again. That is extremely unlikely, and checking for this
would cost a lot more than the memory saved.

shouldn't the operations/updations by one process be visible to the
other which inherited the copy of the same VM?


Of course not - the whole reason for copying is so such
modifications won't be visible for the other process.

There may be special cases (shared mapping) where one
process is supposed to see updates done by another - but
then no COW is performed because there is no need.

Helge Hafting
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/