CMA: add the amount of cma memory in meminfo
Subsystems (4)
PATCH 1/1 CMA: add the amount of cma memory in meminfo
Add the amount of cma memory in the following meminfo. /proc/meminfo /sys/devices/system/node/nodeXX/meminfo
--- drivers/base/node.c | 16 ++++++++++------ fs/proc/meminfo.c | 12 +++++++++--- 2 files changed, 19 insertions(+), 9 deletions(-)
drivers/base/node.c +10 -6
@@ -120,6 +120,9 @@ static ssize_t node_read_meminfo(struct device *dev,#ifdef CONFIG_TRANSPARENT_HUGEPAGE "Node %d AnonHugePages: %8lu kB\n"#endif +#ifdef CONFIG_CMA +"Node %d FreeCMAPages: %8lu kB\n" +#endif , nid,K (node_page_state (nid,NR_FILE_DIRTY )), nid, K(node_page_state(nid, NR_WRITEBACK)),
@@ -136,14 +139,15 @@ static ssize_t node_read_meminfo(struct device *dev, nid,K (node_page_state (nid,NR_SLAB_RECLAIMABLE ) +node_page_state (nid,NR_SLAB_UNRECLAIMABLE )), nid,K (node_page_state (nid,NR_SLAB_RECLAIMABLE )), -#ifdef CONFIG_TRANSPARENT_HUGEPAGE nid,K (node_page_state (nid,NR_SLAB_UNRECLAIMABLE )) - , nid, -K (node_page_state (nid,NR_ANON_TRANSPARENT_HUGEPAGES ) * - HPAGE_PMD_NR)); -#else - nid, K(node_page_state(nid, NR_SLAB_UNRECLAIMABLE))); +#ifdef CONFIG_TRANSPARENT_HUGEPAGE + , nid,K (node_page_state (nid, +NR_ANON_TRANSPARENT_HUGEPAGES ) *HPAGE_PMD_NR ) +#endif +#ifdef CONFIG_CMA + , nid,K (node_page_state (nid,NR_FREE_CMA_PAGES )) #endif + ); n +=hugetlb_report_node_meminfo (nid, buf + n);return n; }
fs/proc/meminfo.c +9 -3
@@ -138,6 +138,9 @@ static int meminfo_proc_show(struct seq_file *m, void *v)#ifdef CONFIG_TRANSPARENT_HUGEPAGE "AnonHugePages: %8lu kB\n"#endif +#ifdef CONFIG_CMA +"FreeCMAPages: %8lu kB\n" +#endif ,K (i.totalram), K(i.freeram),
@@ -187,11 +190,14 @@ static int meminfo_proc_show(struct seq_file *m, void *v) vmi.used >>10 , vmi.largest_chunk >> 10 #ifdef CONFIG_MEMORY_FAILURE - ,atomic_long_read (&num_poisoned_pages) << (PAGE_SHIFT -10 ) + ,atomic_long_read (&num_poisoned_pages) << (PAGE_SHIFT -10 ) #endif #ifdef CONFIG_TRANSPARENT_HUGEPAGE - ,K (global_page_state (NR_ANON_TRANSPARENT_HUGEPAGES ) * -HPAGE_PMD_NR ) + ,K (global_page_state (NR_ANON_TRANSPARENT_HUGEPAGES ) * +HPAGE_PMD_NR ) +#endif +#ifdef CONFIG_CMA + ,K (global_page_state (NR_FREE_CMA_PAGES )) #endif );
Signature · 1 line
2.0.0
Quoted 25 lines · Xishi Qiu
Add the amount of cma memory in the following meminfo.
/proc/meminfo/sys/devices/system/node/nodeXX/meminfoSigned-off-by Xishi Qiu <[email protected]>--- drivers/base/node.c | 16 ++++++++++------ fs/proc/meminfo.c | 12 +++++++++--- 2 files changed, 19 insertions(+), 9 deletions(-)drivers/base/node.c +3
-0@@ -120,6 +120,9 @@ static ssize_t node_read_meminfo(struct device *dev,#ifdef CONFIG_TRANSPARENT_HUGEPAGE "Node %d AnonHugePages: %8lu kB\n"#endif +#ifdef CONFIG_CMA +"Node %d FreeCMAPages: %8lu kB\n" +#endif , nid,K (node_page_state (nid,NR_FILE_DIRTY )), nid, K(node_page_state(nid, NR_WRITEBACK)),
drivers/base/node.c static ssize_t node_read_meminfo(struct device *dev, · line 142
Quoted 5 lines
drivers/base/node.c +0
-1@@ -136,14 +139,15 @@ static ssize_t node_read_meminfo(struct device *dev, nid,K (node_page_state (nid,NR_SLAB_RECLAIMABLE ) +node_page_state (nid,NR_SLAB_UNRECLAIMABLE )), nid,K (node_page_state (nid,NR_SLAB_RECLAIMABLE )), -#ifdef CONFIG_TRANSPARENT_HUGEPAGE nid,K (node_page_state (nid,NR_SLAB_UNRECLAIMABLE ))
Why is this line suddenly out of “#ifdef CONFIG_TRANSPARENT_HUGEPAGE”?
drivers/base/node.c static ssize_t node_read_meminfo(struct device *dev, · line 145
Quoted 8 lines
drivers/base/node.c +3
-5- , nid, -K (node_page_state (nid,NR_ANON_TRANSPARENT_HUGEPAGES ) * - HPAGE_PMD_NR)); -#else - nid, K(node_page_state(nid, NR_SLAB_UNRECLAIMABLE))); +#ifdef CONFIG_TRANSPARENT_HUGEPAGE + , nid, K(node_page_state(nid, +NR_ANON_TRANSPARENT_HUGEPAGES ) *HPAGE_PMD_NR )
This is mere white-space change which is confusing.
Quoted 25 lines
drivers/base/node.c +4
-0+#endif +#ifdef CONFIG_CMA + , nid, K(node_page_state(nid, NR_FREE_CMA_PAGES)) #endif + ); n +=hugetlb_report_node_meminfo (nid, buf + n); return n; }fs/proc/meminfo.c +3
-0@@ -138,6 +138,9 @@ static int meminfo_proc_show(struct seq_file *m, void *v)#ifdef CONFIG_TRANSPARENT_HUGEPAGE "AnonHugePages: %8lu kB\n"#endif +#ifdef CONFIG_CMA +"FreeCMAPages: %8lu kB\n" +#endif ,K (i.totalram), K(i.freeram),@@ -187,11 +190,14 @@ static int meminfo_proc_show(struct seq_file *m, void *v) vmi.used >>10 , vmi.largest_chunk >>10
fs/proc/meminfo.c static int meminfo_proc_show(struct seq_file *m, void *v) · line 198
Quoted 10 lines
fs/proc/meminfo.c +4
-3#ifdef CONFIG_MEMORY_FAILURE - ,atomic_long_read(&num_poisoned_pages) << (PAGE_SHIFT - 10) + , atomic_long_read(&num_poisoned_pages) << (PAGE_SHIFT - 10)#endif #ifdef CONFIG_TRANSPARENT_HUGEPAGE - ,K(global_page_state(NR_ANON_TRANSPARENT_HUGEPAGES) * -HPAGE_PMD_NR ) + , K(global_page_state(NR_ANON_TRANSPARENT_HUGEPAGES) * + HPAGE_PMD_NR) +#endif
Again, please don't include white space changes. They are confusing.
Quoted 9 lines
fs/proc/meminfo.c +2
-0+#ifdef CONFIG_CMA + , K(global_page_state(NR_FREE_CMA_PAGES)) #endif );Signature · 1 line
2.0.0
Signature · 10 lines
Best regards, _ _ .o. | Liege of Serenely Enlightened Majesty of o' \,=./ `o ..o | Computer Science, Michał “mina86” Nazarewicz (o o) ooo +--<[email protected]>--<xmpp:[email protected]>--ooO--(_)--Ooo-- -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to [email protected]. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"[email protected]"> [email protected] </a>
Quoted 25 lines · Michal Nazarewicz
Quoted 24 lines · Xishi Qiu
Add the amount of cma memory in the following meminfo.
/proc/meminfo/sys/devices/system/node/nodeXX/meminfoSigned-off-by Xishi Qiu <[email protected]>--- drivers/base/node.c | 16 ++++++++++------ fs/proc/meminfo.c | 12 +++++++++--- 2 files changed, 19 insertions(+), 9 deletions(-)drivers/base/node.c +3
-0@@ -120,6 +120,9 @@ static ssize_t node_read_meminfo(struct device *dev,#ifdef CONFIG_TRANSPARENT_HUGEPAGE "Node %d AnonHugePages: %8lu kB\n"#endif +#ifdef CONFIG_CMA +"Node %d FreeCMAPages: %8lu kB\n" +#endif , nid,K (node_page_state (nid,NR_FILE_DIRTY )), nid, K(node_page_state(nid, NR_WRITEBACK)),
Quoted 9 lines
drivers/base/node.c static ssize_t node_read_meminfo(struct device *dev, · line 142
Quoted 6 lines
drivers/base/node.c +0
-1@@ -136,14 +139,15 @@ static ssize_t node_read_meminfo(struct device *dev, nid,K (node_page_state (nid,NR_SLAB_RECLAIMABLE ) +node_page_state (nid,NR_SLAB_UNRECLAIMABLE )), nid,K (node_page_state (nid,NR_SLAB_RECLAIMABLE )), -#ifdef CONFIG_TRANSPARENT_HUGEPAGE nid,K (node_page_state (nid,NR_SLAB_UNRECLAIMABLE ))Why is this line suddenly out of “#ifdef CONFIG_TRANSPARENT_HUGEPAGE”?
Hi Michal,
The original code is like this.
... #ifdef CONFIG_TRANSPARENT_HUGEPAGE nid, K(node_page_state(nid, NR_SLAB_UNRECLAIMABLE)) , nid, K(node_page_state(nid, NR_ANON_TRANSPARENT_HUGEPAGES) * HPAGE_PMD_NR)); #else nid, K(node_page_state(nid, NR_SLAB_UNRECLAIMABLE))); #endif ...
I change it to like this, just move ");" out of the "#ifdef".
...
nid, K(node_page_state(nid, NR_SLAB_UNRECLAIMABLE))
#ifdef CONFIG_TRANSPARENT_HUGEPAGE
, nid, K(node_page_state(nid,
NR_ANON_TRANSPARENT_HUGEPAGES) * HPAGE_PMD_NR)
#endif
);
...Quoted 11 lines
drivers/base/node.c static ssize_t node_read_meminfo(struct device *dev, · line 145
Quoted 8 lines
drivers/base/node.c +3
-5- , nid, -K (node_page_state (nid,NR_ANON_TRANSPARENT_HUGEPAGES ) * - HPAGE_PMD_NR)); -#else - nid, K(node_page_state(nid, NR_SLAB_UNRECLAIMABLE))); +#ifdef CONFIG_TRANSPARENT_HUGEPAGE + , nid, K(node_page_state(nid, +NR_ANON_TRANSPARENT_HUGEPAGES ) *HPAGE_PMD_NR )This is mere white-space change which is confusing.
you mean change like this ", nid, K(...)" -> ",nid, K(xxx)"?
Thanks,
Xishi Qiu
Quoted 48 lines
Quoted 25 lines
drivers/base/node.c +4
-0+#endif +#ifdef CONFIG_CMA + , nid, K(node_page_state(nid, NR_FREE_CMA_PAGES)) #endif + ); n +=hugetlb_report_node_meminfo (nid, buf + n); return n; }fs/proc/meminfo.c +3
-0@@ -138,6 +138,9 @@ static int meminfo_proc_show(struct seq_file *m, void *v)#ifdef CONFIG_TRANSPARENT_HUGEPAGE "AnonHugePages: %8lu kB\n"#endif +#ifdef CONFIG_CMA +"FreeCMAPages: %8lu kB\n" +#endif ,K (i.totalram), K(i.freeram),@@ -187,11 +190,14 @@ static int meminfo_proc_show(struct seq_file *m, void *v) vmi.used >>10 , vmi.largest_chunk >>10 fs/proc/meminfo.c static int meminfo_proc_show(struct seq_file *m, void *v) · line 198
Quoted 10 lines
fs/proc/meminfo.c +4
-3#ifdef CONFIG_MEMORY_FAILURE - ,atomic_long_read(&num_poisoned_pages) << (PAGE_SHIFT - 10) + , atomic_long_read(&num_poisoned_pages) << (PAGE_SHIFT - 10)#endif #ifdef CONFIG_TRANSPARENT_HUGEPAGE - ,K(global_page_state(NR_ANON_TRANSPARENT_HUGEPAGES) * -HPAGE_PMD_NR ) + , K(global_page_state(NR_ANON_TRANSPARENT_HUGEPAGES) * + HPAGE_PMD_NR) +#endif Again, please don't include white space changes. They are confusing.
Quoted 9 lines
fs/proc/meminfo.c +2
-0+#ifdef CONFIG_CMA + , K(global_page_state(NR_FREE_CMA_PAGES)) #endif );Signature · 1 line
2.0.0
Quoted 5 lines · Xishi Qiu
Add the amount of cma memory in the following meminfo.
/proc/meminfo/sys/devices/system/node/nodeXX/meminfoSigned-off-by Xishi Qiu <[email protected]>
No second look:
Quoted 77 lines
--- drivers/base/node.c | 16 ++++++++++------ fs/proc/meminfo.c | 12 +++++++++--- 2 files changed, 19 insertions(+), 9 deletions(-)drivers/base/node.c +10
-6@@ -120,6 +120,9 @@ static ssize_t node_read_meminfo(struct device *dev,#ifdef CONFIG_TRANSPARENT_HUGEPAGE "Node %d AnonHugePages: %8lu kB\n"#endif +#ifdef CONFIG_CMA +"Node %d FreeCMAPages: %8lu kB\n" +#endif , nid,K (node_page_state (nid,NR_FILE_DIRTY )), nid, K(node_page_state(nid, NR_WRITEBACK)),@@ -136,14 +139,15 @@ static ssize_t node_read_meminfo(struct device *dev, nid,K (node_page_state (nid,NR_SLAB_RECLAIMABLE ) +node_page_state (nid,NR_SLAB_UNRECLAIMABLE )), nid,K (node_page_state (nid,NR_SLAB_RECLAIMABLE )), -#ifdef CONFIG_TRANSPARENT_HUGEPAGE nid,K (node_page_state (nid,NR_SLAB_UNRECLAIMABLE )) - , nid, -K (node_page_state (nid,NR_ANON_TRANSPARENT_HUGEPAGES ) * - HPAGE_PMD_NR)); -#else - nid, K(node_page_state(nid, NR_SLAB_UNRECLAIMABLE))); +#ifdef CONFIG_TRANSPARENT_HUGEPAGE + , nid,K (node_page_state (nid, +NR_ANON_TRANSPARENT_HUGEPAGES ) *HPAGE_PMD_NR ) +#endif +#ifdef CONFIG_CMA + , nid,K (node_page_state (nid,NR_FREE_CMA_PAGES )) #endif + ); n +=hugetlb_report_node_meminfo (nid, buf + n);return n; }fs/proc/meminfo.c +9
-3@@ -138,6 +138,9 @@ static int meminfo_proc_show(struct seq_file *m, void *v)#ifdef CONFIG_TRANSPARENT_HUGEPAGE "AnonHugePages: %8lu kB\n"#endif +#ifdef CONFIG_CMA +"FreeCMAPages: %8lu kB\n" +#endif ,K (i.totalram), K(i.freeram),@@ -187,11 +190,14 @@ static int meminfo_proc_show(struct seq_file *m, void *v) vmi.used >>10 , vmi.largest_chunk >> 10 #ifdef CONFIG_MEMORY_FAILURE - ,atomic_long_read (&num_poisoned_pages) << (PAGE_SHIFT -10 ) + ,atomic_long_read (&num_poisoned_pages) << (PAGE_SHIFT -10 ) #endif #ifdef CONFIG_TRANSPARENT_HUGEPAGE - ,K (global_page_state (NR_ANON_TRANSPARENT_HUGEPAGES ) * -HPAGE_PMD_NR ) + ,K (global_page_state (NR_ANON_TRANSPARENT_HUGEPAGES ) * +HPAGE_PMD_NR ) +#endif +#ifdef CONFIG_CMA + ,K (global_page_state (NR_FREE_CMA_PAGES )) #endif );Signature · 1 line
2.0.0
Signature · 10 lines
Best regards, _ _ .o. | Liege of Serenely Enlightened Majesty of o' \,=./ `o ..o | Computer Science, Michał “mina86” Nazarewicz (o o) ooo +--<[email protected]>--<xmpp:[email protected]>--ooO--(_)--Ooo-- -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to [email protected]. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"[email protected]"> [email protected] </a>
Quoted 36 lines · Michal Nazarewicz
Quoted 5 lines · Xishi Qiu
Add the amount of cma memory in the following meminfo.
/proc/meminfo/sys/devices/system/node/nodeXX/meminfoSigned-off-by Xishi Qiu <[email protected]>No second look:
Quoted 25 lines
--- drivers/base/node.c | 16 ++++++++++------ fs/proc/meminfo.c | 12 +++++++++--- 2 files changed, 19 insertions(+), 9 deletions(-)drivers/base/node.c +3
-1@@ -120,6 +120,9 @@ static ssize_t node_read_meminfo(struct device *dev,#ifdef CONFIG_TRANSPARENT_HUGEPAGE "Node %d AnonHugePages: %8lu kB\n"#endif +#ifdef CONFIG_CMA +"Node %d FreeCMAPages: %8lu kB\n" +#endif , nid,K (node_page_state (nid,NR_FILE_DIRTY )), nid, K(node_page_state(nid, NR_WRITEBACK)),@@ -136,14 +139,15 @@ static ssize_t node_read_meminfo(struct device *dev, nid,K (node_page_state (nid,NR_SLAB_RECLAIMABLE ) +node_page_state (nid,NR_SLAB_UNRECLAIMABLE )), nid,K (node_page_state (nid,NR_SLAB_RECLAIMABLE )), -#ifdef CONFIG_TRANSPARENT_HUGEPAGE nid,K (node_page_state (nid,NR_SLAB_UNRECLAIMABLE ))
Quoted 8 lines
drivers/base/node.c static ssize_t node_read_meminfo(struct device *dev, · line 145
Quoted 8 lines
drivers/base/node.c +3
-5- , nid, -K (node_page_state (nid,NR_ANON_TRANSPARENT_HUGEPAGES ) * - HPAGE_PMD_NR)); -#else - nid, K(node_page_state(nid, NR_SLAB_UNRECLAIMABLE))); +#ifdef CONFIG_TRANSPARENT_HUGEPAGE + , nid, K(node_page_state(nid, +NR_ANON_TRANSPARENT_HUGEPAGES ) *HPAGE_PMD_NR )
Hi Michal,
The "mere white-space change" you said a few days ago,how about change like this ", nid, K(...)" -> ",nid, K(xxx)"?
Thanks,
Xishi Qiu
Quoted 45 lines
Quoted 44 lines
drivers/base/node.c +4
-0+#endif +#ifdef CONFIG_CMA + , nid, K(node_page_state(nid, NR_FREE_CMA_PAGES)) #endif + ); n +=hugetlb_report_node_meminfo (nid, buf + n); return n; }fs/proc/meminfo.c +9
-3@@ -138,6 +138,9 @@ static int meminfo_proc_show(struct seq_file *m, void *v)#ifdef CONFIG_TRANSPARENT_HUGEPAGE "AnonHugePages: %8lu kB\n"#endif +#ifdef CONFIG_CMA +"FreeCMAPages: %8lu kB\n" +#endif ,K (i.totalram), K(i.freeram),@@ -187,11 +190,14 @@ static int meminfo_proc_show(struct seq_file *m, void *v) vmi.used >>10 , vmi.largest_chunk >> 10 #ifdef CONFIG_MEMORY_FAILURE - ,atomic_long_read (&num_poisoned_pages) << (PAGE_SHIFT -10 ) + ,atomic_long_read (&num_poisoned_pages) << (PAGE_SHIFT -10 ) #endif #ifdef CONFIG_TRANSPARENT_HUGEPAGE - ,K (global_page_state (NR_ANON_TRANSPARENT_HUGEPAGES ) * -HPAGE_PMD_NR ) + ,K (global_page_state (NR_ANON_TRANSPARENT_HUGEPAGES ) * +HPAGE_PMD_NR ) +#endif +#ifdef CONFIG_CMA + ,K (global_page_state (NR_FREE_CMA_PAGES )) #endif );Signature · 1 line
2.0.0
Quoted 2 lines · Xishi Qiu
The "mere white-space change" you said a few days ago,how about change like this ", nid, K(...)" -> ",nid, K(xxx)"?
If space is all you're changing, I wouldn't change it.
Signature · 10 lines
Best regards, _ _ .o. | Liege of Serenely Enlightened Majesty of o' \,=./ `o ..o | Computer Science, Michał “mina86” Nazarewicz (o o) ooo +--<[email protected]>--<xmpp:[email protected]>--ooO--(_)--Ooo-- -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to [email protected]. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"[email protected]"> [email protected] </a>