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=-12.7 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=unavailable 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 69B08C433E0 for ; Wed, 10 Feb 2021 16:46:43 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 4378464DF6 for ; Wed, 10 Feb 2021 16:46:43 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232859AbhBJQqR (ORCPT ); Wed, 10 Feb 2021 11:46:17 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41956 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233076AbhBJQmp (ORCPT ); Wed, 10 Feb 2021 11:42:45 -0500 Received: from mail-ej1-x629.google.com (mail-ej1-x629.google.com [IPv6:2a00:1450:4864:20::629]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 94C6EC061756; Wed, 10 Feb 2021 08:42:05 -0800 (PST) Received: by mail-ej1-x629.google.com with SMTP id f14so5326425ejc.8; Wed, 10 Feb 2021 08:42:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=T3OGEUXVqBRMwtyZ0DTJOgmQoVRlEeHXk2pk+BRLLdU=; b=C6Dx+MpK4ZH+K2OxhilGb6z2GKpk0g2spNRQB5t3Do2XcKfVSbnvfBy//ndjIP/4hS Bi2Xvj/A5pcPCojyCGdZyRGGH4UmRScvGmPxvwL5CzhI0PGJe7cJ536jp0bRQGHe+3mc gXXHxuICSaNgGSQ8mXgUbGeyaw7jftTR6VTrAiGx5muzzDDwy1J1Ce3FJCJxJ3F/0oGd BVX6GYuWNE9Fx3558QBeyq0WvyqCXKVpPBvpDJ7yDA6Uea9L3Fe6melbC6WNWa/inYWr sReykCoOe7cMpcOD6gGEjEk3FxsApcBgQ+t5YkfGkh6s6KEvvXZqymjpLxMwZ65y7oPl v18Q== 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=T3OGEUXVqBRMwtyZ0DTJOgmQoVRlEeHXk2pk+BRLLdU=; b=T46qwPIo9Lkg9jyf/n+0OTB3Xwm8k8AA8DSobV2KzRsZJ5xD9U6t1yX17gTNDSbs7p 6KM4ZkHL+2C0+M454CFz8EXqXHoUZ5yVkPRDBxcN+BPYhtL9/wLmJLwnj/7NhAAqUoA5 wyDzg7bWxqbLFyqL76te0FXkbjlppXn9QoMjRjPhouKx0TeZRDa1oh6v/xe4EmGXVN/f 0yR1845b6JAyDFEfEMNI9LKOJdIvubmXJ5UdWw3IS8IqGMeegUn5AMSpPkakEjxmuo9+ xeksOpjrVkA4WWpQvCbFmww6XK2NPqaScIq3xvK2GskYRECqaCkMNQGBq7JUHeQuQECi GmHw== X-Gm-Message-State: AOAM530IIdFwK3+4M5h42P8HXQPVqIpx722ta34I6oHK6nUEWQSsJ9h/ 4eMEzjHcuJapi6gLxhMxj1cIiKCl7PcJqpvSou2fTCzEQg4= X-Google-Smtp-Source: ABdhPJxbZqIFBvHIHDqRAaYc66wR00X+57Ot3XMwL6jhGMUV979fKuVbb+4Hakv7nixS9LL3OyEKmJg3d7wjBZdxock= X-Received: by 2002:a17:906:eca5:: with SMTP id qh5mr3673714ejb.161.1612975324366; Wed, 10 Feb 2021 08:42:04 -0800 (PST) MIME-Version: 1.0 References: <20210209174646.1310591-1-shy828301@gmail.com> <20210209174646.1310591-10-shy828301@gmail.com> <20210210012726.GO524633@carbon.DHCP.thefacebook.com> <1d751688-12a9-a5c3-2d9a-c4b9e65c7492@virtuozzo.com> In-Reply-To: <1d751688-12a9-a5c3-2d9a-c4b9e65c7492@virtuozzo.com> From: Yang Shi Date: Wed, 10 Feb 2021 08:41:52 -0800 Message-ID: Subject: Re: [v7 PATCH 09/12] mm: vmscan: use per memcg nr_deferred of shrinker To: Kirill Tkhai Cc: Roman Gushchin , Vlastimil Babka , Shakeel Butt , Dave Chinner , Johannes Weiner , Michal Hocko , Andrew Morton , Linux MM , Linux FS-devel Mailing List , Linux Kernel Mailing List Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Feb 10, 2021 at 6:37 AM Kirill Tkhai wrote: > > On 10.02.2021 04:52, Yang Shi wrote: > > On Tue, Feb 9, 2021 at 5:27 PM Roman Gushchin wrote: > >> > >> On Tue, Feb 09, 2021 at 09:46:43AM -0800, Yang Shi wrote: > >>> Use per memcg's nr_deferred for memcg aware shrinkers. The shrinker's nr_deferred > >>> will be used in the following cases: > >>> 1. Non memcg aware shrinkers > >>> 2. !CONFIG_MEMCG > >>> 3. memcg is disabled by boot parameter > >>> > >>> Signed-off-by: Yang Shi > >>> --- > >>> mm/vmscan.c | 78 ++++++++++++++++++++++++++++++++++++++++++++--------- > >>> 1 file changed, 66 insertions(+), 12 deletions(-) > >>> > >>> diff --git a/mm/vmscan.c b/mm/vmscan.c > >>> index d4b030a0b2a9..748aa6e90f83 100644 > >>> --- a/mm/vmscan.c > >>> +++ b/mm/vmscan.c > >>> @@ -368,6 +368,24 @@ static void unregister_memcg_shrinker(struct shrinker *shrinker) > >>> up_write(&shrinker_rwsem); > >>> } > >>> > >>> +static long count_nr_deferred_memcg(int nid, struct shrinker *shrinker, > >>> + struct mem_cgroup *memcg) > >> > >> "Count" is not associated with xchg() semantics in my head, but I don't know > >> what's the better version. Maybe steal or pop? > > > > It is used to retrieve the nr_deferred value. I don't think "steal" or > > "pop" helps understand. Actually "count" is borrowed from > > count_objects() method of shrinker. > > I'd also voted for another name. > > xchg_nr_deferred() or steal/pop sound better for me. OK, I do have a hard time to understand steal/pop, but xchg sounds more self-explained to me. > 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=-12.7 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED 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 1F7BAC433DB for ; Wed, 10 Feb 2021 16:42:08 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id B057E64E85 for ; Wed, 10 Feb 2021 16:42:07 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org B057E64E85 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id C1E906B0070; Wed, 10 Feb 2021 11:42:06 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id BCEEB6B0072; Wed, 10 Feb 2021 11:42:06 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id AE5A36B0073; Wed, 10 Feb 2021 11:42:06 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0243.hostedemail.com [216.40.44.243]) by kanga.kvack.org (Postfix) with ESMTP id 983CC6B0070 for ; Wed, 10 Feb 2021 11:42:06 -0500 (EST) Received: from smtpin10.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay04.hostedemail.com (Postfix) with ESMTP id 4CF401EE6 for ; Wed, 10 Feb 2021 16:42:06 +0000 (UTC) X-FDA: 77802925452.10.woman49_2a1611e27611 Received: from filter.hostedemail.com (10.5.16.251.rfc1918.com [10.5.16.251]) by smtpin10.hostedemail.com (Postfix) with ESMTP id 1C67616A4B1 for ; Wed, 10 Feb 2021 16:42:06 +0000 (UTC) X-HE-Tag: woman49_2a1611e27611 X-Filterd-Recvd-Size: 4843 Received: from mail-ej1-f49.google.com (mail-ej1-f49.google.com [209.85.218.49]) by imf18.hostedemail.com (Postfix) with ESMTP for ; Wed, 10 Feb 2021 16:42:05 +0000 (UTC) Received: by mail-ej1-f49.google.com with SMTP id bl23so5354624ejb.5 for ; Wed, 10 Feb 2021 08:42:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=T3OGEUXVqBRMwtyZ0DTJOgmQoVRlEeHXk2pk+BRLLdU=; b=C6Dx+MpK4ZH+K2OxhilGb6z2GKpk0g2spNRQB5t3Do2XcKfVSbnvfBy//ndjIP/4hS Bi2Xvj/A5pcPCojyCGdZyRGGH4UmRScvGmPxvwL5CzhI0PGJe7cJ536jp0bRQGHe+3mc gXXHxuICSaNgGSQ8mXgUbGeyaw7jftTR6VTrAiGx5muzzDDwy1J1Ce3FJCJxJ3F/0oGd BVX6GYuWNE9Fx3558QBeyq0WvyqCXKVpPBvpDJ7yDA6Uea9L3Fe6melbC6WNWa/inYWr sReykCoOe7cMpcOD6gGEjEk3FxsApcBgQ+t5YkfGkh6s6KEvvXZqymjpLxMwZ65y7oPl v18Q== 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=T3OGEUXVqBRMwtyZ0DTJOgmQoVRlEeHXk2pk+BRLLdU=; b=I9q3XITCOAW1ad/9AuEWTXrEXvqN3Bueszg0qTLzCsINBxj4hOJ+PrBY398h5D4hut zLaDaRI3fhOL/c+94VHjGiatqk/otyi41QD6l4+TvgeppSUFFFaOLK9K/MmgQxgB/Ffz nqUM2Eo2tD9AG/C2OYFbmWhCnADYtWJyR3A1ZEdE5umhl857iCz1Wu4cIKowR3gbQQZU 7dnFGJk4sAtNTBTyPRbJSuA2cZUWhvRJedZdb89h+JKhIQTYCnzmBbZETrxlRTsYRSNm b2cLW5uI8zCuRVTIhm5i1TlNWP2yZN2okzw1zk8Zn0lBq3KfVaOinDUSDkkXefsW3aEB kq5g== X-Gm-Message-State: AOAM532NaZcQH8GZ0LCEy9KguJjecDTRWjY9z59DuhUKPvgbGjpA3r5b ZtH+KP3DvzukU5tLP6RUi8I+q+jbXeLalAbtdOc= X-Google-Smtp-Source: ABdhPJxbZqIFBvHIHDqRAaYc66wR00X+57Ot3XMwL6jhGMUV979fKuVbb+4Hakv7nixS9LL3OyEKmJg3d7wjBZdxock= X-Received: by 2002:a17:906:eca5:: with SMTP id qh5mr3673714ejb.161.1612975324366; Wed, 10 Feb 2021 08:42:04 -0800 (PST) MIME-Version: 1.0 References: <20210209174646.1310591-1-shy828301@gmail.com> <20210209174646.1310591-10-shy828301@gmail.com> <20210210012726.GO524633@carbon.DHCP.thefacebook.com> <1d751688-12a9-a5c3-2d9a-c4b9e65c7492@virtuozzo.com> In-Reply-To: <1d751688-12a9-a5c3-2d9a-c4b9e65c7492@virtuozzo.com> From: Yang Shi Date: Wed, 10 Feb 2021 08:41:52 -0800 Message-ID: Subject: Re: [v7 PATCH 09/12] mm: vmscan: use per memcg nr_deferred of shrinker To: Kirill Tkhai Cc: Roman Gushchin , Vlastimil Babka , Shakeel Butt , Dave Chinner , Johannes Weiner , Michal Hocko , Andrew Morton , Linux MM , Linux FS-devel Mailing List , Linux Kernel Mailing List Content-Type: text/plain; charset="UTF-8" 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 Wed, Feb 10, 2021 at 6:37 AM Kirill Tkhai wrote: > > On 10.02.2021 04:52, Yang Shi wrote: > > On Tue, Feb 9, 2021 at 5:27 PM Roman Gushchin wrote: > >> > >> On Tue, Feb 09, 2021 at 09:46:43AM -0800, Yang Shi wrote: > >>> Use per memcg's nr_deferred for memcg aware shrinkers. The shrinker's nr_deferred > >>> will be used in the following cases: > >>> 1. Non memcg aware shrinkers > >>> 2. !CONFIG_MEMCG > >>> 3. memcg is disabled by boot parameter > >>> > >>> Signed-off-by: Yang Shi > >>> --- > >>> mm/vmscan.c | 78 ++++++++++++++++++++++++++++++++++++++++++++--------- > >>> 1 file changed, 66 insertions(+), 12 deletions(-) > >>> > >>> diff --git a/mm/vmscan.c b/mm/vmscan.c > >>> index d4b030a0b2a9..748aa6e90f83 100644 > >>> --- a/mm/vmscan.c > >>> +++ b/mm/vmscan.c > >>> @@ -368,6 +368,24 @@ static void unregister_memcg_shrinker(struct shrinker *shrinker) > >>> up_write(&shrinker_rwsem); > >>> } > >>> > >>> +static long count_nr_deferred_memcg(int nid, struct shrinker *shrinker, > >>> + struct mem_cgroup *memcg) > >> > >> "Count" is not associated with xchg() semantics in my head, but I don't know > >> what's the better version. Maybe steal or pop? > > > > It is used to retrieve the nr_deferred value. I don't think "steal" or > > "pop" helps understand. Actually "count" is borrowed from > > count_objects() method of shrinker. > > I'd also voted for another name. > > xchg_nr_deferred() or steal/pop sound better for me. OK, I do have a hard time to understand steal/pop, but xchg sounds more self-explained to me. >