[PATCH RFC v1 3/3] ARM hibernation / suspend-to-disk

Sebastian Capella sebastian.capella at linaro.org
Fri Feb 21 18:59:11 EST 2014

- Cyril Chemparathy as his email is bouncing back to me. 

Quoting Sebastian Capella (2014-02-21 10:39:56)
> Quoting Lorenzo Pieralisi (2014-02-20 08:27:55)
> > > > > +     cpu_switch_mm(idmap_pgd, &init_mm);
  [ ... ]
> I can try removing it and seeing if there are side effects.

FYI, It's definitely hanging with this removed, still looking.

> In this state I believe:
>   - our stack is safe because it's in nosave.
>   - userspace is frozen, those pages are 'don't care', as we're
>     discarding its state.
>   - our instructions and globals are ok, because they're in the
>     same place as last boot and are not getting restored.  None are in
>     modules.
>      - Globals: restore_pblist, idmap_pgd, init_mm, swapper_pg_dir

Sorry, this last bit about the globals is not correct.  Of course
they're getting restored.  What I meant to say is that they shouldn't
be affected by the mmu switch as they remain at the same address.

For our purposes, I think we won't care about their state as we're not
referencing them after we start restoring.  We start the list
with restore_pblist, but after following the initial pointer, we don't
reference it again.  From then on, we're walking safe memory lists.

Sorry for the misleading statements.


More information about the linux-arm-kernel mailing list