[CRIU] [PATCH 0/8] Prepare the support for AArch64 --- series 2

Cyrill Gorcunov gorcunov at gmail.com
Tue Mar 11 22:55:48 PDT 2014


On Wed, Mar 12, 2014 at 09:55:27AM +0400, Alexander Kartashov wrote:
> On 03/11/2014 01:37 PM, Cyrill Gorcunov wrote:
> >Alexander, the vdso code is arch dependant thus I would suggest to not
> >share x86-64 implementation but implement ARM implementation instead.
> >
> >What we have now:
> >
> >extern int vdso_redirect_calls(void *base_to, void *base_from, struct vdso_symtable *to, struct vdso_symtable *from);
> >extern int vdso_fill_symtable(char *mem, size_t size,struct vdso_symtable *t);
> >extern int vdso_remap(char *who, unsigned long from, unsigned long to, size_t size);
> >extern int vdso_proxify(char *who, struct vdso_symtable *sym_rt, VmaEntry *vma_entry, unsigned long vdso_rt_parked_at);
> >extern int parasite_fixup_vdso(struct parasite_ctl *ctl, pid_t pid, struct vm_area_list *vma_area_list);
> >
> >these 5 helpers, I believe we will have more pain in the ass in future if we share the
> >implementation code now. So you only need to implement these 5 calls for arm64 and
> >that's all.
>
> That's understandable. I wanted to minimize copy-paste here.

Sure, there is no doubt the less copy/paste is done then better.

> The vDSO analysis code isn't as machine-dependent to be implemented
> separately for every architecture but isn't as machine-independent as
> presented in the patch.

Having a closer look I think at least vdso_redirect_calls and vdso_fill_symtable
should be per-arch implementations.

> 
> OK, let's put the issue off. I think I shall attempt another unification
> when the proper vDSO proxy for AArch64 is implemented.


More information about the CRIU mailing list