Received: by 2002:a05:6a10:9848:0:0:0:0 with SMTP id x8csp1762138pxf; Fri, 2 Apr 2021 22:50:05 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxmeFG1gQXU3gEKFhrua9lX5ReFS4M6tNKNPLXHZJGt95S+WsQ+eYa3+ygEqCK//2X92VFQ X-Received: by 2002:a50:c004:: with SMTP id r4mr4517654edb.192.1617429005235; Fri, 02 Apr 2021 22:50:05 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1617429005; cv=none; d=google.com; s=arc-20160816; b=kKYozlY/GFCahDz0OwqU5qVfRcabRq6bs4C2xPmwciwFmv5YGaeXvyRI6l2cZbvyIl wXLl1ub7BM9FzibiYspPaP384ANRxen0NEPgKFc7Zo2aFvd65yZjGytlJLJkFNxGkfni /GxhJLuNMX/Szj+o5pMZzLAnShDWCkVtWsjtjaevfb8zvXrSU2tB02UAOIdkFhs8M7un ga4zD3qAZ14dQEbNpC47orLGkklW/YlC8yCQh2Aq/aZvmQRR7yB+2NvmGG02SU7TvGta tBSmEk3xbphG456M9TAfpyhAJsikxubxCggq3LzBHsHCvsgy0pFwXU8RpVfzA6HdzgaT EpJg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=V+wFWYRFis43GOTN2XRu8TgjxNZOmO8IgF4gRsiv9cA=; b=ZGGYJlOaMayJxDkRbBGMAunnwBd50sbuYH/A1Q++ugxvNdm+lSkdtyhAVUM2UcgnFj 8QgpAI7ewAOvilJL+OUFr/V2jhNVG0n91wyff8KOjtlVPA1cUNd9rW/ZwLLrW87MN16x XP7tAmyxjwiR5MARt0wYHHldTXKEMQCbuW2QANNl96logjtCA2dx/+M+IKOcY2G8LL2p uSHXg2VlGp4bK6kY7n2B10QamH99w8Y7vyGULKrBlEOcsK4vc07vT6Y8hJZBb5OjVvMY rdCDH3dbacP4QRdkIHqWYdAHmESjwkSNMdJUf9mFffF7SOmR7gYskbtetVrbQdcBDG0i 4ORg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@bytedance-com.20150623.gappssmtp.com header.s=20150623 header.b=pMd1Fbuv; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=bytedance.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id jy27si7671165ejc.748.2021.04.02.22.49.41; Fri, 02 Apr 2021 22:50:05 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@bytedance-com.20150623.gappssmtp.com header.s=20150623 header.b=pMd1Fbuv; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=bytedance.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232157AbhDCFrp (ORCPT + 99 others); Sat, 3 Apr 2021 01:47:45 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45994 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232140AbhDCFro (ORCPT ); Sat, 3 Apr 2021 01:47:44 -0400 Received: from mail-pj1-x102c.google.com (mail-pj1-x102c.google.com [IPv6:2607:f8b0:4864:20::102c]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A7F20C0613E6 for ; Fri, 2 Apr 2021 22:47:42 -0700 (PDT) Received: by mail-pj1-x102c.google.com with SMTP id ha17so3590298pjb.2 for ; Fri, 02 Apr 2021 22:47:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bytedance-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=V+wFWYRFis43GOTN2XRu8TgjxNZOmO8IgF4gRsiv9cA=; b=pMd1FbuvZ5E2fr1ocmyqnh+uLdNieVu/k08bIWoaWboRu1GuMhWuxbxzopnRIIA9lc zKwlsLoFQIrvZO9+Oo5f16yHnpzmH+iue6MrfQZ68f+gsl7xZ5h4aANWgAt4AjBkOBIn LczolwaRoieF168IcrjESxGMivxeYdlo7Pm9SyQ/si7aRk4o9K2fQKJkVd7bDtift8BP irNQU99mPX+t2pMHMjigsm8Gc9ruDFKeFl/YCvdAbROCuItCoolqDlnbbTsjNsM8SmMt RqMuLSmnqc5b8HrGIBHt14Fxr9KQXLtRLhBl5pAV9AM5fVsGMKr2+SMyr/9c/sjy9u4c nEdw== 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=V+wFWYRFis43GOTN2XRu8TgjxNZOmO8IgF4gRsiv9cA=; b=Fz0gkI6nwoD3AtPQBsbYHh+6LXk3MMf/UCsK0BBPYx3uZNgeC9gmIiwOIi+mG64MMG qYocvISpoDV3zMazsT9uqisbwXnuS8mZkikFVMWS4gs6pd8CUdzLcnGY2TGvW/4+irnb M/SVlCuf7byca03sD53e5D/yVlESTpx0dZy9rWfXzjlq4zZCC4N8Dp6ptOMFhjw7mQOH pO9lX90XakY1f/d64QdE/uSO56AnYkXt5cVwqemItkZ/tRoGx5xq28ACcSRlR/OYFH/p mfPQAP5vAUc1RbL08hH7xNVfx/kvBtDQppfhfqTgkvYi0jNzDymw9MBG/wKr7ui7AbWp BPJg== X-Gm-Message-State: AOAM532acpdw0F5iN1UTAKJEftjEJvFBc7e2R11vw1YRxquI80Kgnswm UsIbBZsmTJ5LlNp9W6JjZDDs9UbRgXKr9NUD9JcoiA== X-Received: by 2002:a17:90a:d991:: with SMTP id d17mr16762991pjv.229.1617428862110; Fri, 02 Apr 2021 22:47:42 -0700 (PDT) MIME-Version: 1.0 References: <20210402191638.3249835-1-schatzberg.dan@gmail.com> <20210402191638.3249835-3-schatzberg.dan@gmail.com> In-Reply-To: <20210402191638.3249835-3-schatzberg.dan@gmail.com> From: Muchun Song Date: Sat, 3 Apr 2021 13:47:05 +0800 Message-ID: Subject: Re: [External] [PATCH 2/3] mm: Charge active memcg when no mm is set To: Dan Schatzberg Cc: Jens Axboe , Tejun Heo , Zefan Li , Johannes Weiner , Andrew Morton , Michal Hocko , Vladimir Davydov , Hugh Dickins , Shakeel Butt , Roman Gushchin , Yang Shi , Alex Shi , Alexander Duyck , Wei Yang , "open list:BLOCK LAYER" , open list , "open list:CONTROL GROUP (CGROUP)" , "open list:MEMORY MANAGEMENT" , Chris Down Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sat, Apr 3, 2021 at 3:17 AM Dan Schatzberg wrote: > > set_active_memcg() worked for kernel allocations but was silently > ignored for user pages. > > This patch establishes a precedence order for who gets charged: > > 1. If there is a memcg associated with the page already, that memcg is > charged. This happens during swapin. > > 2. If an explicit mm is passed, mm->memcg is charged. This happens > during page faults, which can be triggered in remote VMs (eg gup). > > 3. Otherwise consult the current process context. If there is an > active_memcg, use that. Otherwise, current->mm->memcg. > > Previously, if a NULL mm was passed to mem_cgroup_charge (case 3) it > would always charge the root cgroup. Now it looks up the active_memcg > first (falling back to charging the root cgroup if not set). > > Signed-off-by: Dan Schatzberg > Acked-by: Johannes Weiner > Acked-by: Tejun Heo > Acked-by: Chris Down > Reviewed-by: Shakeel Butt Reviewed-by: Muchun Song Thanks.