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 | 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 | 250 | /* Isolate unmapped file */ |
| 256 | 251 | #define ISOLATE_UNMAPPED ((__force isolate_mode_t)0x2) |
| 257 | 252 | /* Isolate for asynchronous migration */ |
| @@ -725,37 +725,6 @@ static void mem_cgroup_charge_statistics(struct mem_cgroup *memcg, · 724 unmodified lines | ||
| 725 | 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 | 728 | static bool mem_cgroup_event_ratelimit(struct mem_cgroup *memcg, |
| 760 | 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 | 3307 | #endif |
| 3339 | 3308 | |
| 3340 | 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 | 3346 | static int memcg_numa_stat_show(struct seq_file *m, void *v) |
| 3342 | 3347 | { |
| 3343 | 3348 | struct numa_stat { |