[PATCH]: fix makedumpfile cache page exclusion dump levels.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [LM Sensors]     [Linux Sound]     [ALSA Users]     [ALSA Devel]     [Linux Audio Users]     [Linux Media]     [Kernel]     [Gimp]     [Yosemite News]     [Linux Media]

  Powered by Linux