Collected on this page is the design notes about supporting userfaultfd in CRIU
Concepts
- Tasks after restore should have lazy VMAs being backed by userfaultfd, the fd itself should be sent before resume to CRIU daemon and closed
- Only MAP_PRIVATE | MAP_ANONYMOUS will be supported in the 1st version due to kernel constraints
- On source side the page server should be taught to get pages from tasks dumped and send them out on the destination node
- Protocol should include out-of-order pages and background pages pushing (sending them before demand from the process)
- The now dump-only
--page-server
option should be used for restore action to tell that the memory will be sucked in through page server