History

mm: memcontrol: quarantine the mem_cgroup_[node_]nr_lru_pages() API

Only memcg_numa_stat_show() uses those wrappers and the lru bitmasks, group them together.

Johannes Weiner committed 7 years ago

Commit 113b7df1 parent 21d89d12 files · +36 −36Browse files

Unified · Split

2 files
  1. include/linux/mmzone.h +0 −5
  2. mm/memcontrol.c +36 −31
include/linux/mmzone.h+0−5
@@ -247,11 +247,6 @@ struct lruvec { · 246 unmodified lines
247247 #endif
248248 };
249249
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−
255250 /* Isolate unmapped file */
256251 #define ISOLATE_UNMAPPED ((__force isolate_mode_t)0x2)
257252 /* Isolate for asynchronous migration */
mm/memcontrol.c+36−31
@@ -725,37 +725,6 @@ static void mem_cgroup_charge_statistics(struct mem_cgroup *memcg, · 724 unmodified lines
725725 __this_cpu_add(memcg->stat_cpu->nr_page_events, nr_pages);
726726 }
727727
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−
759728 static bool mem_cgroup_event_ratelimit(struct mem_cgroup *memcg,
760729 enum mem_cgroup_events_target target)
761730 {
@@ -3338,6 +3307,42 @@ static int mem_cgroup_move_charge_write(struct cgroup_subsys_state *css, · 2576 unmodified lines
33383307 #endif
33393308
33403309 #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+
33413346 static int memcg_numa_stat_show(struct seq_file *m, void *v)
33423347 {
33433348 struct numa_stat {

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t