Commit f042e707ee671e4beb5389abeb9a1819a2cf5532
Committed by
Linus Torvalds
1 parent
a77aea9201
mm: move enum vm_event_item into a standalone header file
enums are problematic because they cannot be forward-declared: akpm2:/home/akpm> cat t.c enum foo; static inline void bar(enum foo f) { } akpm2:/home/akpm> gcc -c t.c t.c:4: error: parameter 1 ('f') has incomplete type So move the enum's definition into a standalone header file which can be used wherever its definition is needed. Cc: Ying Han <yinghan@google.com> Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com> Cc: Minchan Kim <minchan.kim@gmail.com> Cc: Daisuke Nishimura <nishimura@mxp.nes.nec.co.jp> Cc: Balbir Singh <balbir@linux.vnet.ibm.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Showing 2 changed files with 65 additions and 61 deletions Side-by-side Diff
include/linux/vm_event_item.h
1 | +#ifndef VM_EVENT_ITEM_H_INCLUDED | |
2 | +#define VM_EVENT_ITEM_H_INCLUDED | |
3 | + | |
4 | +#ifdef CONFIG_ZONE_DMA | |
5 | +#define DMA_ZONE(xx) xx##_DMA, | |
6 | +#else | |
7 | +#define DMA_ZONE(xx) | |
8 | +#endif | |
9 | + | |
10 | +#ifdef CONFIG_ZONE_DMA32 | |
11 | +#define DMA32_ZONE(xx) xx##_DMA32, | |
12 | +#else | |
13 | +#define DMA32_ZONE(xx) | |
14 | +#endif | |
15 | + | |
16 | +#ifdef CONFIG_HIGHMEM | |
17 | +#define HIGHMEM_ZONE(xx) , xx##_HIGH | |
18 | +#else | |
19 | +#define HIGHMEM_ZONE(xx) | |
20 | +#endif | |
21 | + | |
22 | +#define FOR_ALL_ZONES(xx) DMA_ZONE(xx) DMA32_ZONE(xx) xx##_NORMAL HIGHMEM_ZONE(xx) , xx##_MOVABLE | |
23 | + | |
24 | +enum vm_event_item { PGPGIN, PGPGOUT, PSWPIN, PSWPOUT, | |
25 | + FOR_ALL_ZONES(PGALLOC), | |
26 | + PGFREE, PGACTIVATE, PGDEACTIVATE, | |
27 | + PGFAULT, PGMAJFAULT, | |
28 | + FOR_ALL_ZONES(PGREFILL), | |
29 | + FOR_ALL_ZONES(PGSTEAL), | |
30 | + FOR_ALL_ZONES(PGSCAN_KSWAPD), | |
31 | + FOR_ALL_ZONES(PGSCAN_DIRECT), | |
32 | +#ifdef CONFIG_NUMA | |
33 | + PGSCAN_ZONE_RECLAIM_FAILED, | |
34 | +#endif | |
35 | + PGINODESTEAL, SLABS_SCANNED, KSWAPD_STEAL, KSWAPD_INODESTEAL, | |
36 | + KSWAPD_LOW_WMARK_HIT_QUICKLY, KSWAPD_HIGH_WMARK_HIT_QUICKLY, | |
37 | + KSWAPD_SKIP_CONGESTION_WAIT, | |
38 | + PAGEOUTRUN, ALLOCSTALL, PGROTATED, | |
39 | +#ifdef CONFIG_COMPACTION | |
40 | + COMPACTBLOCKS, COMPACTPAGES, COMPACTPAGEFAILED, | |
41 | + COMPACTSTALL, COMPACTFAIL, COMPACTSUCCESS, | |
42 | +#endif | |
43 | +#ifdef CONFIG_HUGETLB_PAGE | |
44 | + HTLB_BUDDY_PGALLOC, HTLB_BUDDY_PGALLOC_FAIL, | |
45 | +#endif | |
46 | + UNEVICTABLE_PGCULLED, /* culled to noreclaim list */ | |
47 | + UNEVICTABLE_PGSCANNED, /* scanned for reclaimability */ | |
48 | + UNEVICTABLE_PGRESCUED, /* rescued from noreclaim list */ | |
49 | + UNEVICTABLE_PGMLOCKED, | |
50 | + UNEVICTABLE_PGMUNLOCKED, | |
51 | + UNEVICTABLE_PGCLEARED, /* on COW, page truncate */ | |
52 | + UNEVICTABLE_PGSTRANDED, /* unable to isolate on unlock */ | |
53 | + UNEVICTABLE_MLOCKFREED, | |
54 | +#ifdef CONFIG_TRANSPARENT_HUGEPAGE | |
55 | + THP_FAULT_ALLOC, | |
56 | + THP_FAULT_FALLBACK, | |
57 | + THP_COLLAPSE_ALLOC, | |
58 | + THP_COLLAPSE_ALLOC_FAILED, | |
59 | + THP_SPLIT, | |
60 | +#endif | |
61 | + NR_VM_EVENT_ITEMS | |
62 | +}; | |
63 | + | |
64 | +#endif /* VM_EVENT_ITEM_H_INCLUDED */ |
include/linux/vmstat.h
... | ... | @@ -5,68 +5,8 @@ |
5 | 5 | #include <linux/percpu.h> |
6 | 6 | #include <linux/mm.h> |
7 | 7 | #include <linux/mmzone.h> |
8 | +#include <linux/vm_event_item.h> | |
8 | 9 | #include <asm/atomic.h> |
9 | - | |
10 | -#ifdef CONFIG_ZONE_DMA | |
11 | -#define DMA_ZONE(xx) xx##_DMA, | |
12 | -#else | |
13 | -#define DMA_ZONE(xx) | |
14 | -#endif | |
15 | - | |
16 | -#ifdef CONFIG_ZONE_DMA32 | |
17 | -#define DMA32_ZONE(xx) xx##_DMA32, | |
18 | -#else | |
19 | -#define DMA32_ZONE(xx) | |
20 | -#endif | |
21 | - | |
22 | -#ifdef CONFIG_HIGHMEM | |
23 | -#define HIGHMEM_ZONE(xx) , xx##_HIGH | |
24 | -#else | |
25 | -#define HIGHMEM_ZONE(xx) | |
26 | -#endif | |
27 | - | |
28 | - | |
29 | -#define FOR_ALL_ZONES(xx) DMA_ZONE(xx) DMA32_ZONE(xx) xx##_NORMAL HIGHMEM_ZONE(xx) , xx##_MOVABLE | |
30 | - | |
31 | -enum vm_event_item { PGPGIN, PGPGOUT, PSWPIN, PSWPOUT, | |
32 | - FOR_ALL_ZONES(PGALLOC), | |
33 | - PGFREE, PGACTIVATE, PGDEACTIVATE, | |
34 | - PGFAULT, PGMAJFAULT, | |
35 | - FOR_ALL_ZONES(PGREFILL), | |
36 | - FOR_ALL_ZONES(PGSTEAL), | |
37 | - FOR_ALL_ZONES(PGSCAN_KSWAPD), | |
38 | - FOR_ALL_ZONES(PGSCAN_DIRECT), | |
39 | -#ifdef CONFIG_NUMA | |
40 | - PGSCAN_ZONE_RECLAIM_FAILED, | |
41 | -#endif | |
42 | - PGINODESTEAL, SLABS_SCANNED, KSWAPD_STEAL, KSWAPD_INODESTEAL, | |
43 | - KSWAPD_LOW_WMARK_HIT_QUICKLY, KSWAPD_HIGH_WMARK_HIT_QUICKLY, | |
44 | - KSWAPD_SKIP_CONGESTION_WAIT, | |
45 | - PAGEOUTRUN, ALLOCSTALL, PGROTATED, | |
46 | -#ifdef CONFIG_COMPACTION | |
47 | - COMPACTBLOCKS, COMPACTPAGES, COMPACTPAGEFAILED, | |
48 | - COMPACTSTALL, COMPACTFAIL, COMPACTSUCCESS, | |
49 | -#endif | |
50 | -#ifdef CONFIG_HUGETLB_PAGE | |
51 | - HTLB_BUDDY_PGALLOC, HTLB_BUDDY_PGALLOC_FAIL, | |
52 | -#endif | |
53 | - UNEVICTABLE_PGCULLED, /* culled to noreclaim list */ | |
54 | - UNEVICTABLE_PGSCANNED, /* scanned for reclaimability */ | |
55 | - UNEVICTABLE_PGRESCUED, /* rescued from noreclaim list */ | |
56 | - UNEVICTABLE_PGMLOCKED, | |
57 | - UNEVICTABLE_PGMUNLOCKED, | |
58 | - UNEVICTABLE_PGCLEARED, /* on COW, page truncate */ | |
59 | - UNEVICTABLE_PGSTRANDED, /* unable to isolate on unlock */ | |
60 | - UNEVICTABLE_MLOCKFREED, | |
61 | -#ifdef CONFIG_TRANSPARENT_HUGEPAGE | |
62 | - THP_FAULT_ALLOC, | |
63 | - THP_FAULT_FALLBACK, | |
64 | - THP_COLLAPSE_ALLOC, | |
65 | - THP_COLLAPSE_ALLOC_FAILED, | |
66 | - THP_SPLIT, | |
67 | -#endif | |
68 | - NR_VM_EVENT_ITEMS | |
69 | -}; | |
70 | 10 | |
71 | 11 | extern int sysctl_stat_interval; |
72 | 12 |