Hi Ohmichi-san,
I have been using makedumpfile command and I just realized
that the progress value sometimes went wrong on my ia64 box
with 16G memory. It happens due to overflow. I think the
attached patch fix the bug. If it would be the right way
to fix the bug, please apply it. The patch is for 1.0.2.
Thanks!
Kei
--
Keiichiro Tokunaga
Fujitsu
Ken'ichi Ohmichi wrote:
Hi.
By applying this patchset to the makedumpfile command, it can exclude
free pages from the dumpfile on ia64 system. Please test the latest
makedumpfile command, and tell me your opinion.
The latest makedumpfile(ver. 1.0.2) is based on makedumpfile from
me(2006/10/04) with all my patches applied.
You can get the latest makedumpfile from the following URL.
https://sourceforge.net/projects/makedumpfile/
Only the latest crash utility(ver. 4.0-3.4+) can analyze the dumpfile
created by makedumpfile with this patchset.
[PATCH 01/10] Clean up the declaration of extern
[PATCH 02/10] Clean up the coding style
[PATCH 03/10] Add SYMBOL_INIT()
[PATCH 04/10] Delate an unnecessary symbol
[PATCH 05/10] Clean up the dwarf method
[PATCH 06/10] Clean up the return code
[PATCH 07/10] Add the message of creating configfile
[PATCH 08/10] Add the error message of page_to_pfn()
[PATCH 09/10] Exclude free pages on ia64 (Fix searching zone)
[PATCH 10/10] Update the version info of makedumpfile
Method of installation:
You can compile the makedumpfile command as follows;
1. "tar -zxvf makedumpfile-1.0.2.tar.gz"
2. "cd makedumpfile"
3. "make; make install"
Usage:
makedumpfile [-c] [-E] [-d dump_level] [-x vmlinux] dump_mem dump_file
Example:
If you want to exclude pages filled by zero, cache pages, user pages
and free pages and to enable compression, please execute the following
command.
# makedumpfile -c -d 31 -x vmlinux /proc/vmcore dumpfile
Test environment:
I confirmed this command operated in the following environment.
------------------------------------
arch : i386 (SMP, FLATMEM)
memory: 1GB
kernel: 2.6.17
crash : crash-4.0-3.4
load : nothing
------------------------------------
------------------------------------
arch : ia64 (SMP, SPARSEMEM_EX)
memory: 6.3GB
kernel: 2.6.18
crash : crash-4.0-3.4
load : nothing
------------------------------------
Test result:
The following result was measured when the system was idle.
------------------------------------------------------
arch level compress | run_time file_size(bytes)
-----------------------+------------------------------
i386 "cp command" | 0m11.333s 1,005,650,920
i386 31 off | 0m10.124s 90,361,200
i386 31 on | 0m11.445s 16,223,343
-----------------------+------------------------------
ia64 "cp command" | 1m36.362s 6,312,853,312
ia64 31 off | 0m18.129s 304,412,208
ia64 31 on | 0m17.841s 23,295,583
------------------------------------------------------
Todo:
- Output to a remote host
- Dumping DISCONTIGMEM kernel
Thanks
Ken'ichi Ohmichi
_______________________________________________
fastboot mailing list
[email protected]
https://lists.osdl.org/mailman/listinfo/fastboot
---
makedumpfile-1.0.2-kei/makedumpfile.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff -puN makedumpfile.c~fix-progress makedumpfile.c
--- makedumpfile-1.0.2/makedumpfile.c~fix-progress 2006-10-24
11:32:05.000000000 -0400
+++ makedumpfile-1.0.2-kei/makedumpfile.c 2006-10-24 15:21:01.000000000
-0400
@@ -2650,7 +2650,7 @@ write_dump_header(struct DumpInfo *info)
}
void
-print_progress(int current, int end)
+print_progress(unsigned long long current, unsigned int end)
{
int progress;
time_t tm;
_
_______________________________________________
fastboot mailing list
[email protected]
https://lists.osdl.org/mailman/listinfo/fastboot