diff mbox series

Unit mismatch (Slab/SReclaimable/SUnreclaim) in meminfo

Message ID 20211016115429.17226-1-42.hyeyoo@gmail.com (mailing list archive)
State New, archived
Headers show
Series Unit mismatch (Slab/SReclaimable/SUnreclaim) in meminfo | expand

Commit Message

Hyeonggon Yoo Oct. 16, 2021, 11:54 a.m. UTC
Hello, it seems there's mismatch in unit (byte and kB) in meminfo.
Would something like this will be acceptable?

commit d42f3245c7e2 ("mm: memcg: convert vmstat slab counters
to bytes") changed it to bytes but proc seems to print everything in
kilobytes.

---
 fs/proc/meminfo.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Hyeonggon Yoo Oct. 16, 2021, 11:57 a.m. UTC | #1
On Sat, Oct 16, 2021 at 11:54:29AM +0000, Hyeonggon Yoo wrote:
> Hello, it seems there's mismatch in unit (byte and kB) in meminfo.
> Would something like this will be acceptable?
> 
> commit d42f3245c7e2 ("mm: memcg: convert vmstat slab counters
> to bytes") changed it to bytes but proc seems to print everything in
> kilobytes.
> 

This is not actually patch - I'll send you a patch
if this is not my misunderstanding :)

Thanks,
Hyeonggon.

> ---
>  fs/proc/meminfo.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/fs/proc/meminfo.c b/fs/proc/meminfo.c
> index 6fa761c9cc78..182376582076 100644
> --- a/fs/proc/meminfo.c
> +++ b/fs/proc/meminfo.c
> @@ -52,8 +52,8 @@ static int meminfo_proc_show(struct seq_file *m, void *v)
>  		pages[lru] = global_node_page_state(NR_LRU_BASE + lru);
>  
>  	available = si_mem_available();
> -	sreclaimable = global_node_page_state_pages(NR_SLAB_RECLAIMABLE_B);
> -	sunreclaim = global_node_page_state_pages(NR_SLAB_UNRECLAIMABLE_B);
> +	sreclaimable = global_node_page_state_pages(NR_SLAB_RECLAIMABLE_B) / 1024;
> +	sunreclaim = global_node_page_state_pages(NR_SLAB_UNRECLAIMABLE_B) / 1024;
>  
>  	show_val_kb(m, "MemTotal:       ", i.totalram);
>  	show_val_kb(m, "MemFree:        ", i.freeram);
> -- 
> 2.27.0
>
Hyeonggon Yoo Oct. 17, 2021, 4:36 a.m. UTC | #2
On Sat, Oct 16, 2021 at 11:54:29AM +0000, Hyeonggon Yoo wrote:
> Hello, it seems there's mismatch in unit (byte and kB) in meminfo.
> Would something like this will be acceptable?
> 
> commit d42f3245c7e2 ("mm: memcg: convert vmstat slab counters
> to bytes") changed it to bytes but proc seems to print everything in
> kilobytes.
> 

Ignore this.

this was my misunderstanding of code :(
It internally converts to kilobytes when updating its data.

> ---
>  fs/proc/meminfo.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/fs/proc/meminfo.c b/fs/proc/meminfo.c
> index 6fa761c9cc78..182376582076 100644
> --- a/fs/proc/meminfo.c
> +++ b/fs/proc/meminfo.c
> @@ -52,8 +52,8 @@ static int meminfo_proc_show(struct seq_file *m, void *v)
>  		pages[lru] = global_node_page_state(NR_LRU_BASE + lru);
>  
>  	available = si_mem_available();
> -	sreclaimable = global_node_page_state_pages(NR_SLAB_RECLAIMABLE_B);
> -	sunreclaim = global_node_page_state_pages(NR_SLAB_UNRECLAIMABLE_B);
> +	sreclaimable = global_node_page_state_pages(NR_SLAB_RECLAIMABLE_B) / 1024;
> +	sunreclaim = global_node_page_state_pages(NR_SLAB_UNRECLAIMABLE_B) / 1024;
>  
>  	show_val_kb(m, "MemTotal:       ", i.totalram);
>  	show_val_kb(m, "MemFree:        ", i.freeram);
> -- 
> 2.27.0
>
diff mbox series

Patch

diff --git a/fs/proc/meminfo.c b/fs/proc/meminfo.c
index 6fa761c9cc78..182376582076 100644
--- a/fs/proc/meminfo.c
+++ b/fs/proc/meminfo.c
@@ -52,8 +52,8 @@  static int meminfo_proc_show(struct seq_file *m, void *v)
 		pages[lru] = global_node_page_state(NR_LRU_BASE + lru);
 
 	available = si_mem_available();
-	sreclaimable = global_node_page_state_pages(NR_SLAB_RECLAIMABLE_B);
-	sunreclaim = global_node_page_state_pages(NR_SLAB_UNRECLAIMABLE_B);
+	sreclaimable = global_node_page_state_pages(NR_SLAB_RECLAIMABLE_B) / 1024;
+	sunreclaim = global_node_page_state_pages(NR_SLAB_UNRECLAIMABLE_B) / 1024;
 
 	show_val_kb(m, "MemTotal:       ", i.totalram);
 	show_val_kb(m, "MemFree:        ", i.freeram);