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 06C04C25B06 for ; Fri, 12 Aug 2022 00:36:00 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 8FFAF8E0001; Thu, 11 Aug 2022 20:35:59 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 8ACE46B0075; Thu, 11 Aug 2022 20:35:59 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 774478E0001; Thu, 11 Aug 2022 20:35:59 -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 65EBA6B0073 for ; Thu, 11 Aug 2022 20:35:59 -0400 (EDT) Received: from smtpin18.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 350DD16195F for ; Fri, 12 Aug 2022 00:35:59 +0000 (UTC) X-FDA: 79789073238.18.ADCCC51 Received: from mail-vk1-f174.google.com (mail-vk1-f174.google.com [209.85.221.174]) by imf09.hostedemail.com (Postfix) with ESMTP id C6E57140076 for ; Fri, 12 Aug 2022 00:35:58 +0000 (UTC) Received: by mail-vk1-f174.google.com with SMTP id q14so9740879vke.9 for ; Thu, 11 Aug 2022 17:35:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc; bh=yuY+CrCHh5iw+dz75cfyoj809nIH6VdKTSl/omRXr5U=; b=i1Gul5mNUaGw0nEn45PkbfTZH4+QbO/gOPWf/jsd64c71pMPnEeeHNYaoOOp67Zejt HpGF4V+24V8nXoTcVT4SHXmiq4UexxZ3dUGwRBJg3FRuVytPb7PUJNTEblSIDjNBYcEm qctERzIXn9FadN5Vl1NFwcOBA/zocktk1pILQr9hFYzS7oPSTmuBt5L9b8rt8NdzSeJ1 MB7mDKGrpXakXW6dVQDrPuD0mbJUGuSK6LV3+3AzhljRMcXN8tEvhxoWu9NJKdF83ozw 7vBDnJEq00k1Ftip8T8YRia0E0X2u+O6GMRbmczuYSQw0TTu7taqB6JNwpQGW9+odD7t OrJA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc; bh=yuY+CrCHh5iw+dz75cfyoj809nIH6VdKTSl/omRXr5U=; b=iJlTFZmS9f5XFjfOSkaCdvXuKLm34nXiOhfoGhgnAS2NSYI80H2oS+h9PywjidspJs hJ5JDiDtnp4iQi3TUHrThqJZbqwKSfQn7rd1Hz8WdHW7AjSYuwaLQuTZECmH7u26nQD/ DwbtM9q0Asg3//koh6Z1CU5/WY/WLNrhuiA4l+QUtSVi0WbLejIcnEGKJGuSemue3Dw8 pf/1j5a7alBCnMVq6iA9pnDI5VLzxPXUFpxBicDpr38X3IfMh157oTdOQHzbfWcfAwHx S493rAPdtQTaqKMNw9OwGnJWlq3qUP/QcCm77GbAaMn7U7J17X2Z5gpoFYQ14AM3pXeM jsuQ== X-Gm-Message-State: ACgBeo0R8GI4Mqxm335DP0eOXc0lu5O9bDwvbethuovfc8N4eL3juJzQ M/+XAwLG6pRTisWbiElHi32CkveMWrSxSo/zd+8= X-Google-Smtp-Source: AA6agR4QQq0m0CiuaafU7RoXywD0uAF8KN6aON3rhPKA9cVL1UwhSp9yA8+kuveWfkVWlkakLoLERLQNQcomx6oW5Ec= X-Received: by 2002:a05:6122:154:b0:377:ebed:7e5d with SMTP id r20-20020a056122015400b00377ebed7e5dmr821743vko.41.1660264558090; Thu, 11 Aug 2022 17:35:58 -0700 (PDT) MIME-Version: 1.0 References: <20220810151840.16394-1-laoar.shao@gmail.com> <20220810151840.16394-14-laoar.shao@gmail.com> In-Reply-To: From: Yafang Shao Date: Fri, 12 Aug 2022 08:35:19 +0800 Message-ID: Subject: Re: [PATCH bpf-next 13/15] mm, memcg: Add new helper get_obj_cgroup_from_cgroup To: Roman Gushchin Cc: Alexei Starovoitov , Daniel Borkmann , Andrii Nakryiko , Martin Lau , Song Liu , Yonghong Song , john fastabend , KP Singh , Stanislav Fomichev , Hao Luo , jolsa@kernel.org, Johannes Weiner , Michal Hocko , Shakeel Butt , Muchun Song , Andrew Morton , netdev , bpf , Linux MM Content-Type: text/plain; charset="UTF-8" ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1660264558; a=rsa-sha256; cv=none; b=YPP60u7lG0FbXsIyc/LhcZu1an5vXy+qolgRi9JXbHcWOkVbZc4NwmdpmgqZbWgKBdG9RJ qGVYDOBQsrWR8ewaAQPgb43Y94h6Hyv9gTK2S6jNsYbGscCdCGh5mDFjhLFEmXUEKXDcTk KKSqy0E+8ozpIsUe69rh8i6eFi+QwoY= ARC-Authentication-Results: i=1; imf09.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=i1Gul5mN; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf09.hostedemail.com: domain of laoar.shao@gmail.com designates 209.85.221.174 as permitted sender) smtp.mailfrom=laoar.shao@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1660264558; 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=yuY+CrCHh5iw+dz75cfyoj809nIH6VdKTSl/omRXr5U=; b=3klsNIh9dKXmtbKYRe0spAQIv4qS81P507dPBlXGvn3WdlzA4VrT63ymgeBv5di0qjreAd 2Pc2ZS8bOsjZCt6KRUlCX/10ME8DARdbZfv8roo46jJR14co7YwL6T0TYSy9BkeQc3HyC0 Yj6C3134Ol2JOyqTcleJ2e/40L5MDkM= X-Rspamd-Server: rspam02 X-Rspamd-Queue-Id: C6E57140076 Authentication-Results: imf09.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=i1Gul5mN; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf09.hostedemail.com: domain of laoar.shao@gmail.com designates 209.85.221.174 as permitted sender) smtp.mailfrom=laoar.shao@gmail.com X-Stat-Signature: pcrc9mokqfftxagcbrauxdiyx6z3tw1d X-Rspam-User: X-HE-Tag: 1660264558-430142 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: On Fri, Aug 12, 2022 at 12:16 AM Roman Gushchin wrote: > > On Wed, Aug 10, 2022 at 03:18:38PM +0000, Yafang Shao wrote: > > Introduce new helper get_obj_cgroup_from_cgroup() to get obj_cgroup from > > a specific cgroup. > > > > Signed-off-by: Yafang Shao > > --- > > include/linux/memcontrol.h | 1 + > > mm/memcontrol.c | 41 +++++++++++++++++++++++++++++++++++++++++ > > 2 files changed, 42 insertions(+) > > > > diff --git a/include/linux/memcontrol.h b/include/linux/memcontrol.h > > index 2f0a611..901a921 100644 > > --- a/include/linux/memcontrol.h > > +++ b/include/linux/memcontrol.h > > @@ -1713,6 +1713,7 @@ static inline void set_shrinker_bit(struct mem_cgroup *memcg, > > int __memcg_kmem_charge_page(struct page *page, gfp_t gfp, int order); > > void __memcg_kmem_uncharge_page(struct page *page, int order); > > > > +struct obj_cgroup *get_obj_cgroup_from_cgroup(struct cgroup *cgrp); > > struct obj_cgroup *get_obj_cgroup_from_current(void); > > struct obj_cgroup *get_obj_cgroup_from_page(struct page *page); > > > > diff --git a/mm/memcontrol.c b/mm/memcontrol.c > > index 618c366..762cffa 100644 > > --- a/mm/memcontrol.c > > +++ b/mm/memcontrol.c > > @@ -2908,6 +2908,47 @@ static struct obj_cgroup *__get_obj_cgroup_from_memcg(struct mem_cgroup *memcg) > > return objcg; > > } > > > > +static struct obj_cgroup *get_obj_cgroup_from_memcg(struct mem_cgroup *memcg) > > +{ > > + struct obj_cgroup *objcg; > > + > > + if (memcg_kmem_bypass()) > > + return NULL; > > + > > + rcu_read_lock(); > > + objcg = __get_obj_cgroup_from_memcg(memcg); > > + rcu_read_unlock(); > > + return objcg; > > This code doesn't make sense to me. What does rcu read lock protect here? To protect rcu_dereference(memcg->objcg);. Doesn't it need the read rcu lock ? -- Regards Yafang