Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756449Ab1BCO2A (ORCPT ); Thu, 3 Feb 2011 09:28:00 -0500 Received: from zene.cmpxchg.org ([85.214.230.12]:40517 "EHLO zene.cmpxchg.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755086Ab1BCO1L (ORCPT ); Thu, 3 Feb 2011 09:27:11 -0500 From: Johannes Weiner To: Andrew Morton Cc: KAMEZAWA Hiroyuki , Daisuke Nishimura , Balbir Singh , , Subject: memcg: save 20% of per-page memcg memory overhead Date: Thu, 3 Feb 2011 15:26:01 +0100 Message-Id: <1296743166-9412-1-git-send-email-hannes@cmpxchg.org> X-Mailer: git-send-email 1.7.4 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/