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

2014-02-26 Thread Lorenzo Pieralisi
On Wed, Feb 26, 2014 at 05:50:55PM +, Sebastian Capella wrote: > Quoting Lorenzo Pieralisi (2014-02-26 02:24:27) > > On Tue, Feb 25, 2014 at 05:55:31PM +, Sebastian Capella wrote: > > > > Please add: > > > > "swsusp_save() is executed in the suspend finisher so that the CPU context > > po

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

2014-02-26 Thread Lorenzo Pieralisi
On Tue, Feb 25, 2014 at 05:55:31PM +, Sebastian Capella wrote: > Quoting Lorenzo Pieralisi (2014-02-25 03:32:51) > > On Sun, Feb 23, 2014 at 08:02:08PM +, Sebastian Capella wrote: > > > I'll go with leaving the soft_restart as is unless someone feels > > > strongly against. > > > > Leaving

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

2014-02-25 Thread Lorenzo Pieralisi
On Sun, Feb 23, 2014 at 08:02:08PM +, Sebastian Capella wrote: > Quoting Lorenzo Pieralisi (2014-02-22 04:09:10) > > On Sat, Feb 22, 2014 at 10:38:40AM +, Russell King - ARM Linux wrote: > > > On Wed, Feb 19, 2014 at 04:12:54PM +, Lorenzo Pieralisi wrote: > > > > On Wed, Feb 19, 2014 at

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

2014-02-23 Thread Sebastian Capella
Quoting Lorenzo Pieralisi (2014-02-22 04:09:10) > On Sat, Feb 22, 2014 at 10:38:40AM +, Russell King - ARM Linux wrote: > > On Wed, Feb 19, 2014 at 04:12:54PM +, Lorenzo Pieralisi wrote: > > > On Wed, Feb 19, 2014 at 01:52:09AM +, Sebastian Capella wrote: > > > > +/* > > > > + * Snapsho

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

2014-02-23 Thread Sebastian Capella
Quoting Lorenzo Pieralisi (2014-02-22 04:09:10) > On Sat, Feb 22, 2014 at 10:38:40AM +, Russell King - ARM Linux wrote: > > On Wed, Feb 19, 2014 at 04:12:54PM +, Lorenzo Pieralisi wrote: > > > > + cpu_switch_mm(idmap_pgd, &init_mm); > > > > You need the idmap_pgd in place to call cpu_resume

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

2014-02-22 Thread Pavel Machek
On Sat 2014-02-22 10:16:55, Russell King - ARM Linux wrote: > On Thu, Feb 20, 2014 at 04:27:55PM +, Lorenzo Pieralisi wrote: > > I still do not understand why switching to idmap, which is a clone of > > init_mm + 1:1 kernel mappings is required here. Why idmap ? > > > > And while at it, can't

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

2014-02-22 Thread Pavel Machek
Hi! > > return from the finisher will always be interpreted as an abort rather > > than success (because the state has to be unwound.) > > > > This is the only way to get a zero return from cpu_suspend(). > > Yes, that's the only reason why this code is jumping to cpu_resume, since > all it is n

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

2014-02-22 Thread Lorenzo Pieralisi
On Sat, Feb 22, 2014 at 10:16:55AM +, Russell King - ARM Linux wrote: > On Thu, Feb 20, 2014 at 04:27:55PM +, Lorenzo Pieralisi wrote: > > I still do not understand why switching to idmap, which is a clone of > > init_mm + 1:1 kernel mappings is required here. Why idmap ? > > > > And while

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

2014-02-22 Thread Lorenzo Pieralisi
On Sat, Feb 22, 2014 at 10:38:40AM +, Russell King - ARM Linux wrote: > On Wed, Feb 19, 2014 at 04:12:54PM +, Lorenzo Pieralisi wrote: > > On Wed, Feb 19, 2014 at 01:52:09AM +, Sebastian Capella wrote: > > > +/* > > > + * Snapshot kernel memory and reset the system. > > > + * After resu

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

2014-02-22 Thread Russell King - ARM Linux
On Wed, Feb 19, 2014 at 04:12:54PM +, Lorenzo Pieralisi wrote: > On Wed, Feb 19, 2014 at 01:52:09AM +, Sebastian Capella wrote: > > +/* > > + * Snapshot kernel memory and reset the system. > > + * After resume, the hibernation snapshot is written out. > > + */ > > +static int notrace __swsu

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

2014-02-22 Thread Russell King - ARM Linux
On Fri, Feb 21, 2014 at 10:46:59PM -0800, Russ Dill wrote: > If there is worry about this, you could setup a page mapping in a > __nosave region, preventing it from being overwritten. Why would we need _another_ set of pages tables? Aren't two (swapper_pg_dir and the idmap one) enough? You do ne

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

2014-02-22 Thread Russell King - ARM Linux
On Thu, Feb 20, 2014 at 04:27:55PM +, Lorenzo Pieralisi wrote: > I still do not understand why switching to idmap, which is a clone of > init_mm + 1:1 kernel mappings is required here. Why idmap ? > > And while at it, can't the idmap be overwritten _while_ copying back the > resume kernel ? Is

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

2014-02-21 Thread Russ Dill
On 02/21/2014 08:37 PM, Sebastian Capella wrote: > Quoting Sebastian Capella (2014-02-21 15:59:11) >> - 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

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

2014-02-20 Thread Lorenzo Pieralisi
Hi Sebastian, On Wed, Feb 19, 2014 at 07:33:15PM +, Sebastian Capella wrote: > Quoting Lorenzo Pieralisi (2014-02-19 08:12:54) > > On Wed, Feb 19, 2014 at 01:52:09AM +, Sebastian Capella wrote: > > [...] > > > diff --git a/arch/arm/kernel/hibernate.c b/arch/arm/kernel/hibernate.c > > > new

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

2014-02-20 Thread Lorenzo Pieralisi
On Wed, Feb 19, 2014 at 07:10:31PM +, Russ Dill wrote: > -BEGIN PGP SIGNED MESSAGE- > Hash: SHA1 > > On 02/19/2014 08:12 AM, Lorenzo Pieralisi wrote: > > + * https://patchwork.kernel.org/patch/96442/ > I am guessing the snippets of code your comments refer to. > I think the idea h

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

2014-02-19 Thread Russ Dill
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 02/19/2014 08:12 AM, Lorenzo Pieralisi wrote: + * https://patchwork.kernel.org/patch/96442/ I think the idea here is to get the CPU into a state so that later when we resume from the resume kernel, the actual CPU state matches the state we have

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

2014-02-19 Thread Lorenzo Pieralisi
On Wed, Feb 19, 2014 at 01:52:09AM +, Sebastian Capella wrote: [...] > diff --git a/arch/arm/kernel/hibernate.c b/arch/arm/kernel/hibernate.c > new file mode 100644 > index 000..16f406f > --- /dev/null > +++ b/arch/arm/kernel/hibernate.c > @@ -0,0 +1,106 @@ > +/* > + * Hibernation support

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

2014-02-18 Thread Sebastian Capella
From: Russ Dill Enable hibernation for ARM architectures and provide ARM architecture specific calls used during hibernation. The swsusp hibernation framework depends on the platform first having functional suspend/resume. Then, in order to enable hibernation on a given platform, a platform_hib