From: Oleg Nesterov <oleg@redhat.com>
To: "Bruno Prémont" <bonbons@linux-vserver.org>
Cc: Daniel Lezcano <daniel.lezcano@free.fr>,
"Serge E. Hallyn" <serge@hallyn.com>,
akpm@linux-foundation.org, containers@lists.linux-foundation.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH 0/2] Send a SIGCHLD to the init's pid namespace parent when reboot
Date: Tue, 23 Aug 2011 15:33:02 +0200 [thread overview]
Message-ID: <20110823133302.GA19582@redhat.com> (raw)
In-Reply-To: <20110822211716.7c141d5c@neptune.home>
On 08/22, Bruno Prémont wrote:
>
> On Mon, 22 August 2011 Oleg Nesterov wrote:
> > On 08/22, Bruno Prémont wrote:
> > >
> > > Isn't it possible to add the two cases to si_code possible values, e.g.
> > > CDL_RESTART, CDL_HALT (or CDL_SYS_RESTART, CDL_SYS_HALT
> >
> > How? You should change do_wait() paths then. Even if we could, personally
> > I'd strongly object ;) Look, you have the very specific problem. The kernel
> > can't do everything to make everyone happy. There is tradeoff.
> >
> > But if you really meant siginfo->si_code, I do not understand at all what
> > you actually mean. This info is not preserved when the task exits.
>
> I've been reading do_wait() code a bit, it decides between CLD_KILLED and
> CLD_DUMPED based on a bit of (struct task_struct).exit_code.
Yes. But we were talking about the CLD_EXITED/CLD_KILLED difference.
And in fact this CLD_ doesn't matter at all. sys_waitid(info) can see
it, but you can simply look at "status". There is no additional info.
> So struct_task IS still available
Sure. But I do not understand why do you mention this... And, I think,
in this discussion we can pretend that only task->exit_code is still
available.
> (how about it's namespace references? If
> the namespaces are not the reboot reason would need to be stored somewhere
> inside of struct task which might be some overhead too much)
>
> So as long as container init's task_struct exists the reboot reason could
> be preserved and used to replace CLD_DUMPED/CLD_KILLED siginfo->si_code.
At least now I understand why did you mention si_code/CLD before. You
meant waitid(). I thought you were talking about the death-notifications
which can't report CLD_ you need.
I strongly object. We shouldn't uglify wait_task_zombie() to solve the
very specific problem.
And once again. sub_init->parent does wiat(&status) and sees
WIFSIGNALED() && WTERMSIG(status) == SIGHUP. This can only mean that
sys_reboot(LINUX_REBOOT_CMD_RESTART) was called. It _can not_ be really
killed by SIGHUP, it must be CMD_RESTART.
Why this can't work? Why do you want the additional complications?
> > > > And, iiuc, the point was to "fix" sys_reboot() so that we do not need
> > > > to mofify the distro/userspace?
> > >
> > > That's definitely the goal (not modify distro/userspace running inside
> > > container).
> >
> > In this case I do not understand how prctl() can help.
>
> I'm not talking about prctl() - as I understand Daniel the prctl() part is
> for the process outside of the container, not the one inside.
> So for container hypervisor to say if it wants to get informed or not.
OK, I certainly misunderstood him. And still can't understand what
exactly was suggested ;)
> > But please do not try to convince me, this is simply unnecessary ;)
>
> No, trying to know what's reasonably possible
Can't resist... IMHO, imho, imho, but in this case I believe
"reasonably possible" == "simplest" ;)
Oleg.
next prev parent reply other threads:[~2011-08-23 13:36 UTC|newest]
Thread overview: 64+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-08-11 20:23 [PATCH 0/2] Send a SIGCHLD to the init's pid namespace parent when reboot Daniel Lezcano
2011-08-11 20:24 ` [PATCH 1/2] add SA_CLDREBOOT flag Daniel Lezcano
2011-08-14 16:15 ` Oleg Nesterov
2011-08-14 16:36 ` Bruno Prémont
[not found] ` <20110814183611.05937c96-hY15tx4IgV39zxVx7UNMDg@public.gmane.org>
2011-08-14 17:10 ` Oleg Nesterov
2011-08-14 17:10 ` Oleg Nesterov
[not found] ` <20110814161532.GA30846-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2011-08-14 16:36 ` Bruno Prémont
[not found] ` <1313094241-3674-2-git-send-email-daniel.lezcano-GANU6spQydw@public.gmane.org>
2011-08-14 16:15 ` Oleg Nesterov
[not found] ` <1313094241-3674-1-git-send-email-daniel.lezcano-GANU6spQydw@public.gmane.org>
2011-08-11 20:24 ` Daniel Lezcano
2011-08-11 20:24 ` [PATCH 2/2] Notify container-init parent a 'reboot' occured Daniel Lezcano
2011-08-14 16:17 ` [PATCH 0/2] Send a SIGCHLD to the init's pid namespace parent when reboot Oleg Nesterov
2011-08-11 20:24 ` [PATCH 2/2] Notify container-init parent a 'reboot' occured Daniel Lezcano
2011-08-11 21:09 ` Serge Hallyn
2011-08-11 21:30 ` Daniel Lezcano
[not found] ` <4E444A04.3070403-GANU6spQydw@public.gmane.org>
2011-08-11 21:50 ` Serge Hallyn
2011-08-12 16:29 ` Serge Hallyn
2011-08-12 16:29 ` Serge Hallyn
2011-08-12 20:42 ` Daniel Lezcano
[not found] ` <4E45904F.60904-GANU6spQydw@public.gmane.org>
2011-08-12 21:13 ` Serge Hallyn
2011-08-12 21:13 ` Serge Hallyn
2011-08-12 20:42 ` Daniel Lezcano
2011-08-11 21:50 ` Serge Hallyn
2011-08-11 21:30 ` Daniel Lezcano
2011-08-13 0:19 ` Matt Helsley
2011-08-13 14:41 ` Daniel Lezcano
[not found] ` <20110813001959.GB5777-52DBMbEzqgQ/wnmkkaCWp/UQ3DHhIser@public.gmane.org>
2011-08-13 14:41 ` Daniel Lezcano
2011-08-14 16:01 ` Oleg Nesterov
[not found] ` <1313094241-3674-3-git-send-email-daniel.lezcano-GANU6spQydw@public.gmane.org>
2011-08-11 21:09 ` Serge Hallyn
2011-08-13 0:19 ` Matt Helsley
2011-08-14 16:01 ` Oleg Nesterov
2011-08-14 16:17 ` [PATCH 0/2] Send a SIGCHLD to the init's pid namespace parent when reboot Oleg Nesterov
2011-08-14 21:36 ` Serge E. Hallyn
[not found] ` <20110814213642.GB13799-A9i7LUbDfNHQT0dZR+AlfA@public.gmane.org>
2011-08-15 14:47 ` Oleg Nesterov
2011-08-15 14:47 ` Oleg Nesterov
[not found] ` <20110815144744.GA9660-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2011-08-15 17:39 ` Serge E. Hallyn
2011-08-18 23:46 ` Daniel Lezcano
2011-08-15 17:39 ` Serge E. Hallyn
[not found] ` <20110815173940.GA19620-A9i7LUbDfNHQT0dZR+AlfA@public.gmane.org>
2011-08-15 17:50 ` Daniel Lezcano
2011-08-15 17:50 ` Daniel Lezcano
2011-08-18 23:46 ` Daniel Lezcano
[not found] ` <4E4DA461.8030006-GANU6spQydw@public.gmane.org>
2011-08-19 15:24 ` Oleg Nesterov
2011-08-19 15:24 ` Oleg Nesterov
[not found] ` <20110819152416.GA17034-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2011-08-22 12:28 ` Daniel Lezcano
2011-08-22 12:28 ` Daniel Lezcano
[not found] ` <4E524B73.3050704-GANU6spQydw@public.gmane.org>
2011-08-22 15:44 ` Oleg Nesterov
2011-08-22 15:44 ` Oleg Nesterov
[not found] ` <20110822154448.GA8527-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2011-08-22 16:31 ` Bruno Prémont
2011-08-22 16:31 ` Bruno Prémont
[not found] ` <20110822183134.10390b46-hY15tx4IgV39zxVx7UNMDg@public.gmane.org>
2011-08-22 17:39 ` Oleg Nesterov
2011-08-22 17:39 ` Oleg Nesterov
2011-08-22 19:17 ` Bruno Prémont
2011-08-23 13:33 ` Oleg Nesterov [this message]
2011-08-23 14:09 ` Greg Kurz
[not found] ` <1314108566.3465.29.camel-GiB8zCg7hOfDOqzlkpFKJg@public.gmane.org>
2011-08-23 14:29 ` Oleg Nesterov
2011-08-23 14:29 ` Oleg Nesterov
[not found] ` <20110823142914.GA22593-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2011-08-24 19:44 ` Bruno Prémont
2011-08-24 19:44 ` Bruno Prémont
2011-08-25 15:37 ` Oleg Nesterov
[not found] ` <20110824214418.474b24c6-hY15tx4IgV39zxVx7UNMDg@public.gmane.org>
2011-08-25 15:37 ` Oleg Nesterov
[not found] ` <20110823133302.GA19582-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2011-08-23 14:09 ` Greg Kurz
[not found] ` <20110822211716.7c141d5c-hY15tx4IgV39zxVx7UNMDg@public.gmane.org>
2011-08-23 13:33 ` Oleg Nesterov
[not found] ` <20110822173949.GA13242-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2011-08-22 19:17 ` Bruno Prémont
[not found] ` <20110814161707.GB30846-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2011-08-14 21:36 ` Serge E. Hallyn
-- strict thread matches above, loose matches on Subject: below --
2011-08-11 20:23 Daniel Lezcano
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=20110823133302.GA19582@redhat.com \
--to=oleg@redhat.com \
--cc=akpm@linux-foundation.org \
--cc=bonbons@linux-vserver.org \
--cc=containers@lists.linux-foundation.org \
--cc=daniel.lezcano@free.fr \
--cc=linux-kernel@vger.kernel.org \
--cc=serge@hallyn.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.