Changes

1,327 bytes added ,  07:48, 22 January 2019
add memory tracking with userfaultfd-WP
Line 173: Line 173:  
* Mentor: Cyrill Gorcunov <gorcunov@gmail.com>
 
* Mentor: Cyrill Gorcunov <gorcunov@gmail.com>
 
* Suggested by: Cyrill Gorcunov <gorcunov@gmail.com>
 
* Suggested by: Cyrill Gorcunov <gorcunov@gmail.com>
 +
 +
=== Memory changes tracking with userfaultfd-WP ===
 +
 +
'''Summary:''' add ability to track memory changes of the snapshotted processes using userfaultfd-WP
 +
 +
Currently CRIU uses [[Memory_changes_tracking|Soft-dirty]] mechanism in Linux kernel to track memory changes.
 +
This mechanism can be complemented or even completely replaced with recently proposed userfaultfd-WP.
 +
 +
Userfault allows implementation of paging in userspace. It allows an application to receive notifications about page faults and provide the desired memory contents for the faulting pages. In the current upstream kernels only missing page faults are supported, but there is an ongoing work to allow notifications for write faults as well. Using these notifications it would be possible to precisely track memory accesses of during pre-dump iterations and this approach may prove more efficient than soft-dirty.
 +
 +
'''Links:'''
 +
* [https://www.kernel.org/doc/html/latest/admin-guide/mm/userfaultfd.html Userfaultfd]
 +
* [https://github.com/xzpeter/linux/tree/uffd-wp-merged Userfaultfd-WP]
 +
* [https://www.kernel.org/doc/html/latest/admin-guide/mm/soft-dirty.html?highlight=soft%20dirty Soft-Dirty]
 +
 +
'''Details:'''
 +
* Skill level: most probably advanced?
 +
* Language: C
 +
* Mentor: Mike Rapoport <rppt@linux.ibm.com>
 +
* Suggested by: Mike Rapoport <rppt@linux.ibm.com>
62

edits