From: Andrey Mirkin <major-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org>
To: Louis.Rilling-aw0BnHfMbSpBDgjK7y7TUQ@public.gmane.org
Cc: containers-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org,
Cedric Le Goater <clg-NmTC/0ZBporQT0dZR+AlfA@public.gmane.org>,
linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
Pavel Emelyanov <xemul-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org>
Subject: Re: [Devel] Re: [PATCH 08/10] Introduce functions to restart a process
Date: Wed, 22 Oct 2008 14:12:12 +0400 [thread overview]
Message-ID: <200810221412.14174.major@openvz.org> (raw)
In-Reply-To: <20081022092502.GW15171-Hu8+6S1rdjywhHL9vcZdMVaTQe2KTcn/@public.gmane.org>
On Wednesday 22 October 2008 13:25 Louis Rilling wrote:
> On Wed, Oct 22, 2008 at 12:49:54PM +0400, Andrey Mirkin wrote:
> > On Monday 20 October 2008 13:23 Cedric Le Goater wrote:
> > > Hello Andrey !
> > >
> > > > diff --git a/arch/x86/kernel/entry_32.S b/arch/x86/kernel/entry_32.S
> > > > index 109792b..a4848a3 100644
> > > > --- a/arch/x86/kernel/entry_32.S
> > > > +++ b/arch/x86/kernel/entry_32.S
> > > > @@ -225,6 +225,7 @@ ENTRY(ret_from_fork)
> > > > GET_THREAD_INFO(%ebp)
> > > > popl %eax
> > > > CFI_ADJUST_CFA_OFFSET -4
> > > > +ret_from_fork_tail:
> > > > pushl $0x0202 # Reset kernel eflags
> > > > CFI_ADJUST_CFA_OFFSET 4
> > > > popfl
> > > > @@ -233,6 +234,26 @@ ENTRY(ret_from_fork)
> > > > CFI_ENDPROC
> > > > END(ret_from_fork)
> > > >
> > > > +ENTRY(i386_ret_from_resume)
> > > > + CFI_STARTPROC
> > > > + pushl %eax
> > > > + CFI_ADJUST_CFA_OFFSET 4
> > > > + call schedule_tail
> > > > + GET_THREAD_INFO(%ebp)
> > > > + popl %eax
> > > > + CFI_ADJUST_CFA_OFFSET -4
> > > > + movl (%esp), %eax
> > > > + testl %eax, %eax
> > > > + jz 1f
> > > > + pushl %esp
> > > > + call *%eax
> > > > + addl $4, %esp
> > > > +1:
> > > > + addl $256, %esp
> > > > + jmp ret_from_fork_tail
> > > > + CFI_ENDPROC
> > > > +END(i386_ret_from_resume)
> > >
> > > Could you explain why you need to do this
> > >
> > > call *%eax
> > >
> > > is it related to the freezer code ?
> >
> > It is not related to the freezer code actually.
> > That is needed to restart syscalls. Right now I don't have a code in my
> > patchset which restarts a syscall, but later I plan to add it.
> > In OpenVZ checkpointing we restart syscalls if process was caught in
> > syscall during checkpointing.
>
> Do you checkpoint uninterruptible syscalls as well? If only interruptible
> syscalls are checkpointed, I'd say that either this syscall uses
> ERESTARTSYS or ERESTART_RESTARTBLOCK, and then signal handling code already
> does the trick, or this syscall does not restart itself when interrupted,
> and well, this is life, userspace just sees -EINTR, which is allowed by the
> syscall spec.
> Actually this is how we checkpoint/migrate tasks in interruptible syscalls
> in Kerrighed and this works.
We checkpoint only interruptible syscalls. Some syscalls do not restart
themself, that is why after restarting a process we restart syscall to
complete it.
Andrey
next prev parent reply other threads:[~2008-10-22 10:12 UTC|newest]
Thread overview: 49+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-10-17 23:11 [PATCH 0/10] OpenVZ kernel based checkpointing/restart (v2) Andrey Mirkin
[not found] ` <1224285098-573-1-git-send-email-major-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org>
2008-10-17 23:11 ` [PATCH 01/10] Introduce trivial sys_checkpoint and sys_restore system calls Andrey Mirkin
[not found] ` <1224285098-573-2-git-send-email-major@openvz.org>
[not found] ` <1224285098-573-2-git-send-email-major-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org>
2008-10-17 23:11 ` [PATCH 02/10] Make checkpoint/restart functionality modular Andrey Mirkin
[not found] ` <1224285098-573-3-git-send-email-major-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org>
2008-10-17 23:11 ` [PATCH 03/10] Introduce context structure needed during checkpointing/restart Andrey Mirkin
[not found] ` <1224285098-573-4-git-send-email-major-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org>
2008-10-17 23:11 ` [PATCH 04/10] Introduce container dump function Andrey Mirkin
[not found] ` <1224285098-573-5-git-send-email-major-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org>
2008-10-17 23:11 ` [PATCH 05/10] Introduce function to dump process Andrey Mirkin
[not found] ` <1224285098-573-6-git-send-email-major-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org>
2008-10-17 23:11 ` [PATCH 06/10] Introduce functions to dump mm Andrey Mirkin
[not found] ` <1224285098-573-7-git-send-email-major-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org>
2008-10-17 23:11 ` [PATCH 07/10] Introduce function for restarting a container Andrey Mirkin
[not found] ` <1224285098-573-8-git-send-email-major-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org>
2008-10-17 23:11 ` [PATCH 08/10] Introduce functions to restart a process Andrey Mirkin
[not found] ` <1224285098-573-9-git-send-email-major@openvz.org>
[not found] ` <1224285098-573-10-git-send-email-major@openvz.org>
[not found] ` <1224285098-573-10-git-send-email-major-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org>
2008-10-17 23:11 ` [PATCH 10/10] Add support for multiple processes Andrey Mirkin
[not found] ` <1224285098-573-11-git-send-email-major@openvz.org>
[not found] ` <1224285098-573-11-git-send-email-major-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org>
2008-10-27 15:58 ` Oren Laadan
[not found] ` <4905E50C.8020803@cs.columbia.edu>
[not found] ` <4905E50C.8020803-eQaUEPhvms7ENvBUuze7eA@public.gmane.org>
2008-10-30 4:55 ` [Devel] " Andrey Mirkin
[not found] ` <1224285098-573-9-git-send-email-major-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org>
2008-10-17 23:11 ` [PATCH 09/10] Introduce functions to restore mm Andrey Mirkin
2008-10-20 9:23 ` [PATCH 08/10] Introduce functions to restart a process Cedric Le Goater
[not found] ` <48FC4E0C.7050008-NmTC/0ZBporQT0dZR+AlfA@public.gmane.org>
2008-10-22 8:49 ` [Devel] " Andrey Mirkin
[not found] ` <200810221249.55600.major@openvz.org>
[not found] ` <20081022092502.GW15171@hawkmoon.kerlabs.com>
[not found] ` <20081022092502.GW15171-Hu8+6S1rdjywhHL9vcZdMVaTQe2KTcn/@public.gmane.org>
2008-10-22 10:06 ` Greg Kurz
2008-10-22 10:12 ` Andrey Mirkin [this message]
[not found] ` <200810221412.14174.major-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org>
2008-10-22 10:46 ` Louis Rilling
2008-10-22 15:25 ` Oren Laadan
[not found] ` <48FF45CF.5000306-eQaUEPhvms7ENvBUuze7eA@public.gmane.org>
2008-10-23 9:00 ` Andrey Mirkin
[not found] ` <200810231300.50628.amirkin@parallels.com>
[not found] ` <200810231300.50628.amirkin-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2008-10-23 13:57 ` Dave Hansen
[not found] ` <1224770277.12673.21.camel@nimitz>
2008-10-24 3:57 ` Andrey Mirkin
[not found] ` <200810240757.38012.major@openvz.org>
[not found] ` <200810240757.38012.major-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org>
2008-10-25 21:10 ` Oren Laadan
[not found] ` <49038B4C.2010009@cs.columbia.edu>
[not found] ` <49038B4C.2010009-eQaUEPhvms7ENvBUuze7eA@public.gmane.org>
2008-10-29 14:52 ` Andrey Mirkin
[not found] ` <200810291752.19281.major@openvz.org>
[not found] ` <200810291752.19281.major-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org>
2008-10-30 15:59 ` Oren Laadan
[not found] ` <20081022104630.GY15171@hawkmoon.kerlabs.com>
[not found] ` <20081022104630.GY15171-Hu8+6S1rdjywhHL9vcZdMVaTQe2KTcn/@public.gmane.org>
2008-10-23 8:53 ` Andrey Mirkin
[not found] ` <1224669979.4210.15.camel@localhost.localdomain>
[not found] ` <1224669979.4210.15.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2008-10-22 10:44 ` Louis Rilling
[not found] ` <20081022104448.GX15171@hawkmoon.kerlabs.com>
[not found] ` <20081022104448.GX15171-Hu8+6S1rdjywhHL9vcZdMVaTQe2KTcn/@public.gmane.org>
2008-10-22 12:44 ` Greg Kurz
[not found] ` <200810221249.55600.major-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org>
2008-10-22 9:25 ` Louis Rilling
2008-10-22 12:47 ` Cedric Le Goater
[not found] ` <48FF20F6.1040505@fr.ibm.com>
[not found] ` <48FF20F6.1040505-NmTC/0ZBporQT0dZR+AlfA@public.gmane.org>
2008-10-23 9:54 ` Andrey Mirkin
[not found] ` <200810231354.47033.major@openvz.org>
[not found] ` <200810231354.47033.major-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org>
2008-10-23 13:49 ` Dave Hansen
[not found] ` <1224769753.12673.12.camel@nimitz>
2008-10-24 4:04 ` Andrey Mirkin
2008-10-20 13:25 ` Louis Rilling
[not found] ` <20081020132536.GS15171-Hu8+6S1rdjywhHL9vcZdMVaTQe2KTcn/@public.gmane.org>
2008-10-23 10:56 ` [Devel] " Andrey Mirkin
2008-10-20 12:25 ` [PATCH 06/10] Introduce functions to dump mm Louis Rilling
[not found] ` <20081020122514.GR15171-Hu8+6S1rdjywhHL9vcZdMVaTQe2KTcn/@public.gmane.org>
2008-10-22 8:58 ` [Devel] " Andrey Mirkin
2008-10-20 17:21 ` Dave Hansen
[not found] ` <1224523278.1848.123.camel@nimitz>
2008-10-23 8:43 ` [Devel] " Andrey Mirkin
[not found] ` <200810231243.42181.major@openvz.org>
[not found] ` <200810231243.42181.major-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org>
2008-10-23 13:51 ` Dave Hansen
[not found] ` <1224769880.12673.15.camel@nimitz>
2008-10-24 4:07 ` Andrey Mirkin
2008-10-20 11:02 ` [PATCH 05/10] Introduce function to dump process Louis Rilling
2008-10-20 17:48 ` Serge E. Hallyn
[not found] ` <20081020110226.GP15171@hawkmoon.kerlabs.com>
[not found] ` <20081020110226.GP15171-Hu8+6S1rdjywhHL9vcZdMVaTQe2KTcn/@public.gmane.org>
2008-10-24 4:15 ` [Devel] " Andrey Mirkin
[not found] ` <20081020174801.GB29092@us.ibm.com>
[not found] ` <20081020174801.GB29092-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2008-10-24 4:40 ` Andrey Mirkin
2008-10-20 17:02 ` [PATCH 03/10] Introduce context structure needed during checkpointing/restart Dave Hansen
2008-10-29 15:30 ` [Devel] " Andrey Mirkin
2008-10-20 16:51 ` [PATCH 02/10] Make checkpoint/restart functionality modular Dave Hansen
2008-10-20 16:59 ` Serge E. Hallyn
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200810221412.14174.major@openvz.org \
--to=major-gefaqzzx7r8dnm+yrofe0a@public.gmane.org \
--cc=Louis.Rilling-aw0BnHfMbSpBDgjK7y7TUQ@public.gmane.org \
--cc=clg-NmTC/0ZBporQT0dZR+AlfA@public.gmane.org \
--cc=containers-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org \
--cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=xemul-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox