Lines Matching refs:stats
21 void (*next_handler)(struct memcg_stats *stats,
28 static void memcg_stats_handle_searching(struct memcg_stats *stats,
31 static void memcg_stats_handle_in_memcg(struct memcg_stats *stats,
34 static void memcg_stats_handle_in_node(struct memcg_stats *stats,
51 static void memcg_stats_handle_searching(struct memcg_stats *stats, in memcg_stats_handle_searching() argument
74 stats->memcg_id = strtoul(memcg_id, &end, 10); in memcg_stats_handle_searching()
76 if (!stats->memcg_id) in memcg_stats_handle_searching()
82 static void memcg_stats_handle_in_memcg(struct memcg_stats *stats, in memcg_stats_handle_in_memcg() argument
113 ctx->current_node_idx = stats->nr_nodes++; in memcg_stats_handle_in_memcg()
117 stats->nodes[ctx->current_node_idx].node = found_node_id; in memcg_stats_handle_in_memcg()
122 static void memcg_stats_handle_in_node(struct memcg_stats *stats, in memcg_stats_handle_in_node() argument
149 node_stats = &stats->nodes[ctx->current_node_idx]; in memcg_stats_handle_in_node()
181 static void print_memcg_stats(const struct memcg_stats *stats, const char *name) in print_memcg_stats() argument
185 pr_debug("stats for memcg %s (id %lu):\n", name, stats->memcg_id); in print_memcg_stats()
186 for (node = 0; node < stats->nr_nodes; ++node) { in print_memcg_stats()
187 pr_debug("\tnode %d\n", stats->nodes[node].node); in print_memcg_stats()
188 for (gen = 0; gen < stats->nodes[node].nr_gens; ++gen) { in print_memcg_stats()
190 &stats->nodes[node].gens[gen]; in print_memcg_stats()
201 void lru_gen_read_memcg_stats(struct memcg_stats *stats, const char *memcg) in lru_gen_read_memcg_stats() argument
212 memset(stats, 0, sizeof(struct memcg_stats)); in lru_gen_read_memcg_stats()
221 ctx.next_handler(stats, &ctx, line); in lru_gen_read_memcg_stats()
230 TEST_ASSERT(stats->memcg_id > 0, "Couldn't find memcg: %s\n" in lru_gen_read_memcg_stats()
237 print_memcg_stats(stats, memcg); in lru_gen_read_memcg_stats()
246 const struct memcg_stats *stats) in lru_gen_sum_memcg_stats_for_gen() argument
251 for (node = 0; node < stats->nr_nodes; ++node) { in lru_gen_sum_memcg_stats_for_gen()
252 const struct node_stats *node_stats = &stats->nodes[node]; in lru_gen_sum_memcg_stats_for_gen()
269 long lru_gen_sum_memcg_stats(const struct memcg_stats *stats) in lru_gen_sum_memcg_stats() argument
271 return lru_gen_sum_memcg_stats_for_gen(-1, stats); in lru_gen_sum_memcg_stats()
302 void lru_gen_do_aging(struct memcg_stats *stats, const char *memcg) in lru_gen_do_aging() argument
309 lru_gen_read_memcg_stats(stats, memcg); in lru_gen_do_aging()
311 for (node = 0; node < stats->nr_nodes; ++node) { in lru_gen_do_aging()
314 for (gen = 0; gen < stats->nodes[node].nr_gens; ++gen) { in lru_gen_do_aging()
315 int this_gen = stats->nodes[node].gens[gen].gen; in lru_gen_do_aging()
320 run_aging_impl(stats->memcg_id, stats->nodes[node].node, in lru_gen_do_aging()
325 lru_gen_read_memcg_stats(stats, memcg); in lru_gen_do_aging()
332 int lru_gen_find_generation(const struct memcg_stats *stats, in lru_gen_find_generation() argument
337 for (node = 0; node < stats->nr_nodes; ++node) in lru_gen_find_generation()
338 for (gen_idx = 0; gen_idx < stats->nodes[node].nr_gens; in lru_gen_find_generation()
340 gen = stats->nodes[node].gens[gen_idx].gen; in lru_gen_find_generation()
347 if (lru_gen_sum_memcg_stats_for_gen(gen, stats) > pages) in lru_gen_find_generation()