Re: [PATCH v3 16/28] memcg: kmem controller charge/uncharge infrastructure

From: Glauber Costa
Date: Wed May 30 2012 - 08:28:48 EST


On 05/30/2012 04:17 PM, Frederic Weisbecker wrote:
On Fri, May 25, 2012 at 05:03:36PM +0400, Glauber Costa wrote:
#endif /* CONFIG_CGROUP_MEM_RES_CTLR_KMEM */
+static __always_inline struct kmem_cache *
+mem_cgroup_get_kmem_cache(struct kmem_cache *cachep, gfp_t gfp)
+{
+ if (!mem_cgroup_kmem_on)
+ return cachep;
+ if (!current->mm)
+ return cachep;
+ if (in_interrupt())
+ return cachep;

Does that mean interrupts are kept out of accounting?

Well, since interrupts have no process context, if you are in an interrupt I can't think of any sane thing to do than relay it to the root memcg. That's what happen when I return cachep: I return the original parent cache, and we allocate from that.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/