/* Removal of cgroup itself succeeds regardless of refs from swap.  */
static void __mem_cgroup_free(struct mem_cgroup *mem)
/* Removal of cgroup itself succeeds regardless of refs from swap.  */
static void __mem_cgroup_free(struct mem_cgroup *mem)
{
	int node;
	mem_cgroup_remove_from_trees(mem);
	free_css_id(&mem_cgroup_subsys, &mem->css);
	for_each_node_state(node, N_POSSIBLE)
		free_mem_cgroup_per_zone_info(mem, node);
	if (mem_cgroup_size() < PAGE_SIZE)
		kfree(mem);
	else
		vfree(mem);
}