#ifdef CONFIG_NUMA_BALANCING
        PGPROMOTE_SUCCESS,      /* promote successfully */
        PGPROMOTE_CANDIDATE,    /* candidate pages to promote */
+       /* PGDEMOTE_*: pages demoted */
+       PGDEMOTE_KSWAPD,
+       PGDEMOTE_DIRECT,
+       PGDEMOTE_KHUGEPAGED,
 #endif
        NR_VM_NODE_STAT_ITEMS
 };
 
 
 static int reclaimer_offset(void)
 {
+#ifdef CONFIG_NUMA_BALANCING
        BUILD_BUG_ON(PGSTEAL_DIRECT - PGSTEAL_KSWAPD !=
                        PGDEMOTE_DIRECT - PGDEMOTE_KSWAPD);
-       BUILD_BUG_ON(PGSTEAL_DIRECT - PGSTEAL_KSWAPD !=
-                       PGSCAN_DIRECT - PGSCAN_KSWAPD);
        BUILD_BUG_ON(PGSTEAL_KHUGEPAGED - PGSTEAL_KSWAPD !=
                        PGDEMOTE_KHUGEPAGED - PGDEMOTE_KSWAPD);
+#endif
+       BUILD_BUG_ON(PGSTEAL_DIRECT - PGSTEAL_KSWAPD !=
+                       PGSCAN_DIRECT - PGSCAN_KSWAPD);
        BUILD_BUG_ON(PGSTEAL_KHUGEPAGED - PGSTEAL_KSWAPD !=
                        PGSCAN_KHUGEPAGED - PGSCAN_KSWAPD);
 
        migrate_pages(demote_folios, alloc_demote_folio, NULL,
                      (unsigned long)&mtc, MIGRATE_ASYNC, MR_DEMOTION,
                      &nr_succeeded);
-
-       __count_vm_events(PGDEMOTE_KSWAPD + reclaimer_offset(), nr_succeeded);
+#ifdef CONFIG_NUMA_BALANCING
+       mod_node_page_state(pgdat, PGDEMOTE_KSWAPD + reclaimer_offset(),
+                           nr_succeeded);
+#endif
 
        return nr_succeeded;
 }