Messages in this thread | | | From | Johannes Weiner <> | Subject | memcg: save 20% of per-page memcg memory overhead | Date | Thu, 3 Feb 2011 15:26:01 +0100 |
| |
This patch series removes the direct page pointer from struct page_cgroup, which saves 20% of per-page memcg memory overhead (Fedora and Ubuntu enable memcg per default, openSUSE apparently too).
The node id or section number is encoded in the remaining free bits of pc->flags which allows calculating the corresponding page without the extra pointer.
I ran, what I think is, a worst-case microbenchmark that just cats a large sparse file to /dev/null, because it means that walking the LRU list on behalf of per-cgroup reclaim and looking up pages from page_cgroups is happening constantly and at a high rate. But it made no measurable difference. A profile reported a 0.11% share of the new lookup_cgroup_page() function in this benchmark.
Hannes
| |