mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-28 21:33:52 +00:00
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>
This commit is contained in:
parent
a77aea9201
commit
f042e707ee
2 changed files with 65 additions and 61 deletions
64
include/linux/vm_event_item.h
Normal file
64
include/linux/vm_event_item.h
Normal file
|
@ -0,0 +1,64 @@
|
||||||
|
#ifndef VM_EVENT_ITEM_H_INCLUDED
|
||||||
|
#define VM_EVENT_ITEM_H_INCLUDED
|
||||||
|
|
||||||
|
#ifdef CONFIG_ZONE_DMA
|
||||||
|
#define DMA_ZONE(xx) xx##_DMA,
|
||||||
|
#else
|
||||||
|
#define DMA_ZONE(xx)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef CONFIG_ZONE_DMA32
|
||||||
|
#define DMA32_ZONE(xx) xx##_DMA32,
|
||||||
|
#else
|
||||||
|
#define DMA32_ZONE(xx)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef CONFIG_HIGHMEM
|
||||||
|
#define HIGHMEM_ZONE(xx) , xx##_HIGH
|
||||||
|
#else
|
||||||
|
#define HIGHMEM_ZONE(xx)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define FOR_ALL_ZONES(xx) DMA_ZONE(xx) DMA32_ZONE(xx) xx##_NORMAL HIGHMEM_ZONE(xx) , xx##_MOVABLE
|
||||||
|
|
||||||
|
enum vm_event_item { PGPGIN, PGPGOUT, PSWPIN, PSWPOUT,
|
||||||
|
FOR_ALL_ZONES(PGALLOC),
|
||||||
|
PGFREE, PGACTIVATE, PGDEACTIVATE,
|
||||||
|
PGFAULT, PGMAJFAULT,
|
||||||
|
FOR_ALL_ZONES(PGREFILL),
|
||||||
|
FOR_ALL_ZONES(PGSTEAL),
|
||||||
|
FOR_ALL_ZONES(PGSCAN_KSWAPD),
|
||||||
|
FOR_ALL_ZONES(PGSCAN_DIRECT),
|
||||||
|
#ifdef CONFIG_NUMA
|
||||||
|
PGSCAN_ZONE_RECLAIM_FAILED,
|
||||||
|
#endif
|
||||||
|
PGINODESTEAL, SLABS_SCANNED, KSWAPD_STEAL, KSWAPD_INODESTEAL,
|
||||||
|
KSWAPD_LOW_WMARK_HIT_QUICKLY, KSWAPD_HIGH_WMARK_HIT_QUICKLY,
|
||||||
|
KSWAPD_SKIP_CONGESTION_WAIT,
|
||||||
|
PAGEOUTRUN, ALLOCSTALL, PGROTATED,
|
||||||
|
#ifdef CONFIG_COMPACTION
|
||||||
|
COMPACTBLOCKS, COMPACTPAGES, COMPACTPAGEFAILED,
|
||||||
|
COMPACTSTALL, COMPACTFAIL, COMPACTSUCCESS,
|
||||||
|
#endif
|
||||||
|
#ifdef CONFIG_HUGETLB_PAGE
|
||||||
|
HTLB_BUDDY_PGALLOC, HTLB_BUDDY_PGALLOC_FAIL,
|
||||||
|
#endif
|
||||||
|
UNEVICTABLE_PGCULLED, /* culled to noreclaim list */
|
||||||
|
UNEVICTABLE_PGSCANNED, /* scanned for reclaimability */
|
||||||
|
UNEVICTABLE_PGRESCUED, /* rescued from noreclaim list */
|
||||||
|
UNEVICTABLE_PGMLOCKED,
|
||||||
|
UNEVICTABLE_PGMUNLOCKED,
|
||||||
|
UNEVICTABLE_PGCLEARED, /* on COW, page truncate */
|
||||||
|
UNEVICTABLE_PGSTRANDED, /* unable to isolate on unlock */
|
||||||
|
UNEVICTABLE_MLOCKFREED,
|
||||||
|
#ifdef CONFIG_TRANSPARENT_HUGEPAGE
|
||||||
|
THP_FAULT_ALLOC,
|
||||||
|
THP_FAULT_FALLBACK,
|
||||||
|
THP_COLLAPSE_ALLOC,
|
||||||
|
THP_COLLAPSE_ALLOC_FAILED,
|
||||||
|
THP_SPLIT,
|
||||||
|
#endif
|
||||||
|
NR_VM_EVENT_ITEMS
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif /* VM_EVENT_ITEM_H_INCLUDED */
|
|
@ -5,69 +5,9 @@
|
||||||
#include <linux/percpu.h>
|
#include <linux/percpu.h>
|
||||||
#include <linux/mm.h>
|
#include <linux/mm.h>
|
||||||
#include <linux/mmzone.h>
|
#include <linux/mmzone.h>
|
||||||
|
#include <linux/vm_event_item.h>
|
||||||
#include <asm/atomic.h>
|
#include <asm/atomic.h>
|
||||||
|
|
||||||
#ifdef CONFIG_ZONE_DMA
|
|
||||||
#define DMA_ZONE(xx) xx##_DMA,
|
|
||||||
#else
|
|
||||||
#define DMA_ZONE(xx)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef CONFIG_ZONE_DMA32
|
|
||||||
#define DMA32_ZONE(xx) xx##_DMA32,
|
|
||||||
#else
|
|
||||||
#define DMA32_ZONE(xx)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef CONFIG_HIGHMEM
|
|
||||||
#define HIGHMEM_ZONE(xx) , xx##_HIGH
|
|
||||||
#else
|
|
||||||
#define HIGHMEM_ZONE(xx)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
#define FOR_ALL_ZONES(xx) DMA_ZONE(xx) DMA32_ZONE(xx) xx##_NORMAL HIGHMEM_ZONE(xx) , xx##_MOVABLE
|
|
||||||
|
|
||||||
enum vm_event_item { PGPGIN, PGPGOUT, PSWPIN, PSWPOUT,
|
|
||||||
FOR_ALL_ZONES(PGALLOC),
|
|
||||||
PGFREE, PGACTIVATE, PGDEACTIVATE,
|
|
||||||
PGFAULT, PGMAJFAULT,
|
|
||||||
FOR_ALL_ZONES(PGREFILL),
|
|
||||||
FOR_ALL_ZONES(PGSTEAL),
|
|
||||||
FOR_ALL_ZONES(PGSCAN_KSWAPD),
|
|
||||||
FOR_ALL_ZONES(PGSCAN_DIRECT),
|
|
||||||
#ifdef CONFIG_NUMA
|
|
||||||
PGSCAN_ZONE_RECLAIM_FAILED,
|
|
||||||
#endif
|
|
||||||
PGINODESTEAL, SLABS_SCANNED, KSWAPD_STEAL, KSWAPD_INODESTEAL,
|
|
||||||
KSWAPD_LOW_WMARK_HIT_QUICKLY, KSWAPD_HIGH_WMARK_HIT_QUICKLY,
|
|
||||||
KSWAPD_SKIP_CONGESTION_WAIT,
|
|
||||||
PAGEOUTRUN, ALLOCSTALL, PGROTATED,
|
|
||||||
#ifdef CONFIG_COMPACTION
|
|
||||||
COMPACTBLOCKS, COMPACTPAGES, COMPACTPAGEFAILED,
|
|
||||||
COMPACTSTALL, COMPACTFAIL, COMPACTSUCCESS,
|
|
||||||
#endif
|
|
||||||
#ifdef CONFIG_HUGETLB_PAGE
|
|
||||||
HTLB_BUDDY_PGALLOC, HTLB_BUDDY_PGALLOC_FAIL,
|
|
||||||
#endif
|
|
||||||
UNEVICTABLE_PGCULLED, /* culled to noreclaim list */
|
|
||||||
UNEVICTABLE_PGSCANNED, /* scanned for reclaimability */
|
|
||||||
UNEVICTABLE_PGRESCUED, /* rescued from noreclaim list */
|
|
||||||
UNEVICTABLE_PGMLOCKED,
|
|
||||||
UNEVICTABLE_PGMUNLOCKED,
|
|
||||||
UNEVICTABLE_PGCLEARED, /* on COW, page truncate */
|
|
||||||
UNEVICTABLE_PGSTRANDED, /* unable to isolate on unlock */
|
|
||||||
UNEVICTABLE_MLOCKFREED,
|
|
||||||
#ifdef CONFIG_TRANSPARENT_HUGEPAGE
|
|
||||||
THP_FAULT_ALLOC,
|
|
||||||
THP_FAULT_FALLBACK,
|
|
||||||
THP_COLLAPSE_ALLOC,
|
|
||||||
THP_COLLAPSE_ALLOC_FAILED,
|
|
||||||
THP_SPLIT,
|
|
||||||
#endif
|
|
||||||
NR_VM_EVENT_ITEMS
|
|
||||||
};
|
|
||||||
|
|
||||||
extern int sysctl_stat_interval;
|
extern int sysctl_stat_interval;
|
||||||
|
|
||||||
#ifdef CONFIG_VM_EVENT_COUNTERS
|
#ifdef CONFIG_VM_EVENT_COUNTERS
|
||||||
|
|
Loading…
Reference in a new issue