Re: Copy-on-write

From: Bryan Donlan
Date: Fri Mar 27 2009 - 01:35:36 EST


On Fri, Mar 27, 2009 at 1:15 AM, sidc7 <siddhartha.chhabra@xxxxxxxxx> wrote:
>
> When the kernel does a COW, say from a "src" to a "dest" page, does it need
> to map the "src" and "dest" page to its address space or the kernel can
> directly initiate the read from "src" and write to "dest" page ?

If the source and destination pages are not in high memory (exactly
where this boundary is depends on your architecture) they do not need
to be mapped before copying. See cow_user_page in mm/memory.c,
copy_user_highpage in include/linux/highmem.h and kmap_atomic in
arch/x86/mm/highmem_32.c (as well as implementations for other
architectures)

Note that on 64-bit platforms, generally there will be no high memory,
and so remappings will never be needed to carry out a COW.
--
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/