mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Takao Indoh <indou.takao@soft.fujitsu.com>
To: OBATA Noboru <noboru.obata.ar@hitachi.com>
Cc: akpm@osdl.org, hyoshiok@miraclelinux.com, linux-kernel@vger.kernel.org
Subject: Re: Linux Kernel Dump Summit 2005
Date: Wed, 19 Oct 2005 12:17:02 +0900	[thread overview]
Message-ID: <C5C5D45B9312EFindou.takao@soft.fujitsu.com> (raw)
In-Reply-To: <20051018.224823.03979969.noboru.obata.ar@hitachi.com>

Hi,

On Tue, 18 Oct 2005 22:48:23 +0900 (JST), OBATA Noboru wrote:

>> The 2nd issue (memory size problem) may be solved by exporting
>> diskdump's functions to kdump.
>
>Could you briefly explain the implementation of partial dump in
>diskdump for those who are not familiar with it?
>
>- Levels of partial dump (supported page categories)
>- How to indentify the category (kernel data structure used)

Ok.
Partial dump of diskdump defines 5 filters.

#define DUMP_EXCLUDE_CACHE 0x00000001 /* Exclude LRU & SwapCache pages*/
#define DUMP_EXCLUDE_CLEAN 0x00000002 /* Exclude all-zero pages */
#define DUMP_EXCLUDE_FREE  0x00000004 /* Exclude free pages */
#define DUMP_EXCLUDE_ANON  0x00000008 /* Exclude Anon pages */
#define DUMP_SAVE_PRIVATE  0x00000010 /* Save private pages */

You can select each filters for partialdump. (Therefore, there are 32
levels of partial dump.)

1) DUMP_EXCLUDE_CACHE

This filter uses only page flags of struct page.
If the following condition is true, the page is not dumped.

	!PageAnon(page) && (PageLRU(page) || PageSwapCache(page))

2) DUMP_EXCLUDE_CLEAN

If this filter is enabled, a page which is filled with zero is not
dumped.

3) DUMP_EXCLUDE_FREE

If this filter is enabled, free pages are not dumped. Diskdump find free
pages from free_list of zone->free_area.

4) DUMP_EXCLUDE_ANON

This filter uses only page flags of struct page.
If the following condition is true,  the page is not dumped.

	PageAnon(page)

5) DUMP_SAVE_PRIVATE

This filter is different from others. Even if you specified
DUMP_EXCLUDE_CACHE, a page which has PG_private flag is dumped if this
filter is enabled.



DUMP_EXCLUDE_FREE has some risks. If this filter is enable, diskdump
scans free page linked lists. If the list is corrupt, diskdump may hang.
Therefore, I always use level-19 (EXCLUDE_CACHE & EXCLUDE_CLEAN &
SAVE_PRIVATE).

DUMP_EXCLUDE_CACHE reduces dump size effectively when file caches on
memory are big. I don't use DUMP_EXCLUDE_ANON because user data(user
stack, thread stack, mutex, etc.) is sometimes needed to investigate
dump.
DUMP_SAVE_PRIVATE is needed for filesystem. Filesystem (journal) uses
PG_private pages, so these pages is necessary to investigate
trouble of filesystem. 

If there are other useful filters, please let me know.


These filters may be able to be used for kdump, but I don't know how I
can find the kernel structure (for example, page flag of struct page)
when kdump dumps memory.


Takao Indoh

  reply	other threads:[~2005-10-19  3:13 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-09-21 11:55 Hiro Yoshioka
2005-10-06 12:17 ` OBATA Noboru
2005-10-06 14:39   ` Hiro Yoshioka
2005-10-10  8:45   ` Pavel Machek
2005-10-12  8:28     ` OBATA Noboru
2005-10-12  9:02       ` Felix Oxley
2005-10-12  9:09         ` Pavel Machek
2005-10-12  9:56           ` Felix Oxley
2005-10-12 10:07             ` Pavel Machek
2005-10-12 18:03               ` Andy Isaacson
2005-10-12 22:34                 ` Felix Oxley
2005-10-12 11:05             ` jerome lacoste
2005-10-12 21:10               ` Felix Oxley
2005-10-18 13:47         ` OBATA Noboru
2005-10-18 14:10           ` Hugh Dickins
2005-10-19 19:00             ` Theodore Ts'o
2005-10-27  7:48               ` OBATA Noboru
2005-10-11  0:49   ` Andrew Morton
2005-10-11  4:41     ` Hiro Yoshioka
2005-10-12  8:30       ` OBATA Noboru
2005-10-13  5:49         ` Maneesh Soni
2005-10-27  7:45           ` OBATA Noboru
2005-10-13 14:28     ` Troy Heber
2005-10-17 11:19     ` Takao Indoh
2005-10-18 13:48       ` OBATA Noboru
2005-10-19  3:17         ` Takao Indoh [this message]
2005-10-27  7:45           ` OBATA Noboru
2005-10-18 14:54     ` Carsten Otte
2005-10-14  9:19 hideki.takahashi

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=C5C5D45B9312EFindou.takao@soft.fujitsu.com \
    --to=indou.takao@soft.fujitsu.com \
    --cc=akpm@osdl.org \
    --cc=hyoshiok@miraclelinux.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=noboru.obata.ar@hitachi.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

Powered by JetHome