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=-8.3 required=3.0 tests=DKIMWL_WL_MED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_IN_DEF_DKIM_WL autolearn=no 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 E5F93C433E1 for ; Fri, 19 Jun 2020 02:37:18 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 8BC0420776 for ; Fri, 19 Jun 2020 02:37:18 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="RSIea/1f" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 8BC0420776 Authentication-Results: mail.kernel.org; dmarc=fail (p=reject dis=none) header.from=google.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id C22D18D006F; Thu, 18 Jun 2020 22:37:17 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id BD3478D0052; Thu, 18 Jun 2020 22:37:17 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id AC1EB8D006F; Thu, 18 Jun 2020 22:37:17 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0064.hostedemail.com [216.40.44.64]) by kanga.kvack.org (Postfix) with ESMTP id 9085B8D0052 for ; Thu, 18 Jun 2020 22:37:17 -0400 (EDT) Received: from smtpin01.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay05.hostedemail.com (Postfix) with ESMTP id 181AA181AC9CC for ; Fri, 19 Jun 2020 02:37:17 +0000 (UTC) X-FDA: 76944399714.01.chess55_1c0c35f26e14 Received: from filter.hostedemail.com (10.5.16.251.rfc1918.com [10.5.16.251]) by smtpin01.hostedemail.com (Postfix) with ESMTP id B0BEF20001C72748 for ; Fri, 19 Jun 2020 01:18:20 +0000 (UTC) X-HE-Tag: chess55_1c0c35f26e14 X-Filterd-Recvd-Size: 4778 Received: from mail-lj1-f193.google.com (mail-lj1-f193.google.com [209.85.208.193]) by imf20.hostedemail.com (Postfix) with ESMTP for ; Fri, 19 Jun 2020 01:18:20 +0000 (UTC) Received: by mail-lj1-f193.google.com with SMTP id n24so9530909lji.10 for ; Thu, 18 Jun 2020 18:18:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=tLLyH9dUIWHAb6HECqRyGiz/qdtoWlUwUhUvfx0j4VY=; b=RSIea/1fdmF4k1iLDAOOOIup5bIB1WMgBwaOjffgT+EnYQTIY6WAecka/Iq8w+UPuX PgwZ3L5dy5wL4e2SJQz6sXW4Nzm4+XFmKJJvoBHxWiy8T/LTqQGCkYkSWWUbcORzszsF baVosUxCrtHwdSgunPpl+7PINlpTqhC2ptUevd/9jyDgNwYXGjWj4m/yH+1+so7tyCzL vb4qQMNsS/nLeiwOWrf4SMxr6O5F0Vt0Bymk5MNL0gxY2umcBv+rmm9oIi8iWnnBXMuu C4inADk+PyFgNddKbSuqR4HJpbH+4iD273kjz4Kam6ngL6LPEdJPa+77XTt1Do/ysEck 1wTA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=tLLyH9dUIWHAb6HECqRyGiz/qdtoWlUwUhUvfx0j4VY=; b=Qpp+Vq/XEbl+6u488t9q+C3dCBXRb01t+bKHHh4HEmyd8wooC82GGkAqpaQ6WdM9Qk 4o7pn9D7rK8Thm29/yBSBFnGK5gj48v/eKKcazGr7eUaE4QWovxYIqngXz2BC+epb8go e4J6ZKuvDEMRRbUKlXK3I/iY7otzFapc2M/+ypbcZo7+h5LevHkYWvHRqqmASJ2lwlhW R+C4MHtidp8FG4pVES6oF0QV2RjPhNQFYy95/5IxxtLsapDsxMUyY5KJY/7pp2COPsFr BZaWgaMe2en2ap//FNvKKjNLzYOZ4WxJva39LyivxijX8V92MXgnOoc9i5FnFtDtXrrm fWZQ== X-Gm-Message-State: AOAM531R3KB+hkldYd5jAUnvKH+YPNeV+w9dletQYhyLDkMVOdrmA3tw s2xhVR4F/CFtOgtokVR9FXc7+2kdL9hzEemPtmxRag== X-Google-Smtp-Source: ABdhPJwXOVhEtzyb/wAwVA7Vh71GAsBs+1etttuuqscKFC88HjZG9+loY3v81M+/SLK7r9MdPIqAGdCZqqJWoWbeaqk= X-Received: by 2002:a2e:968a:: with SMTP id q10mr516738lji.192.1592529498411; Thu, 18 Jun 2020 18:18:18 -0700 (PDT) MIME-Version: 1.0 References: <20200608230654.828134-1-guro@fb.com> <20200608230654.828134-6-guro@fb.com> <20200619010837.GB135965@carbon.dhcp.thefacebook.com> In-Reply-To: <20200619010837.GB135965@carbon.dhcp.thefacebook.com> From: Shakeel Butt Date: Thu, 18 Jun 2020 18:18:07 -0700 Message-ID: Subject: Re: [PATCH v6 05/19] mm: memcontrol: decouple reference counting from page accounting To: Roman Gushchin Cc: Andrew Morton , Christoph Lameter , Johannes Weiner , Michal Hocko , Linux MM , Vlastimil Babka , Kernel Team , LKML Content-Type: text/plain; charset="UTF-8" X-Rspamd-Queue-Id: B0BEF20001C72748 X-Spamd-Result: default: False [0.00 / 100.00] X-Rspamd-Server: rspam01 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 Thu, Jun 18, 2020 at 6:08 PM Roman Gushchin wrote: > > On Thu, Jun 18, 2020 at 07:55:35AM -0700, Shakeel Butt wrote: > > Not sure if my email went through, so, re-sending. > > > > On Mon, Jun 8, 2020 at 4:07 PM Roman Gushchin wrote: > > > > > > From: Johannes Weiner > > > > > [...] > > > @@ -3003,13 +3004,16 @@ void __memcg_kmem_uncharge_page(struct page *page, int order) > > > */ > > > void mem_cgroup_split_huge_fixup(struct page *head) > > > { > > > + struct mem_cgroup *memcg = head->mem_cgroup; > > > int i; > > > > > > if (mem_cgroup_disabled()) > > > return; > > > > > > > A memcg NULL check is needed here. > > Hm, it seems like the only way how it can be NULL is if mem_cgroup_disabled() is true: > > int mem_cgroup_charge(struct page *page, struct mm_struct *mm, gfp_t gfp_mask) > { > unsigned int nr_pages = hpage_nr_pages(page); > struct mem_cgroup *memcg = NULL; > int ret = 0; > > if (mem_cgroup_disabled()) > goto out; > > <...> > > if (!memcg) > memcg = get_mem_cgroup_from_mm(mm); > > ret = try_charge(memcg, gfp_mask, nr_pages); > if (ret) > goto out_put; > > css_get(&memcg->css); > commit_charge(page, memcg); > > > Did you hit this issue in reality? The only possible scenario I can imagine > is if the page was allocated before enabling memory cgroups. > > Are you about this case? > > Otherwise we put root_mem_cgroup there. > Oh yes, you are right. I am confusing this with kmem pages for root memcg where we don't set the page->mem_cgroup and this patch series should be changing that. Shakeel