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 X-Spam-Level: X-Spam-Status: No, score=-10.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,NICE_REPLY_A,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 86146C63777 for ; Mon, 30 Nov 2020 20:20:58 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 260872073C for ; Mon, 30 Nov 2020 20:20:58 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=linux-foundation.org header.i=@linux-foundation.org header.b="iQpTPV6t" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730082AbgK3UUj (ORCPT ); Mon, 30 Nov 2020 15:20:39 -0500 Received: from mail.kernel.org ([198.145.29.99]:57648 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729128AbgK3UUi (ORCPT ); Mon, 30 Nov 2020 15:20:38 -0500 Received: from localhost.localdomain (c-73-231-172-41.hsd1.ca.comcast.net [73.231.172.41]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 196652073C; Mon, 30 Nov 2020 20:19:57 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linux-foundation.org; s=korg; t=1606767597; bh=IGfehF/9E98izNV6ogBcmtUVEFhRed5sDjeMmkwRLiQ=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=iQpTPV6tm3Yu5KcNVcP4PzoTXqUem6muQ9GyaE6DXYOfKC6IkFVR1gYI2hOaas/M1 xw3AyhAioThupDo/Qii4pmFZpMlPPMGUheek/NAj2b5HZ07/LLKFiptQSLSl/jeBva XRj4YSDlEGQ289+IOXw2wPsTCi1Bo3ZtwV6VTWUU= Date: Mon, 30 Nov 2020 12:19:56 -0800 From: Andrew Morton To: Dmitry Osipenko Cc: Alex Shi , Johannes Weiner , Shakeel Butt , Roman Gushchin , Lorenzo Stoakes , Stephen Rothwell , Alexander Duyck , Yafang Shao , Wei Yang , linux-kernel@vger.kernel.org, "linux-arm-kernel@lists.infradead.org" Subject: Re: [PATCH] mm/memcg: bail out early when !memcg in mem_cgroup_lruvec Message-Id: <20201130121956.d03efaa95d3112d0b91291d6@linux-foundation.org> In-Reply-To: <67aacbba-7049-bee8-0ad4-ab4db588c841@gmail.com> References: <1606446515-36069-1-git-send-email-alex.shi@linux.alibaba.com> <20201127200215.dc96a839cdd816361e7093e6@linux-foundation.org> <9ddb17cd-cf5f-15b1-6a7d-986ee44fd5df@linux.alibaba.com> <67aacbba-7049-bee8-0ad4-ab4db588c841@gmail.com> X-Mailer: Sylpheed 3.5.1 (GTK+ 2.24.31; x86_64-pc-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, 30 Nov 2020 22:44:11 +0300 Dmitry Osipenko wrote: > > From: Alex Shi > > Date: Wed, 25 Nov 2020 14:06:33 +0800 > > Subject: [PATCH v2] mm/memcg: bail out early when !memcg in mem_cgroup_lruvec > > > > Sometime, we use NULL memcg in mem_cgroup_lruvec(memcg, pgdat) > > so we could get out early in the situation to avoid useless checking. > > > > Polished as Andrew Morton's suggestion. > > > > --- a/include/linux/memcontrol.h > > +++ b/include/linux/memcontrol.h > > @@ -610,20 +610,17 @@ mem_cgroup_nodeinfo(struct mem_cgroup *memcg, int nid) > > static inline struct lruvec *mem_cgroup_lruvec(struct mem_cgroup *memcg, > > struct pglist_data *pgdat) > > { > > - struct mem_cgroup_per_node *mz; > > struct lruvec *lruvec; > > > > - if (mem_cgroup_disabled()) { > > + if (mem_cgroup_disabled() || !memcg) { > > lruvec = &pgdat->__lruvec; > > - goto out; > > - } > > + } else { > > + struct mem_cgroup_per_node *mz; > > > > - if (!memcg) > > - memcg = root_mem_cgroup; > > + mz = mem_cgroup_nodeinfo(memcg, pgdat->node_id); > > + lruvec = &mz->lruvec; > > + } > > > > - mz = mem_cgroup_nodeinfo(memcg, pgdat->node_id); > > - lruvec = &mz->lruvec; > > -out: > > /* > > * Since a node can be onlined after the mem_cgroup was created, > > * we have to be prepared to initialize lruvec->pgdat here; > > > > Hi, > > This patch causes a hard lock on one of my ARM32 devices using today's > linux-next, please fix. Thanks. This is unexpected. I assume you've confirmed that reverting this change from linux-next fixes things?