memcg_query
static void test_shmem(struct bpf_link *link, struct memcg_query *memcg_query)
ASSERT_GT(memcg_query->nr_shmem, 0, "final shmem value");
static void test_kmem(struct bpf_link *link, struct memcg_query *memcg_query)
ASSERT_GT(memcg_query->memcg_kmem, 0, "kmem value");
static void test_pgfault(struct bpf_link *link, struct memcg_query *memcg_query)
ASSERT_GT(memcg_query->pgfault, 0, "final pgfault val");
test_anon(link, &skel->data_query->memcg_query);
test_shmem(link, &skel->data_query->memcg_query);
test_file(link, &skel->data_query->memcg_query);
test_kmem(link, &skel->data_query->memcg_query);
test_pgfault(link, &skel->data_query->memcg_query);
static void test_anon(struct bpf_link *link, struct memcg_query *memcg_query)
ASSERT_GT(memcg_query->nr_anon_mapped, 0, "final anon mapped val");
static void test_file(struct bpf_link *link, struct memcg_query *memcg_query)
ASSERT_GT(memcg_query->nr_file_pages, 0, "final file value");
ASSERT_GT(memcg_query->nr_file_mapped, 0, "final file mapped value");
struct memcg_query memcg_query SEC(".data.query");
memcg_query.nr_anon_mapped = bpf_mem_cgroup_page_state(memcg, NR_ANON_MAPPED);
memcg_query.nr_shmem = bpf_mem_cgroup_page_state(memcg, NR_SHMEM);
memcg_query.nr_file_pages = bpf_mem_cgroup_page_state(memcg, NR_FILE_PAGES);
memcg_query.nr_file_mapped = bpf_mem_cgroup_page_state(memcg, NR_FILE_MAPPED);
memcg_query.memcg_kmem = bpf_mem_cgroup_page_state(memcg, MEMCG_KMEM);
memcg_query.pgfault = bpf_mem_cgroup_vm_events(memcg, PGFAULT);