From: Nigel Cunningham <nigel@suspend2.net>
To: linux-kernel@vger.kernel.org
Subject: [Suspend2][ 08/13] [Suspend2] Prepare and cleanup the storage manager.
Date: Tue, 27 Jun 2006 14:40:52 +1000 [thread overview]
Message-ID: <20060627044051.14778.8375.stgit@nigel.suspend2.net> (raw)
In-Reply-To: <20060627044025.14778.17719.stgit@nigel.suspend2.net>
Start the storage manager at the beginning of a suspend/resume, and clean
it up at the end of a resume or cancelled suspend.
Signed-off-by: Nigel Cunningham <nigel@suspend2.net>
kernel/power/storage.c | 47 +++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 47 insertions(+), 0 deletions(-)
diff --git a/kernel/power/storage.c b/kernel/power/storage.c
index e31623a..fea9276 100644
--- a/kernel/power/storage.c
+++ b/kernel/power/storage.c
@@ -176,3 +176,50 @@ static unsigned long usm_memory_needed(v
return (32 * PAGE_SIZE);
}
+/* suspend_prepare_usm
+ */
+int suspend_prepare_usm(void)
+{
+ usm_prepare_count++;
+
+ if (usm_prepare_count > 1 || usm_ops.disabled)
+ return 0;
+
+ usm_helper_data.pid = -1;
+
+ if (!*usm_helper_data.program)
+ return 0;
+
+ suspend_netlink_setup(&usm_helper_data);
+
+ if (usm_helper_data.pid == -1)
+ printk("Suspend2 Storage Manager wanted, but couldn't start it.\n");
+
+ suspend_activate_storage(0);
+
+ return (usm_helper_data.pid != -1);
+}
+
+void suspend_cleanup_usm(void)
+{
+ usm_prepare_count--;
+
+ if (usm_helper_data.pid > -1 && !usm_prepare_count) {
+ struct task_struct *t;
+
+ suspend_deactivate_storage(0);
+
+ suspend_send_netlink_message(&usm_helper_data,
+ NETLINK_MSG_CLEANUP, NULL, 0);
+
+ read_lock(&tasklist_lock);
+ if ((t = find_task_by_pid(usm_helper_data.pid)))
+ t->flags &= ~PF_NOFREEZE;
+ read_unlock(&tasklist_lock);
+
+ suspend_netlink_close(&usm_helper_data);
+
+ usm_helper_data.pid = -1;
+ }
+}
+
--
Nigel Cunningham nigel at suspend2 dot net
next prev parent reply other threads:[~2006-06-27 4:41 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-06-27 4:40 [Suspend2][ 00/13] Storage manager Nigel Cunningham
2006-06-27 4:40 ` [Suspend2][ 01/13] [Suspend2] Storage.c header Nigel Cunningham
2006-06-27 4:40 ` [Suspend2][ 02/13] [Suspend2] Receive storage manager message Nigel Cunningham
2006-06-27 4:40 ` [Suspend2][ 03/13] [Suspend2] Ask userspace to enable/disable access to our storage Nigel Cunningham
2006-06-27 4:40 ` [Suspend2][ 04/13] [Suspend2] Utility function for testing storage managers Nigel Cunningham
2006-06-27 4:40 ` [Suspend2][ 05/13] [Suspend2] Get storage manager space needed in image header Nigel Cunningham
2006-06-27 4:40 ` [Suspend2][ 06/13] [Suspend2] Serialise storage manager config in an " Nigel Cunningham
2006-06-27 4:40 ` [Suspend2][ 07/13] [Suspend2] Get the amount of memory needed by the storage manager Nigel Cunningham
2006-06-27 4:40 ` Nigel Cunningham [this message]
2006-06-27 4:40 ` [Suspend2][ 09/13] [Suspend2] Manually activate/deactivate " Nigel Cunningham
2006-06-27 4:41 ` [Suspend2][ 10/13] [Suspend2] Storage manager proc entries Nigel Cunningham
2006-06-27 4:41 ` [Suspend2][ 11/13] [Suspend2] Storage manager module ops Nigel Cunningham
2006-06-27 4:41 ` [Suspend2][ 12/13] [Suspend2] Initialisation of the storage manager on load Nigel Cunningham
2006-06-27 4:41 ` [Suspend2][ 13/13] [Suspend2] Storage manager header file Nigel Cunningham
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=20060627044051.14778.8375.stgit@nigel.suspend2.net \
--to=nigel@suspend2.net \
--cc=linux-kernel@vger.kernel.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®