Difference between revisions of "Todo"

From CRIU
Jump to navigation Jump to search
m
Line 17: Line 17:
 
| crtools || AIO with pending events || medium || - ||
 
| crtools || AIO with pending events || medium || - ||
 
|-
 
|-
| crtools || restore  mountpoints || hard || - || -
+
| crtools || Restore arbitrary mountpoints tree || hard || - || -
 
|-
 
|-
| crtools || lazy migration using userfaultd || medium || xemul || -
+
| crtools || Lazy migration using userfaultd || medium || xemul || -
 
|-
 
|-
| crtools || dump tasks from cgroup || easy || - || Currently criu dumps a subtree from given pid
+
| crtools || Dump tasks from cgroup || easy || - || Currently criu dumps a subtree from given pid
 
|-
 
|-
| crtools || speed up logging || medium || Cyrill || Synchronous formatting and writes to log files slow things down ([[Logging]])
+
| crtools || Speed up [[logging]] || medium || Cyrill || Synchronous formatting and writes to log files slow things down ([[Logging]])
 
|-
 
|-
| crtools || sanitize logging messages || hard || - || Currently log messages are placed w/o any logic. Need to improve that ... somehow.
+
| crtools || Sanitize [[logging]] messages || hard || - || Currently log messages are placed w/o any logic. Need to improve that ... somehow.
 
|-
 
|-
| crtools || support OFD posix locks || easy || - ||
+
| crtools || Support OFD posix locks || easy || - ||
 
|-
 
|-
| crtools || optimize kcmp calls || medium || - || For fs/fdt/vm/etc we can pre-generate ID based on objects that live on them. If pre-ID matches, then call kcmp.
+
| crtools || Optimize kcmp calls || medium || - || For fs/fdt/vm/etc we can pre-generate ID based on objects that live on them. If pre-ID matches, then call kcmp.
 
|-
 
|-
 
| crtools || Shmem changes tracking || medium || - ||  
 
| crtools || Shmem changes tracking || medium || - ||  
 
|-
 
|-
| crtools || Page transfer filters || medium || Ruslan Kuprieiev || Packing or encrypting the data would be nice. Maybe it's purely for [[P.Haul]]?
+
| crtools || Page transfer filters || medium || - || Packing or encrypting the data would be nice. Maybe it's purely for [[P.Haul]]?
 
|-
 
|-
| crtools || FUSE || hard || - ||
+
| crtools || FUSE mount points || hard || - ||
 
|-
 
|-
 
| crtools || 32-bit tasks || hard || Cyrill ||  
 
| crtools || 32-bit tasks || hard || Cyrill ||  
 
|-
 
|-
| crtools || Generate task's core file out of images || medium || Ruslan Kuprieiev || [[CRIT]]
+
| crtools || Generate task's core file out of images with [[CRIT]] || medium || Ruslan Kuprieiev ||
 
|-
 
|-
| crtools || Modify restored resources run-time || medium || - || [[CRIT]] Need (probably) some way to alter what is being restored. Usage example -- change the IP address of sockets from task above.
+
| crtools || Modify restored resources run-time in [[CRIT]] daemon || medium || - || Need (probably) some way to alter what is being restored. Usage example -- change the IP address of sockets from task above.
 
|-
 
|-
 
| crtools || TCP socket migration with changed IP || medium || - ||  [[CRIT]] it might make sense to migrate a tcp connection on a box with changed IP address _if_ both boxes are NAT-ed to the destination. We will then have to go to NAT box and fix the conntracks, but this might make sense.
 
| crtools || TCP socket migration with changed IP || medium || - ||  [[CRIT]] it might make sense to migrate a tcp connection on a box with changed IP address _if_ both boxes are NAT-ed to the destination. We will then have to go to NAT box and fix the conntracks, but this might make sense.
Line 61: Line 61:
 
| crtools || PPP support || medium || - ||
 
| crtools || PPP support || medium || - ||
 
|-
 
|-
| crtools/kernel || DelayFS for NFS/Fuse migration || hard || - ||
+
| crtools/kernel || NFS mount points support || hard || - ||
 
|-
 
|-
 
| kernel || Seamless kernel upgrade || hard || xemul ||
 
| kernel || Seamless kernel upgrade || hard || xemul ||
|-
 
| crtools/kernel || NFS || hard || - || Probably depends on DelayFS
 
 
|-
 
|-
 
| crtools || Validate .img files || easy || - || [[CRIT]] For a given set of image files check, that they are in "restorable" shape
 
| crtools || Validate .img files || easy || - || [[CRIT]] For a given set of image files check, that they are in "restorable" shape
 
|-
 
|-
| crtools || Restore a process tree || hard ||  - || Need to restore any process tree, which could be created with help PR_SET_CHILD_SUBREAPER and CLONE_PARENT. Processes can share other resources [http://man7.org/linux/man-pages/man2/clone2.2.html clone(2)]. Look at [http://git.criu.org/?p=crtools.git;a=blob;f=test/zdtm/live/static/session02.c;hb=HEAD session02]
+
| crtools || Restore arbitrary process tree || hard ||  - || Need to restore any process tree, which could be created with help PR_SET_CHILD_SUBREAPER and CLONE_PARENT. Processes can share other resources [http://man7.org/linux/man-pages/man2/clone2.2.html clone(2)]. Look at [http://git.criu.org/?p=crtools.git;a=blob;f=test/zdtm/live/static/session02.c;hb=HEAD session02]
 
|-
 
|-
| crtools || X app || hard || - || Dump/restore of graphical applications(Maybe worth switching to Wayland?)
+
| crtools || C/R X app || hard || Ruslan Kuprieiev || Dump/restore of graphical applications (see about [[integration]])
 
|-
 
|-
 
| crtools/kernel || Undo semaphores || medium || Cyrill Gorcunov || Require mods from both sides -- criu and kernel
 
| crtools/kernel || Undo semaphores || medium || Cyrill Gorcunov || Require mods from both sides -- criu and kernel
Line 77: Line 75:
 
| crtools || More detailed RPC fail codes || easy || - || Currently only 3 typical errors are reported(see [https://github.com/xemul/criu/blob/master/include/cr-errno.h#L8 include/cr-errno.h])
 
| crtools || More detailed RPC fail codes || easy || - || Currently only 3 typical errors are reported(see [https://github.com/xemul/criu/blob/master/include/cr-errno.h#L8 include/cr-errno.h])
 
|-
 
|-
| kernel/criu || fsnotify queues || hard || - || [[Fsnotify]]
+
| kernel/criu || FS-notify queues || hard || - || [[Fsnotify]]
 
|}
 
|}
  
 
[[Category:Development]]
 
[[Category:Development]]
 
[[Category:Plans]]
 
[[Category:Plans]]

Revision as of 12:04, 20 February 2015

component task complexity potential/willing assignee comments
kernel/crtools Put call to mmap into VDSO easy Cyrill Oleg Nesterov suggests not to patch victim areas to get the call to mmap (for parasite blob and args) but to always have one on VDSO.
crtools Integration with other projects hard -
crtools Restore tasks into fresh new pid namespace easy - A thing to worry about is this new namespace's init task.
crtools Rollback tree state medium -
crtools AIO with pending events medium -
crtools Restore arbitrary mountpoints tree hard - -
crtools Lazy migration using userfaultd medium xemul -
crtools Dump tasks from cgroup easy - Currently criu dumps a subtree from given pid
crtools Speed up logging medium Cyrill Synchronous formatting and writes to log files slow things down (Logging)
crtools Sanitize logging messages hard - Currently log messages are placed w/o any logic. Need to improve that ... somehow.
crtools Support OFD posix locks easy -
crtools Optimize kcmp calls medium - For fs/fdt/vm/etc we can pre-generate ID based on objects that live on them. If pre-ID matches, then call kcmp.
crtools Shmem changes tracking medium -
crtools Page transfer filters medium - Packing or encrypting the data would be nice. Maybe it's purely for P.Haul?
crtools FUSE mount points hard -
crtools 32-bit tasks hard Cyrill
crtools Generate task's core file out of images with CRIT medium Ruslan Kuprieiev
crtools Modify restored resources run-time in CRIT daemon medium - Need (probably) some way to alter what is being restored. Usage example -- change the IP address of sockets from task above.
crtools TCP socket migration with changed IP medium - CRIT it might make sense to migrate a tcp connection on a box with changed IP address _if_ both boxes are NAT-ed to the destination. We will then have to go to NAT box and fix the conntracks, but this might make sense.
crtools Applying images hard xemul@ w/ students Think about ability to take images and apply them to a living task(s). E.g. -- repopulate fdtable according to data from image. Another use-case -- when doing partial migration we'll need to modify one part to switch from pipes to sockets
crtools Partial migration hard - migrate some tasks while proxying IPC to existing others (pipes->sockets, etc.)
crtools Shared objects (mm/fs) support medium - Now we have the kcmp syscall and can do it. The first candidate is mm sharing, as we do know, that MySQL does so sometimes.
crtools Smart paths resolution hard - Need a way to resolve paths to overmounted files. There are two ways: 1. Move mounts, that overlap the desired path temprarily. 2. When creating a new mount pre-open an fd keeping the mountpoint. Later, do accurate path resolve and call openat() on proper mountpoint fd
kernel/crtools TCP repair fixes hard - TCP repair TODO
crtools Bridges in container medium -
crtools VLANs in containers medium -
crtools PPP support medium -
crtools/kernel NFS mount points support hard -
kernel Seamless kernel upgrade hard xemul
crtools Validate .img files easy - CRIT For a given set of image files check, that they are in "restorable" shape
crtools Restore arbitrary process tree hard - Need to restore any process tree, which could be created with help PR_SET_CHILD_SUBREAPER and CLONE_PARENT. Processes can share other resources clone(2). Look at session02
crtools C/R X app hard Ruslan Kuprieiev Dump/restore of graphical applications (see about integration)
crtools/kernel Undo semaphores medium Cyrill Gorcunov Require mods from both sides -- criu and kernel
crtools More detailed RPC fail codes easy - Currently only 3 typical errors are reported(see include/cr-errno.h)
kernel/criu FS-notify queues hard - Fsnotify