mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-25 22:23:14 -04:00
mm: change isolate mode from #define to bitwise type
Change ISOLATE_XXX macro with bitwise isolate_mode_t type. Normally, macro isn't recommended as it's type-unsafe and making debugging harder as symbol cannot be passed throught to the debugger. Quote from Johannes " Hmm, it would probably be cleaner to fully convert the isolation mode into independent flags. INACTIVE, ACTIVE, BOTH is currently a tri-state among flags, which is a bit ugly." This patch moves isolate mode from swap.h to mmzone.h by memcontrol.h Signed-off-by: Minchan Kim <minchan.kim@gmail.com> Cc: Johannes Weiner <hannes@cmpxchg.org> Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com> Cc: Mel Gorman <mgorman@suse.de> Cc: Rik van Riel <riel@redhat.com> Cc: Michal Hocko <mhocko@suse.cz> Cc: Andrea Arcangeli <aarcange@redhat.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
b9e84ac153
commit
4356f21d09
8 changed files with 43 additions and 34 deletions
|
|
@ -35,7 +35,8 @@ enum mem_cgroup_page_stat_item {
|
|||
extern unsigned long mem_cgroup_isolate_pages(unsigned long nr_to_scan,
|
||||
struct list_head *dst,
|
||||
unsigned long *scanned, int order,
|
||||
int mode, struct zone *z,
|
||||
isolate_mode_t mode,
|
||||
struct zone *z,
|
||||
struct mem_cgroup *mem_cont,
|
||||
int active, int file);
|
||||
|
||||
|
|
|
|||
|
|
@ -164,6 +164,14 @@ static inline int is_unevictable_lru(enum lru_list l)
|
|||
#define LRU_ALL_EVICTABLE (LRU_ALL_FILE | LRU_ALL_ANON)
|
||||
#define LRU_ALL ((1 << NR_LRU_LISTS) - 1)
|
||||
|
||||
/* Isolate inactive pages */
|
||||
#define ISOLATE_INACTIVE ((__force isolate_mode_t)0x1)
|
||||
/* Isolate active pages */
|
||||
#define ISOLATE_ACTIVE ((__force isolate_mode_t)0x2)
|
||||
|
||||
/* LRU Isolation modes. */
|
||||
typedef unsigned __bitwise__ isolate_mode_t;
|
||||
|
||||
enum zone_watermarks {
|
||||
WMARK_MIN,
|
||||
WMARK_LOW,
|
||||
|
|
|
|||
|
|
@ -243,15 +243,10 @@ static inline void lru_cache_add_file(struct page *page)
|
|||
__lru_cache_add(page, LRU_INACTIVE_FILE);
|
||||
}
|
||||
|
||||
/* LRU Isolation modes. */
|
||||
#define ISOLATE_INACTIVE 0 /* Isolate inactive pages. */
|
||||
#define ISOLATE_ACTIVE 1 /* Isolate active pages. */
|
||||
#define ISOLATE_BOTH 2 /* Isolate both active and inactive pages. */
|
||||
|
||||
/* linux/mm/vmscan.c */
|
||||
extern unsigned long try_to_free_pages(struct zonelist *zonelist, int order,
|
||||
gfp_t gfp_mask, nodemask_t *mask);
|
||||
extern int __isolate_lru_page(struct page *page, int mode, int file);
|
||||
extern int __isolate_lru_page(struct page *page, isolate_mode_t mode, int file);
|
||||
extern unsigned long try_to_free_mem_cgroup_pages(struct mem_cgroup *mem,
|
||||
gfp_t gfp_mask, bool noswap);
|
||||
extern unsigned long mem_cgroup_shrink_node_zone(struct mem_cgroup *mem,
|
||||
|
|
|
|||
Loading…
Reference in a new issue