From: Pavel Machek <pavel@ucw.cz>
To: Chen Yu <yu.c.chen@intel.com>
Cc: linux-pm@vger.kernel.org, x86@kernel.org,
"Rafael J. Wysocki" <rjw@rjwysocki.net>,
Len Brown <lenb@kernel.org>,
Peter Zijlstra <peterz@infradead.org>,
"H. Peter Anvin" <hpa@zytor.com>, Borislav Petkov <bp@suse.de>,
Brian Gerst <brgerst@gmail.com>,
Thomas Gleixner <tglx@linutronix.de>,
Ingo Molnar <mingo@kernel.org>,
Varun Koyyalagunta <cpudebug@centtech.com>,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH 3/4][RFC v2] PM / hibernate: introduce a flag to indicate resuming from hibernation
Date: Sat, 25 Jun 2016 18:53:02 +0200 [thread overview]
Message-ID: <20160625165302.GC4362@amd> (raw)
In-Reply-To: <d4195120e18af7b097b64b0c45a55187617dc234.1466844557.git.yu.c.chen@intel.com>
On Sun 2016-06-26 00:18:52, Chen Yu wrote:
> Sometime we need to do some operations before resuming from
> hibernation, so introduce a flag to indicate this stage.
>
> Signed-off-by: Chen Yu <yu.c.chen@intel.com>
> ---
> include/linux/suspend.h | 7 +++++++
> kernel/power/hibernate.c | 3 +++
> 2 files changed, 10 insertions(+)
>
> diff --git a/include/linux/suspend.h b/include/linux/suspend.h
> index 8b6ec7e..422e87a 100644
> --- a/include/linux/suspend.h
> +++ b/include/linux/suspend.h
> @@ -384,6 +384,12 @@ extern bool system_entering_hibernation(void);
> extern bool hibernation_available(void);
> asmlinkage int swsusp_save(void);
> extern struct pbe *restore_pblist;
> +extern bool in_resume_hibernate;
in_resume_hibernation? But it is pretty sad if we need another such
state function...
Pavel
> +static inline bool hibernation_in_resume(void)
> +{
> + return in_resume_hibernate;
> +}
> #else /* CONFIG_HIBERNATION */
> static inline void register_nosave_region(unsigned long b, unsigned long e) {}
> static inline void register_nosave_region_late(unsigned long b, unsigned long e) {}
> @@ -395,6 +401,7 @@ static inline void hibernation_set_ops(const struct platform_hibernation_ops *op
> static inline int hibernate(void) { return -ENOSYS; }
> static inline bool system_entering_hibernation(void) { return false; }
> static inline bool hibernation_available(void) { return false; }
> +static inline bool hibernation_in_resume(void) { return false; }
> #endif /* CONFIG_HIBERNATION */
>
> /* Hibernation and suspend events */
> diff --git a/kernel/power/hibernate.c b/kernel/power/hibernate.c
> index fca9254..41be909 100644
> --- a/kernel/power/hibernate.c
> +++ b/kernel/power/hibernate.c
> @@ -43,6 +43,7 @@ static char resume_file[256] = CONFIG_PM_STD_PARTITION;
> dev_t swsusp_resume_device;
> sector_t swsusp_resume_block;
> __visible int in_suspend __nosavedata;
> +bool in_resume_hibernate;
>
> enum {
> HIBERNATION_INVALID,
> @@ -433,6 +434,7 @@ static int resume_target_kernel(bool platform_mode)
> if (error)
> goto Cleanup;
>
> + in_resume_hibernate = true;
> error = disable_nonboot_cpus();
> if (error)
> goto Enable_cpus;
> @@ -474,6 +476,7 @@ static int resume_target_kernel(bool platform_mode)
> local_irq_enable();
>
> Enable_cpus:
> + in_resume_hibernate = false;
> enable_nonboot_cpus();
>
> Cleanup:
--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
next prev parent reply other threads:[~2016-06-25 16:53 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-06-25 16:18 [PATCH 0/4][RFC v2] x86, hotplug: Use hlt instead of mwait when resuming from hibernation Chen Yu
2016-06-25 16:18 ` [PATCH 1/4][RFC v2] PM / sleep: Avoid accessing frozen_cpus if it is NULL Chen Yu
2016-06-25 16:51 ` Pavel Machek
2016-06-26 1:16 ` Chen, Yu C
2016-06-26 4:25 ` Chen, Yu C
2016-06-25 16:18 ` [PATCH 2/4][RFC v2] PM / sleep: Introduce arch-specific hook for disable/enable nonboot cpus Chen Yu
2016-06-25 16:51 ` Pavel Machek
2016-06-26 1:19 ` Chen, Yu C
2016-10-07 19:31 ` Andy Lutomirski
2016-10-08 16:58 ` Chen Yu
2016-10-11 15:42 ` Pavel Machek
2016-06-25 16:18 ` [PATCH 3/4][RFC v2] PM / hibernate: introduce a flag to indicate resuming from hibernation Chen Yu
2016-06-25 16:53 ` Pavel Machek [this message]
2016-06-26 1:34 ` Chen, Yu C
2016-06-25 16:19 ` [PATCH 4/4] x86, hotplug: Use hlt instead of mwait when " Chen Yu
2016-10-07 19:47 ` Andy Lutomirski
2016-10-08 10:31 ` Rafael J. Wysocki
2016-10-16 16:50 ` Andy Lutomirski
2016-10-18 0:30 ` Rafael J. Wysocki
2016-10-18 1:21 ` Andy Lutomirski
2016-10-08 16:54 ` Chen Yu
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=20160625165302.GC4362@amd \
--to=pavel@ucw.cz \
--cc=bp@suse.de \
--cc=brgerst@gmail.com \
--cc=cpudebug@centtech.com \
--cc=hpa@zytor.com \
--cc=lenb@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=peterz@infradead.org \
--cc=rjw@rjwysocki.net \
--cc=tglx@linutronix.de \
--cc=x86@kernel.org \
--cc=yu.c.chen@intel.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.