From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id E3FDDC369CB for ; Wed, 23 Apr 2025 22:13:57 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 6232B6B0006; Wed, 23 Apr 2025 18:13:55 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 5D2C46B0007; Wed, 23 Apr 2025 18:13:55 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 499886B0008; Wed, 23 Apr 2025 18:13:55 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 2AA536B0006 for ; Wed, 23 Apr 2025 18:13:55 -0400 (EDT) Received: from smtpin11.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id BC372B6218 for ; Wed, 23 Apr 2025 22:13:56 +0000 (UTC) X-FDA: 83366712072.11.059B6D1 Received: from out-185.mta0.migadu.com (out-185.mta0.migadu.com [91.218.175.185]) by imf10.hostedemail.com (Postfix) with ESMTP id E2ECBC000E for ; Wed, 23 Apr 2025 22:13:54 +0000 (UTC) Authentication-Results: imf10.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=FpZ6E9zE; spf=pass (imf10.hostedemail.com: domain of shakeel.butt@linux.dev designates 91.218.175.185 as permitted sender) smtp.mailfrom=shakeel.butt@linux.dev; dmarc=pass (policy=none) header.from=linux.dev ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1745446435; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=2+E9cdn9Glqpj5x7uDYNuQcvdwYFdyCr3nSZbwJvgho=; b=g1zC0l5InkcJ1pz/dc4dNOMrcraOnKtQNq9MI6ETOIbu9f/dA3WmzaTn/xxdV7scR6bZNM w2tFvozTTxdARrvIRDsVXsHmQzC5aaWZM+vCCejezZ024eWD7HemoohlHF5M7V28+TaJUg zpgN3GjKQHxatH463Ct7RqSmxEMtn9g= ARC-Authentication-Results: i=1; imf10.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=FpZ6E9zE; spf=pass (imf10.hostedemail.com: domain of shakeel.butt@linux.dev designates 91.218.175.185 as permitted sender) smtp.mailfrom=shakeel.butt@linux.dev; dmarc=pass (policy=none) header.from=linux.dev ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1745446435; a=rsa-sha256; cv=none; b=4Hh51JrTNWzkJJsz+65gzMkorVxkVNLNM78kUMgy6TQsdqFKDumJTMJMkmhOVBW9EOQqsr rI5THZrDRY//Fsq7CV/543OxbMlpAn7VHQ2KyZ/RRVtpC8Ak95HHJe9m1fweCx5QrV1zgV j2Mg1GL6j/P/fI3mrnsinLjQrKe0VtE= Date: Wed, 23 Apr 2025 15:13:47 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1745446432; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=2+E9cdn9Glqpj5x7uDYNuQcvdwYFdyCr3nSZbwJvgho=; b=FpZ6E9zEa+lLOExpS2FXQfpVOhVk22iM5558fY6pBKGIx5nUk5rvnPXAh2Li02cLFagoGK OLM3zqppzThUDt8Ebm84CgZtwLFYLtcIdMfSFcs1R1OyAOn4/VEjskTOJEk7sgFeInW5SI gWJdZBVbOzkF52EO6pCqjjWzTpIIytI= X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. From: Shakeel Butt To: Andrew Morton Cc: Huan Yang , Johannes Weiner , Michal Hocko , Roman Gushchin , Muchun Song , cgroups@vger.kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, opensource.kernel@vivo.com Subject: Re: [PATCH 1/2] mm/memcg: use kmem_cache when alloc memcg Message-ID: References: <20250423084306.65706-1-link@vivo.com> <20250423084306.65706-2-link@vivo.com> <20250423145912.3e0062864b6969b3623c8ff6@linux-foundation.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20250423145912.3e0062864b6969b3623c8ff6@linux-foundation.org> X-Migadu-Flow: FLOW_OUT X-Rspam-User: X-Rspamd-Server: rspam09 X-Rspamd-Queue-Id: E2ECBC000E X-Stat-Signature: ege8m87c9pid3yfk8kymqy1qid4jkrog X-HE-Tag: 1745446434-856064 X-HE-Meta: U2FsdGVkX1/rHJqYXNMeGJAZ4M2d82fOV1s93PmgPVfoSstRpvhYSssLQIDl0k70mMpGJiWfGiJrRaURWCuQqWYOakje0R+AR5Ad5kp2TIqQ1LJBSlLRSM5IxeshIWNHD4MSv6XyhDXZDloN2LZKl/81F4x8tdagZkWqzFT4NNMrGYdLpMt9Jr4J1dt1kk7LOaeiv+92Uxo6yK2fi4Q29xFMS/zjCXAn3MuB4qOMIfVpqDH9WeXzE0i91T08CYAxK3wrDP1olePOi8pNVSQEae77APoc3xLUDGEZVOxqP0STnyATczYmKkrGwWo5GqIrSLf5nMsoQtm9Q2lSBLTQAa5EBiXiaDWrblvtCUnffa5LgV4nKGkCRiDQ6RsPdsi5oLEQUhGFPcE5DxzZMgGYQ+WzThkfViH5HX6hrAwsi2NjUncoWI+yiszagYtoHAl1GJtMoyUjEKmj+3sNTACp8qxVne1/T6fu/Fom3YBOj17xBmQB3rntXHdc9woEZP+jv4jv7s7OsX8YhLCHA79Bib7Uoglsr970lZ+HTxJDdtHbZ957YbRhGHsCB68eYVzzxeKwvXDvTcclSjHc1F2no3EAslr+lTZSWeTaI5XdJG1NM4tSEc512BfhBItIaXcBkt4BkHE0BRaATp4dA28GhdfzoT0uwv6VYbEQeceHY+t/KKsOFbjhkXAWmR62Ntal49ZQhqXAlVFlzAFW7kp6f7d69rRH2wcefnJK8IFo+96CHobh9yHzLhoLUxcvUAqWkPDymQmLfDyaIUiC0nJcR+1X1sMTcPLAV0bH/UJ440zqX7uwmtyMN+W5+Cgj0BfwpN+oQvc70AjbMU6ilnOrBo2EI5gRnrcj2hQOeaD2FfAFRjra4C+/6m6bl+z++uNGvX39f8ieL7+ZiSFuaJ+Y3oqWmlg+VeLpVZGi2VRVUyA7nxb2D//9Rss8GbXhVIOwvV7hqLotYHU9rj+cmWx MSwNeDpv ym2DZxm+4m8+BZJidgi8DnI5SuWCDZCA4AKIBN0Uqe3wl0+3tjNO+quClGoBFv8D4dXp+oVzDi6KaWo0IJG5GP1VOU+o/+MApMAZ3PAriTxuiPMymZewR/Uz90DoFZb5x0MiYQxEQjtCxJdO1qI65mzC7sU2IUikxLe0x8l6cgaoagZAZ5vq1knxyxmMeft3IgXDA+twXlW1Vx6VM4WLP1W2Gj/5fNfSHxCHNaxv+D00AnWyt58l75uMcryzBrXMLESZu X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On Wed, Apr 23, 2025 at 02:59:12PM -0700, Andrew Morton wrote: > On Wed, 23 Apr 2025 16:43:04 +0800 Huan Yang wrote: > > > @@ -3652,7 +3654,10 @@ static struct mem_cgroup *mem_cgroup_alloc(struct mem_cgroup *parent) > > int __maybe_unused i; > > long error; > > > > - memcg = kzalloc(struct_size(memcg, nodeinfo, nr_node_ids), GFP_KERNEL); > > + memcg = likely(memcg_cachep) ? > > + kmem_cache_zalloc(memcg_cachep, GFP_KERNEL) : > > + kzalloc(struct_size(memcg, nodeinfo, nr_node_ids), > > + GFP_KERNEL); > > Why are we testing for memcg_cachep=NULL? > > > @@ -5055,6 +5061,10 @@ static int __init mem_cgroup_init(void) > > INIT_WORK(&per_cpu_ptr(&memcg_stock, cpu)->work, > > drain_local_stock); > > > > + memcg_size = struct_size_t(struct mem_cgroup, nodeinfo, nr_node_ids); > > + memcg_cachep = kmem_cache_create("mem_cgroup", memcg_size, 0, > > + SLAB_PANIC | SLAB_HWCACHE_ALIGN, NULL); > > If it's because this allocation might have failed then let's not > bother. If an __init-time allocation failed, this kernel is unusable > anyway. +1 to Andrew's point. SLAB_PANIC is used here, so, memcg_cachep can't be NULL later.