[CRIU] [PATCHv3 0/7] Large pages support for aarch64/ppc64

Mike Rapoport rppt at linux.vnet.ibm.com
Mon Apr 9 08:42:16 MSK 2018


On Sat, Apr 07, 2018 at 12:40:14AM +0100, Dmitry Safonov wrote:
> v3 Changes:
> o PAGE_SIZE as a global in PIEs doesn't work on aarch64,
>   I'll need to add relocs support to compel there eventually.
>   Revert this simplification to v1.
> 
> v2 Changes:
> o Add patches for global variables in PIEs
> o Simplify ARCH_HAS_LONG_PAGES
> o cache PAGE_SIZE and PAGE_SHIFT values
>   (as nitpicked by Mike)
> 
> TLDR; CRIU doesn't work if:
> on aarch64 it's when PAGE_SIZE!=4K,
> on ppc64 it's when PAGE_SIZE!=64K
> 
> Cc: Adrian Reber <areber at redhat.com>
> Cc: Mike Rapoport <rppt at linux.vnet.ibm.com>
> 
> Dmitry Safonov (7):
>   criu: Remove PAGE_IMAGE_SIZE
>   parasite: Rename misnamed nr_pages
>   compel/criu: Add ARCH_HAS_LONG_PAGES to PIE binaries
>   criu/dump: Fix size of personality buffer
>   criu/log: Define log buffer length without PAGE_SIZE
>   criu/proc: Define BUF_SIZE without PAGE_SIZE dependency

What about buf[PAGE_SIZE] in crui/mem:restore_priv_vma_content?
Do you intend to rely on C99 dynamic arrays or just forgot the patch? ;-)

>   ppc64/aarch64: Dynamically define PAGE_SIZE
 
>  compel/include/rpc-pie-priv.h          |  3 +++
>  compel/plugins/std/infect.c            | 17 ++++++++++++
>  compel/src/lib/infect.c                |  3 +++
>  criu/arch/aarch64/crtools.c            |  3 +++
>  criu/arch/ppc64/crtools.c              |  3 +++
>  criu/cr-dump.c                         |  3 ++-
>  criu/cr-restore.c                      |  3 +++
>  criu/crtools.c                         |  1 -
>  criu/include/image.h                   |  5 ----
>  criu/include/restorer.h                |  3 +++
>  criu/log.c                             |  3 ++-
>  criu/pie/parasite.c                    | 10 ++++----
>  criu/pie/restorer.c                    | 16 ++++++++++++
>  criu/proc_parse.c                      |  6 ++---
>  include/common/arch/aarch64/asm/page.h | 45 ++++++++++++++++++++++++--------
>  include/common/arch/ppc64/asm/page.h   | 47 ++++++++++++++++++++++++----------
>  16 files changed, 130 insertions(+), 41 deletions(-)
> 
> -- 
> 2.13.6
> 

-- 
Sincerely yours,
Mike.



More information about the CRIU mailing list