Received: by 2002:a05:6358:11c7:b0:104:8066:f915 with SMTP id i7csp1769059rwl; Thu, 30 Mar 2023 00:59:35 -0700 (PDT) X-Google-Smtp-Source: AKy350aTThEJPYMVAdVA+OmpbiI0xJMaaqwMYNFxEGbS9FvNqoT9F9UkJlxVfYtocheVwvb0KHGJ X-Received: by 2002:a17:906:74c6:b0:8f0:ba09:4abe with SMTP id z6-20020a17090674c600b008f0ba094abemr1280670ejl.2.1680163175780; Thu, 30 Mar 2023 00:59:35 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1680163175; cv=none; d=google.com; s=arc-20160816; b=FRc6m3DbE3rM9xxp0nWUxO7frlfMUQX+mBhH3yJ02p+A3sr0KmAPx5RnoJzf/Uvuvw cY66c8g2gVnh2PdvSyP0u2NzqEYUphZhwyBshHjbxaZxOZMQyAXMYT061Kejecj8R+Xj o0bUR98P+CfA16IFdkBRcy7qKtkrB2NsicojZRhLeJ1IFC3PPJyj8YvtDjDHtdgpu75B qx8ljVK2/y4xYnqYHkrhkLt/c9m8UI4bMPP8PAg+ne20DR4CjUz2q5bpPGhRl0Ofrpbb 2QKVhBMc/ScZrG53bKfuh1aWTSLQxDE8ZalIu5QOjOsYziSLN+TP6WPX6SoOFvSxjxel enzw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:cc:to:subject :message-id:date:from:in-reply-to:references:mime-version :dkim-signature; bh=h5tWbYU5Ovnx4S3KN05HeMF9MQhwKdT4wgU3e8coEAg=; b=ADlS3zNdT9ESxy4Se8XOjhM1zNJA1K8BkwJJgaASAlRRQp7fVgetUcVVpQGarCtSMS phNnJKNZ1R8TxMq/kgsJAPbZ88bdCgNGTFabA0dnqV71p9QLOIy2jYwDXkasXXOjhh9S yk4uyFr6uBAo+cE6MNiR9pMXXMKEVN3N1cCxUIrrl7Qpzrr5sClmdsNGh29AzquZElxr nw89NEv1fsN5mgoiiEJBW96G6+F6mY4Dy8YgLBgP8rKp0wWJnkxR7w1biTCoQMhyrx3l kxlaINVuuyWUrybMMsF7ttTF4oLh8DRSECBn9M62w9xiel33qj5DH5q87nGaDPvIAIIL pXYA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20210112 header.b=CKaS6HBj; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id wg1-20020a17090705c100b0093d836861f8si21636658ejb.31.2023.03.30.00.59.09; Thu, 30 Mar 2023 00:59:35 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20210112 header.b=CKaS6HBj; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229831AbjC3Hzb (ORCPT + 99 others); Thu, 30 Mar 2023 03:55:31 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59314 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229740AbjC3Hz3 (ORCPT ); Thu, 30 Mar 2023 03:55:29 -0400 Received: from mail-ed1-x52e.google.com (mail-ed1-x52e.google.com [IPv6:2a00:1450:4864:20::52e]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id DDA8D133 for ; Thu, 30 Mar 2023 00:55:27 -0700 (PDT) Received: by mail-ed1-x52e.google.com with SMTP id w9so73108271edc.3 for ; Thu, 30 Mar 2023 00:55:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; t=1680162926; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=h5tWbYU5Ovnx4S3KN05HeMF9MQhwKdT4wgU3e8coEAg=; b=CKaS6HBjsJ/8/OyRJWU/IIHaTdpRU7TNj95drpPAb7CtZThIyxrmIWaKZBQn/DOv1x emhAGX3xKn00R3oNM398Sr3mFprCDzivxLy/znSI9eeZ/pw66A9v0YN2EzQHfVXPhVjT kr1ryivtAD/0r4jpzHjJcrTKWfcPbeOSknV8seiKFhrH5h5lOG/fO0KWYH8a0bsfaa6/ abESZ4KxjVvzKKoqo8bXx7oOROI+V6YSOSpV0NkUGo8ySqAW2y434yfj/hHDPQ5dk0/W XFpZ/ourVOgMxr/4/82xPsTUlLwmkDP5dfTF9DFoz5VWWBMKyueXFRzWysnxkVKprxJs wttQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1680162926; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=h5tWbYU5Ovnx4S3KN05HeMF9MQhwKdT4wgU3e8coEAg=; b=o2c8OCMarLND87JFPvnmnBeC2xa12O2Jf79VEuIafUdNnuScCiv0FwaF1zbXRTjf6x Bu/FeI2mum+9VhbQndhaDmLWSxUNm/EI1de7sBQHIZhSoDYmW78LCD+4arDDHzd2rHeF /GkvnLBicfUkcS3/lpZKaD1I9mX/qSlDIP4fgvhMSyrAD5lFSgmr6w91iq1DOk6GLl4N gicylefB7yNxlD2FaG/BF4+KJazqZENos24wCUrA8cLGcj1DJA2oYi0YSLj/JM3Mj7Hf kTPlphWA36o8XkgyXsrM9Ui32nSQ6JsID74ygF3mFHPvwyOw7kOI0lSfznqRKebyFdEJ AyLg== X-Gm-Message-State: AAQBX9e5GmCXYYO+PaUhtpTOAeseL1Dn+lldw0H2hikDXAulZ9uqj+F9 H7p1OfkgsuTmpnvzjWVZoiVlmEDHHw7BDVOMjhcYzA== X-Received: by 2002:a17:906:2a15:b0:933:7658:8b44 with SMTP id j21-20020a1709062a1500b0093376588b44mr9941916eje.15.1680162926191; Thu, 30 Mar 2023 00:55:26 -0700 (PDT) MIME-Version: 1.0 References: <20230328221644.803272-1-yosryahmed@google.com> <20230328221644.803272-9-yosryahmed@google.com> In-Reply-To: From: Yosry Ahmed Date: Thu, 30 Mar 2023 00:54:49 -0700 Message-ID: Subject: Re: [PATCH v2 8/9] vmscan: memcg: sleep when flushing stats during reclaim To: Michal Hocko Cc: Tejun Heo , Josef Bacik , Jens Axboe , Zefan Li , Johannes Weiner , Roman Gushchin , Shakeel Butt , Muchun Song , Andrew Morton , =?UTF-8?Q?Michal_Koutn=C3=BD?= , Vasily Averin , cgroups@vger.kernel.org, linux-block@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, bpf@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Status: No, score=-15.7 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,ENV_AND_HDR_SPF_MATCH, RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,USER_IN_DEF_DKIM_WL, USER_IN_DEF_SPF_WL autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Mar 30, 2023 at 12:52=E2=80=AFAM Michal Hocko wro= te: > > On Thu 30-03-23 00:44:10, Yosry Ahmed wrote: > > On Thu, Mar 30, 2023 at 12:40=E2=80=AFAM Michal Hocko = wrote: > > > > > > On Tue 28-03-23 22:16:43, Yosry Ahmed wrote: > > > > Memory reclaim is a sleepable context. Allow sleeping when flushing > > > > memcg stats to avoid unnecessarily performing a lot of work without > > > > sleeping. This can slow down reclaim code if flushing stats is taki= ng > > > > too long, but there is already multiple cond_resched()'s in reclaim > > > > code. > > > > > > Why is this preferred? Memory reclaim is surely a slow path but what = is > > > the advantage of calling mem_cgroup_flush_stats here? > > > > The purpose of this series is to limit calls to atomic flushing as > > much as possible, as flushing can become really expensive on systems > > with high cpu counts and a lot of cgroups, and performing such an > > expensive operation atomically causes problems -- so we'd rather avoid > > doing it atomically where possible. > > Please add that to the changelog. While the intention might be obvious > now (although cover is not explicit about it either) it can cause some > head scratching in the future when somebody looks at this commit without > a broader context (e.g. previous ML discussions). > > with that > Acked-by: Michal Hocko Thanks, will do for the respin. > Thanks > > > > > Signed-off-by: Yosry Ahmed > > > > Acked-by: Shakeel Butt > > > > Acked-by: Johannes Weiner > > > > --- > > > > mm/vmscan.c | 2 +- > > > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > > > > > diff --git a/mm/vmscan.c b/mm/vmscan.c > > > > index a9511ccb936f..9c1c5e8b24b8 100644 > > > > --- a/mm/vmscan.c > > > > +++ b/mm/vmscan.c > > > > @@ -2845,7 +2845,7 @@ static void prepare_scan_count(pg_data_t *pgd= at, struct scan_control *sc) > > > > * Flush the memory cgroup stats, so that we read accurate pe= r-memcg > > > > * lruvec stats for heuristics. > > > > */ > > > > - mem_cgroup_flush_stats_atomic(); > > > > + mem_cgroup_flush_stats(); > > > > > > > > /* > > > > * Determine the scan balance between anon and file LRUs. > > > > -- > > > > 2.40.0.348.gf938b09366-goog > > > > > > -- > > > Michal Hocko > > > SUSE Labs > > -- > Michal Hocko > SUSE Labs