[PATCH] lguest: move process freezing before pending signals check

From: Michal Hocko
Date: Tue Sep 27 2011 - 03:03:33 EST


On Tue 27-09-11 11:51:00, Rusty Russell wrote:
> On Mon, 26 Sep 2011 13:05:59 +0200, Michal Hocko <mhocko@xxxxxxx> wrote:
> > On Mon 26-09-11 19:58:50, Rusty Russell wrote:
> > > On Mon, 26 Sep 2011 10:28:37 +0200, Michal Hocko <mhocko@xxxxxxx> wrote:
> > > > On Fri 26-08-11 11:13:40, David Rientjes wrote:
> > > > > I'd love to be able to do a thaw on a PF_FROZEN task in the oom killer
> > > > > followed by a SIGKILL if that task is selected for oom kill without an
> > > > > heuristic change. Not sure if that's possible, so we'll wait for Rafael
> > > > > to chime in.
> > > >
> > > > We have discussed that with Rafael and it should be safe to do that. See
> > > > the patch bellow.
> > > > The only place I am not entirely sure about is run_guest
> > > > (drivers/lguest/core.c). It seems that the code is able to cope with
> > > > signals but it also calls lguest_arch_run_guest after try_to_freeze.
> > >
> > > Yes; if you want to kill things in the refrigerator(), then will a
> > >
> > > if (cpu->lg->dead || task_is_dead(current))
> > > break;
> > >
> > > Work?
> >
> > The task is not dead yet. We should rather check for pending signals.
> > Can we just move try_to_freeze up before the pending signals check?
>
> Yep, that works.
>
> Acked-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx>

Thanks.
The full patch bellow:
---