[RFC] Re: [PROBLEM] mm/vmstat.c:34:12: error: ‘vmstat_late_init_done’ defined but not used [-Werror=unused-variable]

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

 



On 8/14/24 00:03, Mirsad Todorovac wrote:
> Hi, all,
> 
> Now, the "randconfig" seed KCONFIG_SEED=0x44AB31A6 revealed another bug:
> 
> mm/vmstat.c:34:12: error: ‘vmstat_late_init_done’ defined but not used [-Werror=unused-variable]
>    34 | static int vmstat_late_init_done;
>       |            ^~~~~~~~~~~~~~~~~~~~~
> 
> Apparently, it is obviously wrong because it is used below:
> 
> Fixes: ef534a0d51984 ("mm/vmstat: defer the refresh_zone_stat_thresholds after all CPUs bringu")
> 
> #ifdef .. #endif forest might be better documented, but this small fix makes it running
> again:
> 
> -----------------------------------------------------><----------------------------------
> diff --git a/mm/vmstat.c b/mm/vmstat.c
> index e361c2b3a8bc..85b3fc0084a8 100644
> --- a/mm/vmstat.c
> +++ b/mm/vmstat.c
> @@ -31,7 +31,10 @@
> 
>  #include "internal.h"
> 
> +#ifdef CONFIG_SMP
>  static int vmstat_late_init_done;
> +#endif /* CONFIG_SMP */
> +
>  #ifdef CONFIG_NUMA
>  int sysctl_vm_numa_stat = ENABLE_NUMA_STAT;
> 
> --
> 
> It eliminates -Werror=unused-variable and compile passes at least:
> 
>   CC      kernel/sys.o
>   CC      mm/vmstat.o
>   AR      init/built-in.a
> 
> Hope thi s helps.
> 
> Best regards,
> Mirsad Todorovac

Hi, all,

After this unobvious error that appeared only under certain configs, I thought of a little
housekeeping, according to the instructions here:

https://www.kernel.org/doc/html/v4.15/process/coding-style.html#conditional-compilation

A little homework might make the #ifdef ... #else ... #endif forest more readable:

1932:#ifdef CONFIG_SMP
1936:# ifdef CONFIG_PROC_FS
1999:# endif /* CONFIG_PROC_FS */
2137:   if (vmstat_late_init_done)
2173:   vmstat_late_init_done = 1;
2178:#endif /* CONFIG_SMP */
2188:#ifdef CONFIG_SMP
2205:#endif /* CONFIG_SMP */

or the entire mm/vmstat.c:

34:#ifdef CONFIG_SMP
35:static int vmstat_late_init_done;
36:#endif /* CONFIG_SMP */
38:#ifdef CONFIG_NUMA
108:#endif /* CONFIG_NUMA */
110:#ifdef CONFIG_VM_EVENT_COUNTERS
159:#endif /* CONFIG_VM_EVENT_COUNTERS */
172:#ifdef CONFIG_NUMA
198:#endif /* CONFIG_NUMA */
200:#ifdef CONFIG_SMP
548:# ifdef CONFIG_HAVE_CMPXCHG_LOCAL
692:# else
771:# endif /* CONFIG_HAVE_CMPXCHG_LOCAL */
833:#ifdef CONFIG_NUMA
836:#endif /* CONFIG_NUMA */
844:#ifdef CONFIG_NUMA
873:#endif /* CONFIG_NUMA */
923:#ifdef CONFIG_NUMA
933:#endif /* CONFIG_NUMA */
972:#ifdef CONFIG_NUMA
980:#endif /* CONFIG_NUMA */
982:#endif /* CONFIG_SMP */
984:#ifdef CONFIG_NUMA
1024:# ifdef CONFIG_SMP
1027:# endif /* CONFIG_SMP */
1038:#endif /* CONFIG_NUMA */
1058:#ifdef CONFIG_COMPACTION
1162:#endif /* CONFIG_COMPACTION */
1164:#if defined(CONFIG_PROC_FS) || defined(CONFIG_SYSFS) || \
1166:# ifdef CONFIG_ZONE_DMA
1167:# define TEXT_FOR_DMA(xx) xx "_dma",
1168:# else
1169:# define TEXT_FOR_DMA(xx)
1170:# endif
1172:# ifdef CONFIG_ZONE_DMA32
1173:# define TEXT_FOR_DMA32(xx) xx "_dma32",
1174:# else
1175:# define TEXT_FOR_DMA32(xx)
1176:# endif
1178:# ifdef CONFIG_HIGHMEM
1179:# define TEXT_FOR_HIGHMEM(xx) xx "_high",
1180:# else
1181:# define TEXT_FOR_HIGHMEM(xx)
1182:# endif
1184:# ifdef CONFIG_ZONE_DEVICE
1185:# define TEXT_FOR_DEVICE(xx) xx "_device",
1186:# else
1187:# define TEXT_FOR_DEVICE(xx)
1188:# endif
1190:# define TEXTS_FOR_ZONES(xx) TEXT_FOR_DMA(xx) TEXT_FOR_DMA32(xx) xx "_normal", \
1205:# if IS_ENABLED(CONFIG_ZSMALLOC)
1207:# endif
1209:# ifdef CONFIG_UNACCEPTED_MEMORY
1211:# endif
1214:# ifdef CONFIG_NUMA
1221:# endif
1262:# if IS_ENABLED(CONFIG_SHADOW_CALL_STACK)
1264:# endif
1267:# ifdef CONFIG_IOMMU_SUPPORT
1269:# endif
1270:# ifdef CONFIG_SWAP
1272:# endif
1273:# ifdef CONFIG_NUMA_BALANCING
1276:# endif
1286:# if defined(CONFIG_VM_EVENT_COUNTERS) || defined(CONFIG_MEMCG)
1320:#  ifdef CONFIG_NUMA
1323:#  endif
1337:#  ifdef CONFIG_NUMA_BALANCING
1343:#  endif
1344:#  ifdef CONFIG_MIGRATION
1350:#  endif
1351:#  ifdef CONFIG_COMPACTION
1361:#  endif
1363:#  ifdef CONFIG_HUGETLB_PAGE
1366:#  endif
1367:#  ifdef CONFIG_CMA
1370:#  endif
1379:#  ifdef CONFIG_TRANSPARENT_HUGEPAGE
1396:#   ifdef CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE_PUD
1398:#   endif
1403:#  endif /*CONFIG_TRANSPARENT_HUGEPAGE */
1404:#  ifdef CONFIG_MEMORY_BALLOON
1407:#   ifdef CONFIG_BALLOON_COMPACTION
1409:#   endif
1410:#  endif /* CONFIG_MEMORY_BALLOON */
1411:#  ifdef CONFIG_DEBUG_TLBFLUSH
1416:#  endif /* CONFIG_DEBUG_TLBFLUSH */
1418:#  ifdef CONFIG_SWAP
1421:#   ifdef CONFIG_KSM
1423:#   endif /* CONFIG_KSM */
1424:#  endif /* CONFIG_SWAP */
1425:#  ifdef CONFIG_KSM
1427:#  endif
1428:#  ifdef CONFIG_ZSWAP
1432:#  endif
1433:#  ifdef CONFIG_X86
1436:#  endif
1437:#  ifdef CONFIG_PER_VMA_LOCK_STATS
1442:#  endif
1443:#  ifdef CONFIG_DEBUG_STACK_USAGE
1445:#   if THREAD_SIZE > 1024
1447:#   endif
1448:#   if THREAD_SIZE > 2048
1450:#   endif
1451:#   if THREAD_SIZE > 4096
1453:#   endif
1454:#   if THREAD_SIZE > 8192
1456:#   endif
1457:#   if THREAD_SIZE > 16384
1459:#   endif
1460:#   if THREAD_SIZE > 32768
1462:#   endif
1463:#   if THREAD_SIZE > 65536
1465:#   endif
1466:#  endif /* CONFIG_DEBUG_STACK_USAGE */
1467:# endif /* CONFIG_VM_EVENT_COUNTERS || CONFIG_MEMCG */
1469:#endif /* CONFIG_PROC_FS || CONFIG_SYSFS || CONFIG_NUMA || CONFIG_MEMCG */
1471:#if (defined(CONFIG_DEBUG_FS) && defined(CONFIG_COMPACTION)) || \
1521:#endif /* CONFIG_DEBUG_FS && CONFIG_COMPACTION || CONFIG_PROC_FS */
1523:#ifdef CONFIG_PROC_FS
1660:# ifdef CONFIG_PAGE_OWNER
1675:# endif /* CONFIG_PAGE_OWNER */
1783:# ifdef CONFIG_NUMA
1787:# endif
1804:# ifdef CONFIG_SMP
1808:# endif
1839:#define NR_VMSTAT_ITEMS (NR_VM_ZONE_STAT_ITEMS + \
1864:# ifdef CONFIG_NUMA
1868:# endif
1883:# ifdef CONFIG_VM_EVENT_COUNTERS
1887:# endif
1930:#endif /* CONFIG_PROC_FS */
1932:#ifdef CONFIG_SMP
1936:# ifdef CONFIG_PROC_FS
1999:# endif /* CONFIG_PROC_FS */
2137:   if (vmstat_late_init_done)
2173:   vmstat_late_init_done = 1;
2178:#endif /* CONFIG_SMP */
2188:#ifdef CONFIG_SMP
2205:#endif /* CONFIG_SMP */
2206:#ifdef CONFIG_PROC_FS
2211:#endif /* CONFIG_PROC_FS */
2214:#if defined(CONFIG_DEBUG_FS) && defined(CONFIG_COMPACTION)
2347:#endif /* CONFIG_DEBUG_FS && CONFIG_COMPACTION */

Indentation is optional, but preprocessors traditionally allowed it since the early 1990s I
think :-/

Please find attached patch with and without #ifdef indentation. (Both compile w GCC 13.2.0.)

Thank you.

Best regards,
Mirsad Todorovac
diff --git a/mm/vmstat.c b/mm/vmstat.c
index e361c2b3a8bc..34de8530aa4e 100644
--- a/mm/vmstat.c
+++ b/mm/vmstat.c
@@ -31,7 +31,10 @@
 
 #include "internal.h"
 
+#ifdef CONFIG_SMP
 static int vmstat_late_init_done;
+#endif /* CONFIG_SMP */
+
 #ifdef CONFIG_NUMA
 int sysctl_vm_numa_stat = ENABLE_NUMA_STAT;
 
@@ -102,7 +105,7 @@ int sysctl_vm_numa_stat_handler(const struct ctl_table *table, int write,
 	mutex_unlock(&vm_numa_stat_lock);
 	return ret;
 }
-#endif
+#endif /* CONFIG_NUMA */
 
 #ifdef CONFIG_VM_EVENT_COUNTERS
 DEFINE_PER_CPU(struct vm_event_state, vm_event_states) = {{0}};
@@ -192,7 +195,7 @@ void fold_vm_numa_events(void)
 	for_each_populated_zone(zone)
 		fold_vm_zone_numa_events(zone);
 }
-#endif
+#endif /* CONFIG_NUMA */
 
 #ifdef CONFIG_SMP
 
@@ -765,7 +768,7 @@ void dec_node_page_state(struct page *page, enum node_stat_item item)
 	local_irq_restore(flags);
 }
 EXPORT_SYMBOL(dec_node_page_state);
-#endif
+#endif /* CONFIG_HAVE_CMPXCHG_LOCAL */
 
 /*
  * Fold a differential into the global counters.
@@ -830,7 +833,7 @@ static int refresh_cpu_vm_stats(bool do_pagesets)
 #ifdef CONFIG_NUMA
 				/* 3 seconds idle till flush */
 				__this_cpu_write(pcp->expire, 3);
-#endif
+#endif /* CONFIG_NUMA */
 			}
 		}
 
@@ -867,7 +870,7 @@ static int refresh_cpu_vm_stats(bool do_pagesets)
 				drain_zone_pages(zone, this_cpu_ptr(pcp));
 				changes++;
 			}
-#endif
+#endif /* CONFIG_NUMA */
 		}
 	}
 
@@ -927,7 +930,7 @@ void cpu_vm_stats_fold(int cpu)
 				zone_numa_event_add(v, zone, i);
 			}
 		}
-#endif
+#endif /* CONFIG_NUMA */
 	}
 
 	for_each_online_pgdat(pgdat) {
@@ -974,9 +977,9 @@ void drain_zonestat(struct zone *zone, struct per_cpu_zonestat *pzstats)
 			zone_numa_event_add(v, zone, i);
 		}
 	}
-#endif
+#endif /* CONFIG_NUMA */
 }
-#endif
+#endif /* CONFIG_SMP */
 
 #ifdef CONFIG_NUMA
 /*
@@ -1021,7 +1024,7 @@ unsigned long node_page_state_pages(struct pglist_data *pgdat,
 #ifdef CONFIG_SMP
 	if (x < 0)
 		x = 0;
-#endif
+#endif /* CONFIG_SMP */
 	return x;
 }
 
@@ -1032,7 +1035,7 @@ unsigned long node_page_state(struct pglist_data *pgdat,
 
 	return node_page_state_pages(pgdat, item);
 }
-#endif
+#endif /* CONFIG_NUMA */
 
 /*
  * Count number of pages "struct page" and "struct page_ext" consume.
@@ -1156,7 +1159,7 @@ int fragmentation_index(struct zone *zone, unsigned int order)
 	fill_contig_page_info(zone, order, &info);
 	return __fragmentation_index(order, &info);
 }
-#endif
+#endif /* CONFIG_COMPACTION */
 
 #if defined(CONFIG_PROC_FS) || defined(CONFIG_SYSFS) || \
     defined(CONFIG_NUMA) || defined(CONFIG_MEMCG)
@@ -1397,7 +1400,7 @@ const char * const vmstat_text[] = {
 	"thp_zero_page_alloc_failed",
 	"thp_swpout",
 	"thp_swpout_fallback",
-#endif
+#endif /*CONFIG_TRANSPARENT_HUGEPAGE */
 #ifdef CONFIG_MEMORY_BALLOON
 	"balloon_inflate",
 	"balloon_deflate",
@@ -1417,8 +1420,8 @@ const char * const vmstat_text[] = {
 	"swap_ra_hit",
 #ifdef CONFIG_KSM
 	"ksm_swpin_copy",
-#endif
-#endif
+#endif /* CONFIG_KSM */
+#endif /* CONFIG_SWAP */
 #ifdef CONFIG_KSM
 	"cow_ksm",
 #endif
@@ -1460,7 +1463,7 @@ const char * const vmstat_text[] = {
 #if THREAD_SIZE > 65536
 	"kstack_rest",
 #endif
-#endif
+#endif /* CONFIG_DEBUG_STACK_USAGE */
 #endif /* CONFIG_VM_EVENT_COUNTERS || CONFIG_MEMCG */
 };
 #endif /* CONFIG_PROC_FS || CONFIG_SYSFS || CONFIG_NUMA || CONFIG_MEMCG */
@@ -1515,7 +1518,7 @@ static void walk_zones_in_node(struct seq_file *m, pg_data_t *pgdat,
 			spin_unlock_irqrestore(&zone->lock, flags);
 	}
 }
-#endif
+#endif /* CONFIG_DEBUG_FS && CONFIG_COMPACTION || CONFIG_PROC_FS */
 
 #ifdef CONFIG_PROC_FS
 static void frag_show_print(struct seq_file *m, pg_data_t *pgdat,
@@ -2172,7 +2175,7 @@ static int __init vmstat_late_init(void)
 	return 0;
 }
 late_initcall(vmstat_late_init);
-#endif
+#endif /* CONFIG_SMP */
 
 struct workqueue_struct *mm_percpu_wq;
 
@@ -2199,13 +2202,13 @@ void __init init_mm_internals(void)
 	cpus_read_unlock();
 
 	start_shepherd_timer();
-#endif
+#endif /* CONFIG_SMP */
 #ifdef CONFIG_PROC_FS
 	proc_create_seq("buddyinfo", 0444, NULL, &fragmentation_op);
 	proc_create_seq("pagetypeinfo", 0400, NULL, &pagetypeinfo_op);
 	proc_create_seq("vmstat", 0444, NULL, &vmstat_op);
 	proc_create_seq("zoneinfo", 0444, NULL, &zoneinfo_op);
-#endif
+#endif /* CONFIG_PROC_FS */
 }
 
 #if defined(CONFIG_DEBUG_FS) && defined(CONFIG_COMPACTION)
@@ -2341,4 +2344,4 @@ static int __init extfrag_debug_init(void)
 
 module_init(extfrag_debug_init);
 
-#endif
+#endif /* CONFIG_DEBUG_FS && CONFIG_COMPACTION */
diff --git a/mm/vmstat.c b/mm/vmstat.c
index e361c2b3a8bc..2579d4a59364 100644
--- a/mm/vmstat.c
+++ b/mm/vmstat.c
@@ -31,7 +31,10 @@
 
 #include "internal.h"
 
+#ifdef CONFIG_SMP
 static int vmstat_late_init_done;
+#endif /* CONFIG_SMP */
+
 #ifdef CONFIG_NUMA
 int sysctl_vm_numa_stat = ENABLE_NUMA_STAT;
 
@@ -102,7 +105,7 @@ int sysctl_vm_numa_stat_handler(const struct ctl_table *table, int write,
 	mutex_unlock(&vm_numa_stat_lock);
 	return ret;
 }
-#endif
+#endif /* CONFIG_NUMA */
 
 #ifdef CONFIG_VM_EVENT_COUNTERS
 DEFINE_PER_CPU(struct vm_event_state, vm_event_states) = {{0}};
@@ -192,7 +195,7 @@ void fold_vm_numa_events(void)
 	for_each_populated_zone(zone)
 		fold_vm_zone_numa_events(zone);
 }
-#endif
+#endif /* CONFIG_NUMA */
 
 #ifdef CONFIG_SMP
 
@@ -542,7 +545,7 @@ void __dec_node_page_state(struct page *page, enum node_stat_item item)
 }
 EXPORT_SYMBOL(__dec_node_page_state);
 
-#ifdef CONFIG_HAVE_CMPXCHG_LOCAL
+# ifdef CONFIG_HAVE_CMPXCHG_LOCAL
 /*
  * If we have cmpxchg_local support then we do not need to incur the overhead
  * that comes with local_irq_save/restore if we use this_cpu_cmpxchg.
@@ -686,7 +689,7 @@ void dec_node_page_state(struct page *page, enum node_stat_item item)
 	mod_node_state(page_pgdat(page), item, -1, -1);
 }
 EXPORT_SYMBOL(dec_node_page_state);
-#else
+# else
 /*
  * Use interrupt disable to serialize counter updates
  */
@@ -765,7 +768,7 @@ void dec_node_page_state(struct page *page, enum node_stat_item item)
 	local_irq_restore(flags);
 }
 EXPORT_SYMBOL(dec_node_page_state);
-#endif
+# endif /* CONFIG_HAVE_CMPXCHG_LOCAL */
 
 /*
  * Fold a differential into the global counters.
@@ -830,7 +833,7 @@ static int refresh_cpu_vm_stats(bool do_pagesets)
 #ifdef CONFIG_NUMA
 				/* 3 seconds idle till flush */
 				__this_cpu_write(pcp->expire, 3);
-#endif
+#endif /* CONFIG_NUMA */
 			}
 		}
 
@@ -867,7 +870,7 @@ static int refresh_cpu_vm_stats(bool do_pagesets)
 				drain_zone_pages(zone, this_cpu_ptr(pcp));
 				changes++;
 			}
-#endif
+#endif /* CONFIG_NUMA */
 		}
 	}
 
@@ -927,7 +930,7 @@ void cpu_vm_stats_fold(int cpu)
 				zone_numa_event_add(v, zone, i);
 			}
 		}
-#endif
+#endif /* CONFIG_NUMA */
 	}
 
 	for_each_online_pgdat(pgdat) {
@@ -974,9 +977,9 @@ void drain_zonestat(struct zone *zone, struct per_cpu_zonestat *pzstats)
 			zone_numa_event_add(v, zone, i);
 		}
 	}
-#endif
+#endif /* CONFIG_NUMA */
 }
-#endif
+#endif /* CONFIG_SMP */
 
 #ifdef CONFIG_NUMA
 /*
@@ -1018,10 +1021,10 @@ unsigned long node_page_state_pages(struct pglist_data *pgdat,
 				    enum node_stat_item item)
 {
 	long x = atomic_long_read(&pgdat->vm_stat[item]);
-#ifdef CONFIG_SMP
+# ifdef CONFIG_SMP
 	if (x < 0)
 		x = 0;
-#endif
+# endif /* CONFIG_SMP */
 	return x;
 }
 
@@ -1032,7 +1035,7 @@ unsigned long node_page_state(struct pglist_data *pgdat,
 
 	return node_page_state_pages(pgdat, item);
 }
-#endif
+#endif /* CONFIG_NUMA */
 
 /*
  * Count number of pages "struct page" and "struct page_ext" consume.
@@ -1156,35 +1159,35 @@ int fragmentation_index(struct zone *zone, unsigned int order)
 	fill_contig_page_info(zone, order, &info);
 	return __fragmentation_index(order, &info);
 }
-#endif
+#endif /* CONFIG_COMPACTION */
 
 #if defined(CONFIG_PROC_FS) || defined(CONFIG_SYSFS) || \
     defined(CONFIG_NUMA) || defined(CONFIG_MEMCG)
-#ifdef CONFIG_ZONE_DMA
-#define TEXT_FOR_DMA(xx) xx "_dma",
-#else
-#define TEXT_FOR_DMA(xx)
-#endif
-
-#ifdef CONFIG_ZONE_DMA32
-#define TEXT_FOR_DMA32(xx) xx "_dma32",
-#else
-#define TEXT_FOR_DMA32(xx)
-#endif
-
-#ifdef CONFIG_HIGHMEM
-#define TEXT_FOR_HIGHMEM(xx) xx "_high",
-#else
-#define TEXT_FOR_HIGHMEM(xx)
-#endif
-
-#ifdef CONFIG_ZONE_DEVICE
-#define TEXT_FOR_DEVICE(xx) xx "_device",
-#else
-#define TEXT_FOR_DEVICE(xx)
-#endif
-
-#define TEXTS_FOR_ZONES(xx) TEXT_FOR_DMA(xx) TEXT_FOR_DMA32(xx) xx "_normal", \
+# ifdef CONFIG_ZONE_DMA
+# define TEXT_FOR_DMA(xx) xx "_dma",
+# else
+# define TEXT_FOR_DMA(xx)
+# endif
+
+# ifdef CONFIG_ZONE_DMA32
+# define TEXT_FOR_DMA32(xx) xx "_dma32",
+# else
+# define TEXT_FOR_DMA32(xx)
+# endif
+
+# ifdef CONFIG_HIGHMEM
+# define TEXT_FOR_HIGHMEM(xx) xx "_high",
+# else
+# define TEXT_FOR_HIGHMEM(xx)
+# endif
+
+# ifdef CONFIG_ZONE_DEVICE
+# define TEXT_FOR_DEVICE(xx) xx "_device",
+# else
+# define TEXT_FOR_DEVICE(xx)
+# endif
+
+# define TEXTS_FOR_ZONES(xx) TEXT_FOR_DMA(xx) TEXT_FOR_DMA32(xx) xx "_normal", \
 					TEXT_FOR_HIGHMEM(xx) xx "_movable", \
 					TEXT_FOR_DEVICE(xx)
 
@@ -1199,23 +1202,23 @@ const char * const vmstat_text[] = {
 	"nr_zone_write_pending",
 	"nr_mlock",
 	"nr_bounce",
-#if IS_ENABLED(CONFIG_ZSMALLOC)
+# if IS_ENABLED(CONFIG_ZSMALLOC)
 	"nr_zspages",
-#endif
+# endif
 	"nr_free_cma",
-#ifdef CONFIG_UNACCEPTED_MEMORY
+# ifdef CONFIG_UNACCEPTED_MEMORY
 	"nr_unaccepted",
-#endif
+# endif
 
 	/* enum numa_stat_item counters */
-#ifdef CONFIG_NUMA
+# ifdef CONFIG_NUMA
 	"numa_hit",
 	"numa_miss",
 	"numa_foreign",
 	"numa_interleave",
 	"numa_local",
 	"numa_other",
-#endif
+# endif
 
 	/* enum node_stat_item counters */
 	"nr_inactive_anon",
@@ -1256,21 +1259,21 @@ const char * const vmstat_text[] = {
 	"nr_foll_pin_acquired",
 	"nr_foll_pin_released",
 	"nr_kernel_stack",
-#if IS_ENABLED(CONFIG_SHADOW_CALL_STACK)
+# if IS_ENABLED(CONFIG_SHADOW_CALL_STACK)
 	"nr_shadow_call_stack",
-#endif
+# endif
 	"nr_page_table_pages",
 	"nr_sec_page_table_pages",
-#ifdef CONFIG_IOMMU_SUPPORT
+# ifdef CONFIG_IOMMU_SUPPORT
 	"nr_iommu_pages",
-#endif
-#ifdef CONFIG_SWAP
+# endif
+# ifdef CONFIG_SWAP
 	"nr_swapcached",
-#endif
-#ifdef CONFIG_NUMA_BALANCING
+# endif
+# ifdef CONFIG_NUMA_BALANCING
 	"pgpromote_success",
 	"pgpromote_candidate",
-#endif
+# endif
 	"pgdemote_kswapd",
 	"pgdemote_direct",
 	"pgdemote_khugepaged",
@@ -1280,7 +1283,7 @@ const char * const vmstat_text[] = {
 	"nr_memmap_pages",
 	"nr_memmap_boot_pages",
 
-#if defined(CONFIG_VM_EVENT_COUNTERS) || defined(CONFIG_MEMCG)
+# if defined(CONFIG_VM_EVENT_COUNTERS) || defined(CONFIG_MEMCG)
 	/* enum vm_event_item counters */
 	"pgpgin",
 	"pgpgout",
@@ -1314,10 +1317,10 @@ const char * const vmstat_text[] = {
 	"pgsteal_anon",
 	"pgsteal_file",
 
-#ifdef CONFIG_NUMA
+#  ifdef CONFIG_NUMA
 	"zone_reclaim_success",
 	"zone_reclaim_failed",
-#endif
+#  endif
 	"pginodesteal",
 	"slabs_scanned",
 	"kswapd_inodesteal",
@@ -1331,21 +1334,21 @@ const char * const vmstat_text[] = {
 	"drop_slab",
 	"oom_kill",
 
-#ifdef CONFIG_NUMA_BALANCING
+#  ifdef CONFIG_NUMA_BALANCING
 	"numa_pte_updates",
 	"numa_huge_pte_updates",
 	"numa_hint_faults",
 	"numa_hint_faults_local",
 	"numa_pages_migrated",
-#endif
-#ifdef CONFIG_MIGRATION
+#  endif
+#  ifdef CONFIG_MIGRATION
 	"pgmigrate_success",
 	"pgmigrate_fail",
 	"thp_migration_success",
 	"thp_migration_fail",
 	"thp_migration_split",
-#endif
-#ifdef CONFIG_COMPACTION
+#  endif
+#  ifdef CONFIG_COMPACTION
 	"compact_migrate_scanned",
 	"compact_free_scanned",
 	"compact_isolated",
@@ -1355,16 +1358,16 @@ const char * const vmstat_text[] = {
 	"compact_daemon_wake",
 	"compact_daemon_migrate_scanned",
 	"compact_daemon_free_scanned",
-#endif
+#  endif
 
-#ifdef CONFIG_HUGETLB_PAGE
+#  ifdef CONFIG_HUGETLB_PAGE
 	"htlb_buddy_alloc_success",
 	"htlb_buddy_alloc_fail",
-#endif
-#ifdef CONFIG_CMA
+#  endif
+#  ifdef CONFIG_CMA
 	"cma_alloc_success",
 	"cma_alloc_fail",
-#endif
+#  endif
 	"unevictable_pgs_culled",
 	"unevictable_pgs_scanned",
 	"unevictable_pgs_rescued",
@@ -1373,7 +1376,7 @@ const char * const vmstat_text[] = {
 	"unevictable_pgs_cleared",
 	"unevictable_pgs_stranded",
 
-#ifdef CONFIG_TRANSPARENT_HUGEPAGE
+#  ifdef CONFIG_TRANSPARENT_HUGEPAGE
 	"thp_fault_alloc",
 	"thp_fault_fallback",
 	"thp_fault_fallback_charge",
@@ -1390,78 +1393,78 @@ const char * const vmstat_text[] = {
 	"thp_scan_exceed_none_pte",
 	"thp_scan_exceed_swap_pte",
 	"thp_scan_exceed_share_pte",
-#ifdef CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE_PUD
+#   ifdef CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE_PUD
 	"thp_split_pud",
-#endif
+#   endif
 	"thp_zero_page_alloc",
 	"thp_zero_page_alloc_failed",
 	"thp_swpout",
 	"thp_swpout_fallback",
-#endif
-#ifdef CONFIG_MEMORY_BALLOON
+#  endif /*CONFIG_TRANSPARENT_HUGEPAGE */
+#  ifdef CONFIG_MEMORY_BALLOON
 	"balloon_inflate",
 	"balloon_deflate",
-#ifdef CONFIG_BALLOON_COMPACTION
+#   ifdef CONFIG_BALLOON_COMPACTION
 	"balloon_migrate",
-#endif
-#endif /* CONFIG_MEMORY_BALLOON */
-#ifdef CONFIG_DEBUG_TLBFLUSH
+#   endif
+#  endif /* CONFIG_MEMORY_BALLOON */
+#  ifdef CONFIG_DEBUG_TLBFLUSH
 	"nr_tlb_remote_flush",
 	"nr_tlb_remote_flush_received",
 	"nr_tlb_local_flush_all",
 	"nr_tlb_local_flush_one",
-#endif /* CONFIG_DEBUG_TLBFLUSH */
+#  endif /* CONFIG_DEBUG_TLBFLUSH */
 
-#ifdef CONFIG_SWAP
+#  ifdef CONFIG_SWAP
 	"swap_ra",
 	"swap_ra_hit",
-#ifdef CONFIG_KSM
+#   ifdef CONFIG_KSM
 	"ksm_swpin_copy",
-#endif
-#endif
-#ifdef CONFIG_KSM
+#   endif /* CONFIG_KSM */
+#  endif /* CONFIG_SWAP */
+#  ifdef CONFIG_KSM
 	"cow_ksm",
-#endif
-#ifdef CONFIG_ZSWAP
+#  endif
+#  ifdef CONFIG_ZSWAP
 	"zswpin",
 	"zswpout",
 	"zswpwb",
-#endif
-#ifdef CONFIG_X86
+#  endif
+#  ifdef CONFIG_X86
 	"direct_map_level2_splits",
 	"direct_map_level3_splits",
-#endif
-#ifdef CONFIG_PER_VMA_LOCK_STATS
+#  endif
+#  ifdef CONFIG_PER_VMA_LOCK_STATS
 	"vma_lock_success",
 	"vma_lock_abort",
 	"vma_lock_retry",
 	"vma_lock_miss",
-#endif
-#ifdef CONFIG_DEBUG_STACK_USAGE
+#  endif
+#  ifdef CONFIG_DEBUG_STACK_USAGE
 	"kstack_1k",
-#if THREAD_SIZE > 1024
+#   if THREAD_SIZE > 1024
 	"kstack_2k",
-#endif
-#if THREAD_SIZE > 2048
+#   endif
+#   if THREAD_SIZE > 2048
 	"kstack_4k",
-#endif
-#if THREAD_SIZE > 4096
+#   endif
+#   if THREAD_SIZE > 4096
 	"kstack_8k",
-#endif
-#if THREAD_SIZE > 8192
+#   endif
+#   if THREAD_SIZE > 8192
 	"kstack_16k",
-#endif
-#if THREAD_SIZE > 16384
+#   endif
+#   if THREAD_SIZE > 16384
 	"kstack_32k",
-#endif
-#if THREAD_SIZE > 32768
+#   endif
+#   if THREAD_SIZE > 32768
 	"kstack_64k",
-#endif
-#if THREAD_SIZE > 65536
+#   endif
+#   if THREAD_SIZE > 65536
 	"kstack_rest",
-#endif
-#endif
-#endif /* CONFIG_VM_EVENT_COUNTERS || CONFIG_MEMCG */
+#   endif
+#  endif /* CONFIG_DEBUG_STACK_USAGE */
+# endif /* CONFIG_VM_EVENT_COUNTERS || CONFIG_MEMCG */
 };
 #endif /* CONFIG_PROC_FS || CONFIG_SYSFS || CONFIG_NUMA || CONFIG_MEMCG */
 
@@ -1515,7 +1518,7 @@ static void walk_zones_in_node(struct seq_file *m, pg_data_t *pgdat,
 			spin_unlock_irqrestore(&zone->lock, flags);
 	}
 }
-#endif
+#endif /* CONFIG_DEBUG_FS && CONFIG_COMPACTION || CONFIG_PROC_FS */
 
 #ifdef CONFIG_PROC_FS
 static void frag_show_print(struct seq_file *m, pg_data_t *pgdat,
@@ -1654,7 +1657,7 @@ static void pagetypeinfo_showblockcount(struct seq_file *m, void *arg)
  */
 static void pagetypeinfo_showmixedcount(struct seq_file *m, pg_data_t *pgdat)
 {
-#ifdef CONFIG_PAGE_OWNER
+# ifdef CONFIG_PAGE_OWNER
 	int mtype;
 
 	if (!static_branch_unlikely(&page_owner_inited))
@@ -1669,7 +1672,7 @@ static void pagetypeinfo_showmixedcount(struct seq_file *m, pg_data_t *pgdat)
 
 	walk_zones_in_node(m, pgdat, true, true,
 		pagetypeinfo_showmixedcount_print);
-#endif /* CONFIG_PAGE_OWNER */
+# endif /* CONFIG_PAGE_OWNER */
 }
 
 /*
@@ -1777,11 +1780,11 @@ static void zoneinfo_show_print(struct seq_file *m, pg_data_t *pgdat,
 		seq_printf(m, "\n      %-12s %lu", zone_stat_name(i),
 			   zone_page_state(zone, i));
 
-#ifdef CONFIG_NUMA
+# ifdef CONFIG_NUMA
 	for (i = 0; i < NR_VM_NUMA_EVENT_ITEMS; i++)
 		seq_printf(m, "\n      %-12s %lu", numa_stat_name(i),
 			   zone_numa_event_state(zone, i));
-#endif
+# endif
 
 	seq_printf(m, "\n  pagesets");
 	for_each_online_cpu(i) {
@@ -1798,11 +1801,11 @@ static void zoneinfo_show_print(struct seq_file *m, pg_data_t *pgdat,
 			   pcp->count,
 			   pcp->high,
 			   pcp->batch);
-#ifdef CONFIG_SMP
+# ifdef CONFIG_SMP
 		pzstats = per_cpu_ptr(zone->per_cpu_zonestats, i);
 		seq_printf(m, "\n  vm stats threshold: %d",
 				pzstats->stat_threshold);
-#endif
+# endif
 	}
 	seq_printf(m,
 		   "\n  node_unreclaimable:  %u"
@@ -1858,11 +1861,11 @@ static void *vmstat_start(struct seq_file *m, loff_t *pos)
 		v[i] = global_zone_page_state(i);
 	v += NR_VM_ZONE_STAT_ITEMS;
 
-#ifdef CONFIG_NUMA
+# ifdef CONFIG_NUMA
 	for (i = 0; i < NR_VM_NUMA_EVENT_ITEMS; i++)
 		v[i] = global_numa_event_state(i);
 	v += NR_VM_NUMA_EVENT_ITEMS;
-#endif
+# endif
 
 	for (i = 0; i < NR_VM_NODE_STAT_ITEMS; i++) {
 		v[i] = global_node_page_state_pages(i);
@@ -1877,11 +1880,11 @@ static void *vmstat_start(struct seq_file *m, loff_t *pos)
 	v[NR_MEMMAP_BOOT_PAGES] = atomic_long_read(&nr_memmap_boot_pages);
 	v += NR_VM_STAT_ITEMS;
 
-#ifdef CONFIG_VM_EVENT_COUNTERS
+# ifdef CONFIG_VM_EVENT_COUNTERS
 	all_vm_events(v);
 	v[PGPGIN] /= 2;		/* sectors -> kbytes */
 	v[PGPGOUT] /= 2;
-#endif
+# endif
 	return (unsigned long *)m->private + *pos;
 }
 
@@ -1930,7 +1933,7 @@ static const struct seq_operations vmstat_op = {
 static DEFINE_PER_CPU(struct delayed_work, vmstat_work);
 int sysctl_stat_interval __read_mostly = HZ;
 
-#ifdef CONFIG_PROC_FS
+# ifdef CONFIG_PROC_FS
 static void refresh_vm_stats(struct work_struct *work)
 {
 	refresh_cpu_vm_stats(true);
@@ -1993,7 +1996,7 @@ int vmstat_refresh(const struct ctl_table *table, int write,
 		*lenp = 0;
 	return 0;
 }
-#endif /* CONFIG_PROC_FS */
+# endif /* CONFIG_PROC_FS */
 
 static void vmstat_update(struct work_struct *w)
 {
@@ -2172,7 +2175,7 @@ static int __init vmstat_late_init(void)
 	return 0;
 }
 late_initcall(vmstat_late_init);
-#endif
+#endif /* CONFIG_SMP */
 
 struct workqueue_struct *mm_percpu_wq;
 
@@ -2199,13 +2202,13 @@ void __init init_mm_internals(void)
 	cpus_read_unlock();
 
 	start_shepherd_timer();
-#endif
+#endif /* CONFIG_SMP */
 #ifdef CONFIG_PROC_FS
 	proc_create_seq("buddyinfo", 0444, NULL, &fragmentation_op);
 	proc_create_seq("pagetypeinfo", 0400, NULL, &pagetypeinfo_op);
 	proc_create_seq("vmstat", 0444, NULL, &vmstat_op);
 	proc_create_seq("zoneinfo", 0444, NULL, &zoneinfo_op);
-#endif
+#endif /* CONFIG_PROC_FS */
 }
 
 #if defined(CONFIG_DEBUG_FS) && defined(CONFIG_COMPACTION)
@@ -2341,4 +2344,4 @@ static int __init extfrag_debug_init(void)
 
 module_init(extfrag_debug_init);
 
-#endif
+#endif /* CONFIG_DEBUG_FS && CONFIG_COMPACTION */

[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux