1. 19 May, 2017 5 commits
    • Pavel Emelyanov's avatar
      crit: RSS explorer · af6e70b2
      Pavel Emelyanov authored
      When running 'cirt x dir rss' one will see the way pagemap chunks
      are scatered across the VMs of processes. Sample output from the
      env00 zdtm test is
      
      22
      	400000 / 1              00400000 / 5        /root/criu/test/zdtm/static/env00
      
      	604000 / 2              00604000 / 1        /root/criu/test/zdtm/static/env00
      	                        00605000 / 1        /root/criu/test/zdtm/static/env00
      
      	853000 / 1              00853000 / 33
      
      	7faba2d4b000 / 6        7faba2d4b000 / 4        /usr/lib64/libc-2.22.so
      	                        7faba2d4f000 / 2        /usr/lib64/libc-2.22.so
      
      	7faba2d51000 / 2        7faba2d51000 / 4
      
      	7faba2d54000 / 1        ~
      
      	7faba2f64000 / 3        7faba2f64000 / 3
      
      	7faba2f74000 / 1        7faba2f74000 / 1
      
      	7faba2f75000 / 2        7faba2f75000 / 1        /usr/lib64/ld-2.22.so
      	                        7faba2f76000 / 1        /usr/lib64/ld-2.22.so
      
      	7faba2f77000 / 1        7faba2f77000 / 1
      
      	7fffb4de3000 / 3        7fffb4de2000 / 70
      
      	7fffb4e24000 / 2        ~
      
      	7fffb4e27000 / 1        ~
      
      	7fffb4f6a000 / 2        7fffb4f6a000 / 2
      Signed-off-by: 's avatarPavel Emelyanov <xemul@virtuozzo.com>
      Signed-off-by: 's avatarAndrei Vagin <avagin@virtuozzo.com>
      af6e70b2
    • Dmitry Safonov's avatar
      ia32/futex: restore compat_robust_list · 9e3e4656
      Dmitry Safonov authored
      The same as for Checkpointing - we need to call 32-bit syscall
      for compatible tasks here to correctly restore compat_robust_list,
      not robust_list.
      
      Note: I check here restorer's *task* arg for compatible mode, not
      restorer *thread* arg. As changing application's mode during runtime
      is very rare thing itself, application that runs different bitness
      threads is most likely not present at all.
      If we ever meet such application, this could be improved.
      Signed-off-by: 's avatarDmitry Safonov <dsafonov@virtuozzo.com>
      Signed-off-by: 's avatarAndrei Vagin <avagin@virtuozzo.com>
      9e3e4656
    • Dmitry Safonov's avatar
      ia32/futex: add dumping compat_robust_list · 9a282cbb
      Dmitry Safonov authored
      The kernel keeps two different pointers for 32-bit and 64-bit futex
      lists: robust_list and compat_robust_list in task_struct.
      So, dump compat_robust_list for ia32 tasks.
      
      Note: this means that one can set *both* compat_robust_list and
      robust_list pointers by using as we're here 32-bit and 64-bit syscalls.
      That's one of mixed-bitness application questions.
      For simplification (and omitting more syscalls), we dump here only
      one of the pointers.
      Signed-off-by: 's avatarDmitry Safonov <dsafonov@virtuozzo.com>
      Signed-off-by: 's avatarAndrei Vagin <avagin@virtuozzo.com>
      9a282cbb
    • Dmitry Safonov's avatar
      restorer: remove always true `has_futex' arg · d011a9fb
      Dmitry Safonov authored
      Check for presence of robust futex list is in the reality
      (futex_rla_len != 0).
      
      That does code on dumping, in get_task_futex_robust_list():
      > ret = syscall(SYS_get_robust_list, pid, &head, &len);
      > if (ret < 0 && errno == ENOSYS) {
      [..]
      > 	len = 0;
      [..]
      > }
      [..]
      > info->futex_rla_len	= (u32)len;
      
      And in images: futex_rla_len == 0 means that futex is not present.
      
      So, we don't need additional restorer's parameter `has_futex'
      which is always true, remove it.
      Signed-off-by: 's avatarDmitry Safonov <dsafonov@virtuozzo.com>
      Signed-off-by: 's avatarAndrei Vagin <avagin@virtuozzo.com>
      d011a9fb
    • Dmitry Safonov's avatar
      criu/ia32: don't redefine __NR32_rt_sigaction · ea6357e6
      Dmitry Safonov authored
      Cleanup: use nr, provided by compel.
      Signed-off-by: 's avatarDmitry Safonov <dsafonov@virtuozzo.com>
      Signed-off-by: 's avatarAndrei Vagin <avagin@virtuozzo.com>
      ea6357e6
  2. 10 May, 2017 35 commits