From: Manish Ahuja <ahuja@austin.ibm.com>
To: linuxppc-dev@ozlabs.org, paulus@samba.org, michael@ellerman.id.au
Cc: mahuja@us.ibm.com, linasvepstas@gmail.com
Subject: [PATCH 7/8] pseries: phyp dump: Tracking memory range freed.
Date: Thu, 28 Feb 2008 18:33:20 -0600 [thread overview]
Message-ID: <47C752D0.7020304@austin.ibm.com> (raw)
In-Reply-To: <47C74A66.1060105@austin.ibm.com>
This patch tracks the size freed. For now it does a simple
rudimentary calculation of the ranges freed. The idea is
to keep it simple at the external shell script level and
send in large chunks for now.
Signed-off-by: Manish Ahuja <mahuja@us.ibm.com>
-----
---
arch/powerpc/platforms/pseries/phyp_dump.c | 35 +++++++++++++++++++++++++++++
1 file changed, 35 insertions(+)
Index: 2.6.25-rc1/arch/powerpc/platforms/pseries/phyp_dump.c
===================================================================
--- 2.6.25-rc1.orig/arch/powerpc/platforms/pseries/phyp_dump.c 2008-02-28 23:36:47.000000000 -0600
+++ 2.6.25-rc1/arch/powerpc/platforms/pseries/phyp_dump.c 2008-02-28 23:36:49.000000000 -0600
@@ -262,6 +262,39 @@ void release_memory_range(unsigned long
}
}
+/**
+ * track_freed_range -- Counts the range being freed.
+ * Once the counter goes to zero, it re-registers dump for
+ * future use.
+ */
+static void
+track_freed_range(unsigned long addr, unsigned long length)
+{
+ static unsigned long scratch_area_size, reserved_area_size;
+
+ if (addr < phyp_dump_info->init_reserve_start)
+ return;
+
+ if ((addr >= phyp_dump_info->init_reserve_start) &&
+ (addr <= phyp_dump_info->init_reserve_start +
+ phyp_dump_info->init_reserve_size))
+ reserved_area_size += length;
+
+ if ((addr >= phyp_dump_info->reserved_scratch_addr) &&
+ (addr <= phyp_dump_info->reserved_scratch_addr +
+ phyp_dump_info->reserved_scratch_size))
+ scratch_area_size += length;
+
+ if ((reserved_area_size == phyp_dump_info->init_reserve_size) &&
+ (scratch_area_size == phyp_dump_info->reserved_scratch_size)) {
+
+ invalidate_last_dump(&phdr,
+ phyp_dump_info->reserved_scratch_addr);
+ register_dump_area(&phdr,
+ phyp_dump_info->reserved_scratch_addr);
+ }
+}
+
/* ------------------------------------------------- */
/**
* sysfs_release_region -- sysfs interface to release memory range.
@@ -286,6 +319,8 @@ static ssize_t store_release_region(stru
if (ret != 2)
return -EINVAL;
+ track_freed_range(start_addr, length);
+
/* Range-check - don't free any reserved memory that
* wasn't reserved for phyp-dump */
if (start_addr < phyp_dump_info->init_reserve_start)
next prev parent reply other threads:[~2008-02-29 0:34 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-02-18 4:53 [PATCH 0/8] pseries: phyp dump: hypervisor-assisted dump Manish Ahuja
2008-02-18 5:34 ` [PATCH 1/8] pseries: phyp dump: Documentation Manish Ahuja
2008-02-18 5:36 ` [PATCH 2/8] pseries: phyp dump: reserve-release proof-of-concept Manish Ahuja
2008-02-18 5:38 ` [PATCH 3/8] pseries: phyp dump: use sysfs to release reserved mem Manish Ahuja
2008-02-18 5:40 ` [PATCH 4/8] pseries: phyp dump: register dump area Manish Ahuja
2008-02-18 5:41 ` [PATCH 5/8] pseries: phyp dump: debugging print routines Manish Ahuja
2008-02-18 5:42 ` [PATCH 6/8] pseries: phyp dump: Invalidate and print dump areas Manish Ahuja
2008-02-18 5:44 ` [PATCH 7/8] pseries: phyp dump: Tracking memory range freed Manish Ahuja
2008-02-18 5:45 ` [PATCH 8/8] pseries: phyp dump: config file Manish Ahuja
2008-02-22 0:53 ` [PATCH 0/8] pseries: phyp dump: hypervisor-assisted dump Michael Ellerman
2008-02-28 23:57 ` Manish Ahuja
2008-02-29 0:22 ` [PATCH 1/8] pseries: phyp dump: Docmentation Manish Ahuja
2008-02-29 0:24 ` [PATCH 2/8] pseries: phyp dump: reserve-release proof-of-concept Manish Ahuja
2008-03-11 1:02 ` Michael Ellerman
2008-03-12 17:52 ` Linas Vepstas
2008-03-13 4:29 ` Manish Ahuja
2008-03-14 4:20 ` Michael Ellerman
2008-03-14 5:19 ` Paul Mackerras
2008-03-11 6:12 ` Paul Mackerras
2008-03-12 0:13 ` Michael Ellerman
2008-03-12 0:53 ` Michael Ellerman
2008-02-29 0:27 ` [PATCH 3/8] pseries: phyp dump: use sysfs to release reserved mem Manish Ahuja
2008-03-11 6:16 ` Paul Mackerras
2008-03-11 16:44 ` Dale Farnsworth
2008-03-12 17:38 ` Linas Vepstas
2008-02-29 0:29 ` [PATCH 4/8] pseries: phyp dump: register dump area Manish Ahuja
2008-03-11 6:17 ` Paul Mackerras
2008-02-29 0:31 ` [PATCH 5/8] pseries: phyp dump: debugging print routines Manish Ahuja
2008-02-29 0:32 ` [PATCH 6/8] pseries: phyp dump: Invalidate and print dump areas Manish Ahuja
2008-03-11 6:19 ` Paul Mackerras
2008-02-29 0:33 ` Manish Ahuja [this message]
2008-02-29 0:35 ` [PATCH 8/8] pseries: phyp dump: config file Manish Ahuja
2008-03-11 6:21 ` Paul Mackerras
2008-03-12 16:36 ` Manish Ahuja
2008-02-29 2:20 ` [PATCH 0/8] pseries: phyp dump: hypervisor-assisted dump Michael Ellerman
2008-03-03 23:37 ` Joel Schopp
-- strict thread matches above, loose matches on Subject: below --
2008-03-21 22:42 Manish Ahuja
2008-03-21 23:47 ` [PATCH 7/8] pseries: phyp dump: Tracking memory range freed Manish Ahuja
2008-01-22 19:12 [PATCH 0/8] pseries: phyp dump: hypervisor-assisted dump Manish Ahuja
2008-01-22 21:07 ` [PATCH 7/8] pseries: phyp dump: Tracking memory range freed Manish Ahuja
2008-01-07 23:45 [PATCH 0/8] pseries: phyp dump: hypervisor-assisted dump Manish Ahuja
2008-02-12 6:31 ` Manish Ahuja
2008-02-12 7:20 ` [PATCH 7/8] pseries: phyp dump: Tracking memory range freed Manish Ahuja
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=47C752D0.7020304@austin.ibm.com \
--to=ahuja@austin.ibm.com \
--cc=linasvepstas@gmail.com \
--cc=linuxppc-dev@ozlabs.org \
--cc=mahuja@us.ibm.com \
--cc=michael@ellerman.id.au \
--cc=paulus@samba.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 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.