[Devel] [PATCH RHEL9 COMMIT] vzstat: Fix incorrect [in]active anon/file memory statistics

Konstantin Khorenko khorenko at virtuozzo.com
Thu Jun 5 12:15:25 MSK 2025


The commit is pushed to "branch-rh9-5.14.0-427.44.1.vz9.80.x-ovz" and will appear at git at bitbucket.org:openvz/vzkernel.git
after rh9-5.14.0-427.44.1.vz9.80.38
------>
commit e576ff384108abc7359c5f3c5cdcd6a51dc21941
Author: Konstantin Khorenko <khorenko at virtuozzo.com>
Date:   Wed Jun 4 13:54:51 2025 +0200

    vzstat: Fix incorrect [in]active anon/file memory statistics
    
    Use contants from correct enums:
       NR_{ACTIVE,INACTIVE}_{ANON,FILE} -> NR_ZONE_{ACTIVE,INACTIVE}_{ANON,FILE}
    
    New enum has been introduced by the commit:
       ms commit 599d0c954f91 ("mm, vmscan: move LRU lists to node")
    
    So before the patch vzstat messed types of memory to report.
    
    Signed-off-by: Konstantin Khorenko <khorenko at virtuozzo.com>
    
    Feature: ve: extra statistics (mm, latency)
---
 kernel/ve/vzstat.c | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/kernel/ve/vzstat.c b/kernel/ve/vzstat.c
index 73063a4189d72..5b83370c7f64d 100644
--- a/kernel/ve/vzstat.c
+++ b/kernel/ve/vzstat.c
@@ -253,10 +253,10 @@ static void update_memory(void)
 
 			present++;
 			nr_free += zone_page_state(zone, NR_FREE_PAGES);
-			nr_active +=  zone_page_state(zone, NR_ACTIVE_ANON) +
-				zone_page_state(zone, NR_ACTIVE_FILE);
-			nr_inactive += zone_page_state(zone, NR_INACTIVE_ANON) +
-				zone_page_state(zone, NR_INACTIVE_FILE);
+			nr_active +=  zone_page_state(zone, NR_ZONE_ACTIVE_ANON) +
+				zone_page_state(zone, NR_ZONE_ACTIVE_FILE);
+			nr_inactive += zone_page_state(zone, NR_ZONE_INACTIVE_ANON) +
+				zone_page_state(zone, NR_ZONE_INACTIVE_FILE);
 		}
 
 		if (!present)
@@ -471,10 +471,10 @@ static void mem_free_areas_show(struct seq_file *m, void *v)
 				zdst->nr_free[order] += zsrc->free_area[order].nr_free;
 			spin_unlock_irqrestore(&zsrc->lock, flags);
 
-			zdst->nr_active     += zone_page_state(zsrc, NR_ACTIVE_ANON) +
-						zone_page_state(zsrc, NR_ACTIVE_FILE);
-			zdst->nr_inactive   += zone_page_state(zsrc, NR_INACTIVE_ANON) +
-						zone_page_state(zsrc, NR_INACTIVE_FILE);
+			zdst->nr_active     += zone_page_state(zsrc, NR_ZONE_ACTIVE_ANON) +
+						zone_page_state(zsrc, NR_ZONE_ACTIVE_FILE);
+			zdst->nr_inactive   += zone_page_state(zsrc, NR_ZONE_INACTIVE_ANON) +
+						zone_page_state(zsrc, NR_ZONE_INACTIVE_FILE);
 			zdst->pages_min     += min_wmark_pages(zsrc);
 			zdst->pages_low     += low_wmark_pages(zsrc);
 			zdst->pages_high    += high_wmark_pages(zsrc);


More information about the Devel mailing list