[CRIU] [PATCH] criu: dump and restore a thread name
Andrei Vagin
avagin at virtuozzo.com
Fri Feb 2 00:29:11 MSK 2018
On Thu, Feb 01, 2018 at 09:02:32PM +0000, Dmitry Safonov wrote:
> 2018-02-01 19:29 GMT+00:00 Andrei Vagin <avagin at openvz.org>:
> > From: Andrei Vagin <avagin at virtuozzo.com>
> >
> > Reported-by: 志平 林 <larry.lin at outlook.com>
> > Signed-off-by: Andrei Vagin <avagin at virtuozzo.com>
>
> Looks good.
> We could get it from procfs on pre-dump...
> But I guess, it's a trade-off between 3 syscalls from criu
> and 1 syscall in parasite, so I don't feel the difference.
>
> How about your rule for 1 new feature = 1 new test? ;-)
You can see that I attached this patch to a feature request email, I'm
not going to commit this patch in this form. You can consider that it is
RFC;).
I will fix your other comments in the next version.
> Also some small nits below.
>
> > ret = sys_prctl(PR_GET_PDEATHSIG, (unsigned long)&ti->pdeath_sig, 0, 0, 0);
> > - if (ret)
> > + if (ret) {
> > + pr_err("Unable to get the parent death signal: %d\n", ret);
> > + goto out;
> > + }
> > +
> > + ret = sys_prctl(PR_GET_NAME, (unsigned long) &ti->comm, 0, 0, 0);
> > + if (ret) {
> > + pr_err("Unable to get the thread name: %d\n", ret);
> > goto out;
> > + }
>
> We could omit getting thread's name if it's a thread leader.
> (just less on a syscall per each task on the dump).
> We can live without thread's name if it's the same as leader
> (potentialy saving a bit of space in image, removing allocation on
> dump, not bothering on restore about the name).
>
> > @@ -549,6 +549,12 @@ long __export_restore_thread(struct thread_restore_args *args)
> > if (ret)
> > goto core_restore_end;
> >
> > + ret = sys_prctl(PR_SET_NAME, (unsigned long) &args->comm, 0, 0, 0);
> > + if (ret) {
> > + pr_err("Unable to set a thread name: %d\n", ret);
> > + goto core_restore_end;
> > + }
> > +
> > pr_info("%ld: Restored\n", sys_gettid());
> >
> > restore_finish_stage(task_entries_local, CR_STATE_RESTORE);
>
> We could omit restoring:
> 1. Thread leader (we already restored that)
> 2. If threads have the same name as the leader.
> Potentially saving a syscall per-restored thread.
>
> --
> Dmitry
More information about the CRIU
mailing list