Only memcg_numa_stat_show() uses those wrappers and the lru bitmasks, group them together.
Unified · Split
| @@ -247,11 +247,6 @@ struct lruvec { · 246 unmodified lines | |||
| 247 | #endif | 247 | #endif |
| 248 | }; | 248 | }; |
| 249 | 249 | ||
| 250 | /* Mask used at gathering information at once (see memcontrol.c) */ | ||
| 251 | #define LRU_ALL_FILE (BIT(LRU_INACTIVE_FILE) | BIT(LRU_ACTIVE_FILE)) | ||
| 252 | #define LRU_ALL_ANON (BIT(LRU_INACTIVE_ANON) | BIT(LRU_ACTIVE_ANON)) | ||
| 253 | #define LRU_ALL ((1 << NR_LRU_LISTS) - 1) | ||
| 254 | |||
| 255 | /* Isolate unmapped file */ | 250 | /* Isolate unmapped file */ |
| 256 | #define ISOLATE_UNMAPPED ((__force isolate_mode_t)0x2) | 251 | #define ISOLATE_UNMAPPED ((__force isolate_mode_t)0x2) |
| 257 | /* Isolate for asynchronous migration */ | 252 | /* Isolate for asynchronous migration */ |
| @@ -725,37 +725,6 @@ static void mem_cgroup_charge_statistics(struct mem_cgroup *memcg, · 724 unmodified lines | |||
| 725 | __this_cpu_add(memcg->stat_cpu->nr_page_events, nr_pages); | 725 | __this_cpu_add(memcg->stat_cpu->nr_page_events, nr_pages); |
| 726 | } | 726 | } |
| 727 | 727 | ||
| 728 | static unsigned long mem_cgroup_node_nr_lru_pages(struct mem_cgroup *memcg, | ||
| 729 | int nid, unsigned int lru_mask) | ||
| 730 | { | ||
| 731 | struct lruvec *lruvec = mem_cgroup_lruvec(NODE_DATA(nid), memcg); | ||
| 732 | unsigned long nr = 0; | ||
| 733 | enum lru_list lru; | ||
| 734 | |||
| 735 | VM_BUG_ON((unsigned)nid >= nr_node_ids); | ||
| 736 | |||
| 737 | for_each_lru(lru) { | ||
| 738 | if (!(BIT(lru) & lru_mask)) | ||
| 739 | continue; | ||
| 740 | nr += lruvec_page_state(lruvec, NR_LRU_BASE + lru); | ||
| 741 | } | ||
| 742 | return nr; | ||
| 743 | } | ||
| 744 | |||
| 745 | static unsigned long mem_cgroup_nr_lru_pages(struct mem_cgroup *memcg, | ||
| 746 | unsigned int lru_mask) | ||
| 747 | { | ||
| 748 | unsigned long nr = 0; | ||
| 749 | enum lru_list lru; | ||
| 750 | |||
| 751 | for_each_lru(lru) { | ||
| 752 | if (!(BIT(lru) & lru_mask)) | ||
| 753 | continue; | ||
| 754 | nr += memcg_page_state(memcg, NR_LRU_BASE + lru); | ||
| 755 | } | ||
| 756 | return nr; | ||
| 757 | } | ||
| 758 | |||
| 759 | static bool mem_cgroup_event_ratelimit(struct mem_cgroup *memcg, | 728 | static bool mem_cgroup_event_ratelimit(struct mem_cgroup *memcg, |
| 760 | enum mem_cgroup_events_target target) | 729 | enum mem_cgroup_events_target target) |
| 761 | { | 730 | { |
| @@ -3338,6 +3307,42 @@ static int mem_cgroup_move_charge_write(struct cgroup_subsys_state *css, · 2576 unmodified lines | |||
| 3338 | #endif | 3307 | #endif |
| 3339 | 3308 | ||
| 3340 | #ifdef CONFIG_NUMA | 3309 | #ifdef CONFIG_NUMA |
| 3310 | |||
| 3311 | #define LRU_ALL_FILE (BIT(LRU_INACTIVE_FILE) | BIT(LRU_ACTIVE_FILE)) | ||
| 3312 | #define LRU_ALL_ANON (BIT(LRU_INACTIVE_ANON) | BIT(LRU_ACTIVE_ANON)) | ||
| 3313 | #define LRU_ALL ((1 << NR_LRU_LISTS) - 1) | ||
| 3314 | |||
| 3315 | static unsigned long mem_cgroup_node_nr_lru_pages(struct mem_cgroup *memcg, | ||
| 3316 | int nid, unsigned int lru_mask) | ||
| 3317 | { | ||
| 3318 | struct lruvec *lruvec = mem_cgroup_lruvec(NODE_DATA(nid), memcg); | ||
| 3319 | unsigned long nr = 0; | ||
| 3320 | enum lru_list lru; | ||
| 3321 | |||
| 3322 | VM_BUG_ON((unsigned)nid >= nr_node_ids); | ||
| 3323 | |||
| 3324 | for_each_lru(lru) { | ||
| 3325 | if (!(BIT(lru) & lru_mask)) | ||
| 3326 | continue; | ||
| 3327 | nr += lruvec_page_state(lruvec, NR_LRU_BASE + lru); | ||
| 3328 | } | ||
| 3329 | return nr; | ||
| 3330 | } | ||
| 3331 | |||
| 3332 | static unsigned long mem_cgroup_nr_lru_pages(struct mem_cgroup *memcg, | ||
| 3333 | unsigned int lru_mask) | ||
| 3334 | { | ||
| 3335 | unsigned long nr = 0; | ||
| 3336 | enum lru_list lru; | ||
| 3337 | |||
| 3338 | for_each_lru(lru) { | ||
| 3339 | if (!(BIT(lru) & lru_mask)) | ||
| 3340 | continue; | ||
| 3341 | nr += memcg_page_state(memcg, NR_LRU_BASE + lru); | ||
| 3342 | } | ||
| 3343 | return nr; | ||
| 3344 | } | ||
| 3345 | |||
| 3341 | static int memcg_numa_stat_show(struct seq_file *m, void *v) | 3346 | static int memcg_numa_stat_show(struct seq_file *m, void *v) |
| 3342 | { | 3347 | { |
| 3343 | struct numa_stat { | 3348 | struct numa_stat { |