在Linux内核中进行COW复制?

Kri*_*oks 5 linux memory copy-on-write

所以,我想知道 - 我将如何在内核中实现复制内存页面(struct page)并利用写时复制机制而不是立即传输数据.

现在,我通过将用户地址转换为页面来allocate_pages复制页面,使用内核分配所需的页面数量,使用它们进行复制copy_pages,然后最终使用它们将它们映射到所需的区域install_special_mapping.这有效,但我觉得这可以使用写时复制机制进行优化.