Looking at the code in depth the condition for exclusion of cache private seem to exclude cache pages including private pages. The levels cache page ( exclude private ) and cache private (cache page with private) need to be mutually exclusive.The following patch fixes this: Signed-off-by: thayumker at gmail.com diff --git a/makedumpfile.8 b/makedumpfile.8 index b9a3bf0..dd7960b 100644 --- a/makedumpfile.8 +++ b/makedumpfile.8 @@ -138,32 +138,32 @@ by dump_level 11, makedumpfile retries it by dump_level 31. 1 | X | | | | 2 | | X | | | 3 | X | X | | | - 4 | | X | X | | - 5 | X | X | X | | + 4 | | | X | | + 5 | X | | X | | 6 | | X | X | | 7 | X | X | X | | 8 | | | | X | 9 | X | | | X | 10 | | X | | X | 11 | X | X | | X | - 12 | | X | X | X | - 13 | X | X | X | X | + 12 | | | X | X | + 13 | X | | X | X | 14 | | X | X | X | 15 | X | X | X | X | 16 | | | | | X 17 | X | | | | X 18 | | X | | | X 19 | X | X | | | X - 20 | | X | X | | X - 21 | X | X | X | | X + 20 | | | X | | X + 21 | X | | X | | X 22 | | X | X | | X 23 | X | X | X | | X 24 | | | | X | X 25 | X | | | X | X 26 | | X | | X | X 27 | X | X | | X | X - 28 | | X | X | X | X - 29 | X | X | X | X | X + 28 | | | X | X | X + 29 | X | | X | X | X 30 | | X | X | X | X 31 | X | X | X | X | X diff --git a/makedumpfile.c b/makedumpfile.c index 7d0c663..e117f31 100644 --- a/makedumpfile.c +++ b/makedumpfile.c @@ -5015,7 +5015,7 @@ __exclude_unnecessary_pages(unsigned long mem_map, */ else if ((info->dump_level & DL_EXCLUDE_CACHE_PRI) && (isLRU(flags) || isSwapCache(flags)) - && !isAnon(mapping)) { + && isPrivate(flags) && !isAnon(mapping)) { clear_bit_on_2nd_bitmap_for_kernel(pfn); pfn_cache_private++; } or Correct the makedumpfile man making it more explicit so that the end-users can understand.The following patch fixes this: --- a/makedumpfile.8 +++ b/makedumpfile.8 @@ -130,42 +130,43 @@ by dump_level 11, makedumpfile retries it by dump_level 31. .br # makedumpfile \-d 11,31 \-x vmlinux /proc/vmcore dumpfile - dump | zero | cache|cache | user | free - level | page | page |private| data | page + dump | zero | cache page |cache page | user | free + level | page | (exlude priv)|(include priv)| data | page + | | .br \-\-\-\-\-\-\-+\-\-\-\-\-\-+\-\-\-\-\-\-+\-\-\-\-\-\-\-+\-\-\-\-\-\-+\-\-\-\-\-\- - 0 | | | | | - 1 | X | | | | - 2 | | X | | | - 3 | X | X | | | - 4 | | X | X | | - 5 | X | X | X | | - 6 | | X | X | | - 7 | X | X | X | | - 8 | | | | X | - 9 | X | | | X | - 10 | | X | | X | - 11 | X | X | | X | - 12 | | X | X | X | - 13 | X | X | X | X | - 14 | | X | X | X | - 15 | X | X | X | X | - 16 | | | | | X - 17 | X | | | | X - 18 | | X | | | X - 19 | X | X | | | X - 20 | | X | X | | X - 21 | X | X | X | | X - 22 | | X | X | | X - 23 | X | X | X | | X - 24 | | | | X | X - 25 | X | | | X | X - 26 | | X | | X | X - 27 | X | X | | X | X - 28 | | X | X | X | X - 29 | X | X | X | X | X - 30 | | X | X | X | X - 31 | X | X | X | X | X + 0 | | | | | + 1 | X | | | | + 2 | | | X | | + 3 | X | | X | | + 4 | | X | X | | + 5 | X | X | X | | + 6 | | X | X | | + 7 | X | X | X | | + 8 | | | | X | + 9 | X | | | X | + 10 | | | X | X | + 11 | X | | X | X | + 12 | | X | X | X | + 13 | X | X | X | X | + 14 | | X | X | X | + 15 | X | X | X | X | + 16 | | | | | X + 17 | X | | | | X + 18 | | | X | | X + 19 | X | | X | | X + 20 | | X | X | | X + 21 | X | X | X | | X + 22 | | X | X | | X + 23 | X | X | X | | X + 24 | | | | X | X + 25 | X | | | X | X + 26 | | | X | X | X + 27 | X | | X | X | X + 28 | | X | X | X | X + 29 | X | X | X | X | X + 30 | | X | X | X | X + 31 | X | X | X | X | X .TP On Sat, Jul 9, 2011 at 9:49 AM, Thayumanavar S <thayumker at gmail.com> wrote: > I believe that makedumpfile man page which descirbe the dump file and > corressponding page exclusion table appears to have incorrect > inentries ( such as 5&7 having value,likewise 29&31) and not following > the bitmask as mentioned in the code. > Below code fixes this issue. > > Signed-off-by: thayumker at gmail.com > diff --git a/makedumpfile.8 b/makedumpfile.8 > index b9a3bf0..dd7960b 100644 > --- a/makedumpfile.8 > +++ b/makedumpfile.8 > @@ -138,32 +138,32 @@ by dump_level 11, makedumpfile retries it by > dump_level 31. > ? ? ?1 | ?X ? | ? ? ?| ? ? ? | ? ? ?| > ? ? ?2 | ? ? ?| ?X ? | ? ? ? | ? ? ?| > ? ? ?3 | ?X ? | ?X ? | ? ? ? | ? ? ?| > - ? ? 4 | ? ? ?| ?X ? | ?X ? ?| ? ? ?| > - ? ? 5 | ?X ? | ?X ? | ?X ? ?| ? ? ?| > + ? ? 4 | ? ? ?| ? ? ?| ?X ? ?| ? ? ?| > + ? ? 5 | ?X ? | ? ? ?| ?X ? ?| ? ? ?| > ? ? ?6 | ? ? ?| ?X ? | ?X ? ?| ? ? ?| > ? ? ?7 | ?X ? | ?X ? | ?X ? ?| ? ? ?| > ? ? ?8 | ? ? ?| ? ? ?| ? ? ? | ?X ? | > ? ? ?9 | ?X ? | ? ? ?| ? ? ? | ?X ? | > ? ? 10 | ? ? ?| ?X ? | ? ? ? | ?X ? | > ? ? 11 | ?X ? | ?X ? | ? ? ? | ?X ? | > - ? ?12 | ? ? ?| ?X ? | ?X ? ?| ?X ? | > - ? ?13 | ?X ? | ?X ? | ?X ? ?| ?X ? | > + ? ?12 | ? ? ?| ? ? ?| ?X ? ?| ?X ? | > + ? ?13 | ?X ? | ? ? ?| ?X ? ?| ?X ? | > ? ? 14 | ? ? ?| ?X ? | ?X ? ?| ?X ? | > ? ? 15 | ?X ? | ?X ? | ?X ? ?| ?X ? | > ? ? 16 | ? ? ?| ? ? ?| ? ? ? | ? ? ?| ?X > ? ? 17 | ?X ? | ? ? ?| ? ? ? | ? ? ?| ?X > ? ? 18 | ? ? ?| ?X ? | ? ? ? | ? ? ?| ?X > ? ? 19 | ?X ? | ?X ? | ? ? ? | ? ? ?| ?X > - ? ?20 | ? ? ?| ?X ? | ?X ? ?| ? ? ?| ?X > - ? ?21 | ?X ? | ?X ? | ?X ? ?| ? ? ?| ?X > + ? ?20 | ? ? ?| ? ? ?| ?X ? ?| ? ? ?| ?X > + ? ?21 | ?X ? | ? ? ?| ?X ? ?| ? ? ?| ?X > ? ? 22 | ? ? ?| ?X ? | ?X ? ?| ? ? ?| ?X > ? ? 23 | ?X ? | ?X ? | ?X ? ?| ? ? ?| ?X > ? ? 24 | ? ? ?| ? ? ?| ? ? ? | ?X ? | ?X > ? ? 25 | ?X ? | ? ? ?| ? ? ? | ?X ? | ?X > ? ? 26 | ? ? ?| ?X ? | ? ? ? | ?X ? | ?X > ? ? 27 | ?X ? | ?X ? | ? ? ? | ?X ? | ?X > - ? ?28 | ? ? ?| ?X ? | ?X ? ?| ?X ? | ?X > - ? ?29 | ?X ? | ?X ? | ?X ? ?| ?X ? | ?X > + ? ?28 | ? ? ?| ? ? ?| ?X ? ?| ?X ? | ?X > + ? ?29 | ?X ? | ? ? ?| ?X ? ?| ?X ? | ?X > ? ? 30 | ? ? ?| ?X ? | ?X ? ?| ?X ? | ?X > ? ? 31 | ?X ? | ?X ? | ?X ? ?| ?X ? | ?X > -------------- next part -------------- diff --git a/makedumpfile.8 b/makedumpfile.8 index b9a3bf0..dd7960b 100644 --- a/makedumpfile.8 +++ b/makedumpfile.8 @@ -138,32 +138,32 @@ by dump_level 11, makedumpfile retries it by dump_level 31. 1 | X | | | | 2 | | X | | | 3 | X | X | | | - 4 | | X | X | | - 5 | X | X | X | | + 4 | | | X | | + 5 | X | | X | | 6 | | X | X | | 7 | X | X | X | | 8 | | | | X | 9 | X | | | X | 10 | | X | | X | 11 | X | X | | X | - 12 | | X | X | X | - 13 | X | X | X | X | + 12 | | | X | X | + 13 | X | | X | X | 14 | | X | X | X | 15 | X | X | X | X | 16 | | | | | X 17 | X | | | | X 18 | | X | | | X 19 | X | X | | | X - 20 | | X | X | | X - 21 | X | X | X | | X + 20 | | | X | | X + 21 | X | | X | | X 22 | | X | X | | X 23 | X | X | X | | X 24 | | | | X | X 25 | X | | | X | X 26 | | X | | X | X 27 | X | X | | X | X - 28 | | X | X | X | X - 29 | X | X | X | X | X + 28 | | | X | X | X + 29 | X | | X | X | X 30 | | X | X | X | X 31 | X | X | X | X | X diff --git a/makedumpfile.c b/makedumpfile.c index 7d0c663..e117f31 100644 --- a/makedumpfile.c +++ b/makedumpfile.c @@ -5015,7 +5015,7 @@ __exclude_unnecessary_pages(unsigned long mem_map, */ else if ((info->dump_level & DL_EXCLUDE_CACHE_PRI) && (isLRU(flags) || isSwapCache(flags)) - && !isAnon(mapping)) { + && isPrivate(flags) && !isAnon(mapping)) { clear_bit_on_2nd_bitmap_for_kernel(pfn); pfn_cache_private++; } -------------- next part -------------- diff --git a/makedumpfile.8 b/makedumpfile.8 index b9a3bf0..27fe7d2 100644 --- a/makedumpfile.8 +++ b/makedumpfile.8 @@ -130,42 +130,43 @@ by dump_level 11, makedumpfile retries it by dump_level 31. .br # makedumpfile \-d 11,31 \-x vmlinux /proc/vmcore dumpfile - dump | zero | cache|cache | user | free - level | page | page |private| data | page + dump | zero | cache page |cache page | user | free + level | page | (exlude priv)|(include priv)| data | page + | | .br \-\-\-\-\-\-\-+\-\-\-\-\-\-+\-\-\-\-\-\-+\-\-\-\-\-\-\-+\-\-\-\-\-\-+\-\-\-\-\-\- - 0 | | | | | - 1 | X | | | | - 2 | | X | | | - 3 | X | X | | | - 4 | | X | X | | - 5 | X | X | X | | - 6 | | X | X | | - 7 | X | X | X | | - 8 | | | | X | - 9 | X | | | X | - 10 | | X | | X | - 11 | X | X | | X | - 12 | | X | X | X | - 13 | X | X | X | X | - 14 | | X | X | X | - 15 | X | X | X | X | - 16 | | | | | X - 17 | X | | | | X - 18 | | X | | | X - 19 | X | X | | | X - 20 | | X | X | | X - 21 | X | X | X | | X - 22 | | X | X | | X - 23 | X | X | X | | X - 24 | | | | X | X - 25 | X | | | X | X - 26 | | X | | X | X - 27 | X | X | | X | X - 28 | | X | X | X | X - 29 | X | X | X | X | X - 30 | | X | X | X | X - 31 | X | X | X | X | X + 0 | | | | | + 1 | X | | | | + 2 | | | X | | + 3 | X | | X | | + 4 | | X | X | | + 5 | X | X | X | | + 6 | | X | X | | + 7 | X | X | X | | + 8 | | | | X | + 9 | X | | | X | + 10 | | | X | X | + 11 | X | | X | X | + 12 | | X | X | X | + 13 | X | X | X | X | + 14 | | X | X | X | + 15 | X | X | X | X | + 16 | | | | | X + 17 | X | | | | X + 18 | | | X | | X + 19 | X | | X | | X + 20 | | X | X | | X + 21 | X | X | X | | X + 22 | | X | X | | X + 23 | X | X | X | | X + 24 | | | | X | X + 25 | X | | | X | X + 26 | | | X | X | X + 27 | X | | X | X | X + 28 | | X | X | X | X + 29 | X | X | X | X | X + 30 | | X | X | X | X + 31 | X | X | X | X | X .TP