mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Nigel Cunningham <nigel@suspend2.net>
To: linux-kernel@vger.kernel.org
Subject: [Suspend2][ 9/9] [Suspend2] Header file for pagedir functions.
Date: Tue, 27 Jun 2006 08:34:43 +1000	[thread overview]
Message-ID: <20060626223441.3963.89530.stgit@nigel.suspend2.net> (raw)
In-Reply-To: <20060626223412.3963.1484.stgit@nigel.suspend2.net>

kernel/power/pagedir.h declares structures and functions related to
pagedirs. A pagedir is a set of pages that are being stored in part of the
image. It used to be a far more substantial structure, containing a list of
pages. Since the advent of bitmaps, it just has the size. Pagedir.c
contains the routines for allocating and freeing memory when pagedir1 is
larger than pageset2 (generally only init S), marking which pages belong to
which pageset, and for obtaining pages that can safely be used during the
atomic copy.

Signed-off-by: Nigel Cunningham <nigel@suspend2.net>

 kernel/power/pagedir.h |   37 +++++++++++++++++++++++++++++++++++++
 1 files changed, 37 insertions(+), 0 deletions(-)

diff --git a/kernel/power/pagedir.h b/kernel/power/pagedir.h
new file mode 100644
index 0000000..608b29a
--- /dev/null
+++ b/kernel/power/pagedir.h
@@ -0,0 +1,37 @@
+/*
+ * kernel/power/pagedir.h
+ *
+ * Copyright (C) 2004-2006 Nigel Cunningham <nigel@suspend2.net>
+ *
+ * This file is released under the GPLv2.
+ *
+ * Declarations for routines for handling pagesets.
+ */
+
+/* Pagedir
+ *
+ * Contains the metadata for a set of pages saved in the image.
+ */
+
+struct pagedir {
+	long pageset_size;
+	long lastpageset_size;
+};
+
+extern struct pagedir pagedir1, pagedir2;
+
+extern void suspend_copy_pageset1(void);
+
+extern void suspend_free_extra_pagedir_memory(void);
+
+extern int suspend_allocate_extra_pagedir_memory(struct pagedir *p, int pageset_size, int alloc_from);
+
+extern void suspend_mark_task_as_pageset1 (struct task_struct *t);
+extern void suspend_mark_pages_for_pageset2(void);
+
+extern void suspend_relocate_if_required(unsigned long *current_value, unsigned int size);
+extern int suspend_get_pageset1_load_addresses(void);
+
+extern int extra_pagedir_pages_allocated;
+
+extern unsigned long suspend_get_nonconflicting_page(void);

--
Nigel Cunningham		nigel at suspend2 dot net

      parent reply	other threads:[~2006-06-26 23:36 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-06-26 22:34 [Suspend2][ 0/9] Pagedir specific routines Nigel Cunningham
2006-06-26 22:34 ` [Suspend2][ 1/9] [Suspend2] Pagedir.c header Nigel Cunningham
2006-06-26 22:34 ` [Suspend2][ 2/9] [Suspend2] Free extra memory allocated for the atomic copy Nigel Cunningham
2006-06-26 22:34 ` [Suspend2][ 3/9] [Suspend2] Allocate extra memory " Nigel Cunningham
2006-06-26 22:34 ` [Suspend2][ 4/9] [Suspend2] Mark a task as pageset 1 Nigel Cunningham
2006-06-26 22:34 ` [Suspend2][ 5/9] [Suspend2] Mark pages for pageset 2 Nigel Cunningham
2006-06-26 22:34 ` [Suspend2][ 6/9] [Suspend2] Get nonconflicting page Nigel Cunningham
2006-06-26 22:34 ` [Suspend2][ 7/9] [Suspend2] Relocate a piece of memory if required Nigel Cunningham
2006-06-26 22:34 ` [Suspend2][ 8/9] [Suspend2] Get pageset1 load addresses Nigel Cunningham
2006-06-26 22:34 ` Nigel Cunningham [this message]

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=20060626223441.3963.89530.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®