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 E8378EE49A4 for ; Tue, 22 Aug 2023 16:49:34 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 8009128004A; Tue, 22 Aug 2023 12:49:34 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 78A35280046; Tue, 22 Aug 2023 12:49:34 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 6354C28004A; Tue, 22 Aug 2023 12:49:34 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 4F7A1280046 for ; Tue, 22 Aug 2023 12:49:34 -0400 (EDT) Received: from smtpin21.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 1C8B1B1C41 for ; Tue, 22 Aug 2023 16:49:34 +0000 (UTC) X-FDA: 81152326668.21.38D498F Received: from mail-ed1-f49.google.com (mail-ed1-f49.google.com [209.85.208.49]) by imf26.hostedemail.com (Postfix) with ESMTP id 55E7714001F for ; Tue, 22 Aug 2023 16:49:32 +0000 (UTC) Authentication-Results: imf26.hostedemail.com; dkim=pass header.d=google.com header.s=20221208 header.b=rhr1id8c; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf26.hostedemail.com: domain of yosryahmed@google.com designates 209.85.208.49 as permitted sender) smtp.mailfrom=yosryahmed@google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1692722972; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=WJmDDFJoMLmcyBm51AyWwKm0mGOPqtKf1wtM4HOCd6M=; b=ITE8HXXqNCP2Y4CEooSClk4L4JOrPB169cgq4YjWW3IC458WppEH782lCM2RKi/uCI2Sio KDuES1v7kGsjLmepxxWVzBNzVKULFtd74z80ii8FSaSpowV9JfE8e/IxxyR03GWDGPV2hL akiQRTOQpZZoq9ol91b7VrkYKGaIb6M= ARC-Authentication-Results: i=1; imf26.hostedemail.com; dkim=pass header.d=google.com header.s=20221208 header.b=rhr1id8c; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf26.hostedemail.com: domain of yosryahmed@google.com designates 209.85.208.49 as permitted sender) smtp.mailfrom=yosryahmed@google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1692722972; a=rsa-sha256; cv=none; b=wzWkwndkFEw3X2jL6nqKuTD3cVQQSmnpcrK98JdlkmO0CJQ736GBG3mwNPuw4PP17hIgfP ALUEH2tIQWn6t2PiOx0vDgr0OJizESokpsObKXxzCZp3A/vTZzGCG1kkcTvxQ2xSfmXIcs 248BKa+BMG2RFclGXqSEOjAYBDGXRlo= Received: by mail-ed1-f49.google.com with SMTP id 4fb4d7f45d1cf-51e28cac164so11818332a12.1 for ; Tue, 22 Aug 2023 09:49:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20221208; t=1692722971; x=1693327771; 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=WJmDDFJoMLmcyBm51AyWwKm0mGOPqtKf1wtM4HOCd6M=; b=rhr1id8cCV/kbx6sUBy4JuHXifHwSkFAIdKhBeasC31TcN98NESIu8KmdqnWiDvLNx XVCElQgwl+O+wZiYzPHPSCSCn05CEQlp3i5RqQb+lK1FlRhcDHhBVGdeCc99m+LTx4so 4zuklsCgH8G/FHHkdSyD18vRYY4Z3DIPKlPrFye8uXb8CDnospBilvEczdx8lGW2wXxX k7TcpIodpSQNJnxgspTPGM7gBgd1w/lwzYn9EBLnMdhYMfCPzF4ucPffkpJRPhOpkMRP QQfw3YE3NCRa+26WnVXc5hE1sR0WiBM+gFH2GzLxGsziXWtDmMA0VU1Tzs7teeoZQ7ZZ IrOQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1692722971; x=1693327771; 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=WJmDDFJoMLmcyBm51AyWwKm0mGOPqtKf1wtM4HOCd6M=; b=kzzTozANjQXzI7yHhvzgB9Upy+kDrdmUCJjqAZB2G5VOQxk2+AzyCp+Wu9ImaZdGRY vbItXwnImsP5mxsAgjH0BV80JMBMA77OBouPwQO3GIrBn92n7LqDZZJdYe/T0ZHyHKaE HzFf9/37+IVmqm0fndrsYwjYIxJUO+SkVuelxQoEibmceaKtQGZDfGFhttEB4Ebn4RyF CVJZ0byKZyonWOEGLm6FD44JL7zz+mGa24LvOCGwttbkh5Wcu2zw9J+iUpm6NoXaMJM9 Ym4neqC1VPOYtTVh0Be/XzQtt4/jihQzPJbpCTb32JKjg/6o32S+E38zHveQ3RBj7kAe t4wA== X-Gm-Message-State: AOJu0Yxua0LJ+wM6XwzjmhD2sMQ8bHW0ar89tNq1eG5t1awCDDf/Df0y GQMF5mjobEknKk3j34RVuEds7w8dLa/7qzzQsUDF6g== X-Google-Smtp-Source: AGHT+IEmSWJOfsLrRWgrWtGOMYaI3rCgR+YAazW1HntaJGfgHHdcooCvLk9gPLi7fdnb4CMFIaHO9scel4q7H/1YxTI= X-Received: by 2002:a17:906:478a:b0:98d:f2c9:a1eb with SMTP id cw10-20020a170906478a00b0098df2c9a1ebmr11700024ejc.24.1692722970543; Tue, 22 Aug 2023 09:49:30 -0700 (PDT) MIME-Version: 1.0 References: <20230821205458.1764662-1-yosryahmed@google.com> <20230821205458.1764662-3-yosryahmed@google.com> <5y3e32ek6owren3q5e3gzonzxzdhs53ihywj3mtbhz56hnizfy@fctafygsnfaq> In-Reply-To: <5y3e32ek6owren3q5e3gzonzxzdhs53ihywj3mtbhz56hnizfy@fctafygsnfaq> From: Yosry Ahmed Date: Tue, 22 Aug 2023 09:48:54 -0700 Message-ID: Subject: Re: [PATCH 2/3] mm: memcg: add a helper for non-unified stats flushing To: =?UTF-8?Q?Michal_Koutn=C3=BD?= Cc: Andrew Morton , Johannes Weiner , Michal Hocko , Roman Gushchin , Shakeel Butt , Muchun Song , Ivan Babrou , Tejun Heo , linux-mm@kvack.org, cgroups@vger.kernel.org, linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspam-User: X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: 55E7714001F X-Stat-Signature: x6455q6abtn9oy5t5akmbee6chog6uhy X-HE-Tag: 1692722972-131697 X-HE-Meta: U2FsdGVkX19Tt17dJocEl5+sYF1nuBx9RVEOBEbaFnyjsVqVYyFMR5fY6vGrg/OEl980A/jJIzwfKCaxKMW0Iy5DgLVRky7ABjACGHf+4i2c0+cCm5sRbA3Kj0skI0YXY2r4UW4nz6Uy4IiNzhETtnF9HSNKIlBnoTkycUik8Ci2GnnuoBh1/X0gB0rHCIG6l+OXy1jN3D9gyabkUx4XlVbIKHevvBH6qShPOL1144O3UdjCiEqMTFuTDmP968QQfdqPVy4B+1x2AG6k/HhSRYb55TOC7t2f0NyyXZhxQwD3Itf7lN3dUNNEXomhcANoj/Ns2udWM9335afIcC2ghYI3KpzN6TAM20LEnkgqplfsrnRDNliOOsPekcsDDAZN3uRouDn3VOfXHPCn5ipVEHYVaMSXJBsdkreNL21cObUgl1ynz6+NjwlxA46fFyt0vuDttCSaorJOOa5yaTS4hMu+d8muXHPXuR39i0vI4k6Fk/j7qi56SpYwNXoPukcsaFnq8vI+SfkVjXaf6BRmf9c0L3qC9hf7MF1/VYio+kjy/M1u5WBlSXp65cK87wF4rONp0nG7mIJVhP/9opO4WeQhcAGn2wtwRCfMgBLDQrsxWAPpm4KkKYp26LATHYvuWxvYFHR7vBo0l9BJHyT7lI0ofK5bK1vvS1KAlve+tEJkDkuc7eZujJ0p0ML0IUvegg0uhQ/YNgGRdbxwCTH1jd9HoaLk+UopfZzt0RIaU2i9YWOD/HCbShcBxC/jHNhbSgDdlZkJ+SqGBbe9TwXHD62hwK85nMSxKzoo19Frk9OxzPc4dDT8yRuqplRa4/hA74PoAX8kDIhBaxubfzJ7vBRwcDjMD/oNhB26uxYpt5gFZSVS75lZEzv6D0rlwVxj7CwcEpHHOYvd1PtrQi0cYRKygIujpkY3ToBay7hRKR4/UszK94fC87afm/FMP22ukC+w8pJIE2BbM+R7Avd c3Go3SZm OOw5+ulPreaTLJzTTKezu9ksDe+wa/pM80uFS/SDxgeeX3Za+XFya6563Vlbjip3ResPnL1brHEBDDvNFwNjqis3g7RYy932c1TteL6PDMlnGFlVTL2coDMsfesNuGyFCSBOjd1GjDgoQgizbIaxoWLnwF10F5z4bHYROdBJIjmj2w08Y67nXA/FK7CotKvINMbg2vqfIQDq1CSbU/K6h/03A76tYv5dWCZZHLdRrzlBf3xz96lZQ4GKKbmW/gyn048WKPYFGuCj402ukeUbNCSUQmnQrokdQ49PHJqeIire0EhEtG60aPGYNuw== 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 Tue, Aug 22, 2023 at 9:35=E2=80=AFAM Michal Koutn=C3=BD wrote: > > On Tue, Aug 22, 2023 at 09:00:06AM -0700, Yosry Ahmed wrote: > > We can probably also kick FLUSH_TIME forward as well. > > True, they guard same work. > > > Perhaps I can move both into do_stats_flush() then. If I understand > > correctly this is what you mean? > > Yes. > > > What do you think? > > The latter is certainly better looking code. > > I wasn't sure at first about moving stats_flush_threshold reset before > actual flush but on second thought it should not be a significant change > - readers: may skip flushing, the values that they read should still be > below the error threshold, Unified readers will skip anyway as there's an ongoing flush, non-unified readers don't check the threshold anyway (with this patch series). So for readers it should not be a change. > - writers: may be slowed down a bit (because of conditional atomic write > optimization in memcg_rstat_updates), presumably not on average > though. Yeah writers will start doing atomic writes once a flush starts instead of once it ends. I don't think it will matter in practice though. The optimization is only effective if we manage to surpass the threshold before the periodic flusher (or any unified flusher) kicks in and resets it. If we start doing atomic writes earlier, then we will also stop earlier; the number of atomic writes should stay the same. I think the only difference will be the scenario where we start atomic writes early but the periodic flush happens before we reach the threshold, in which case we aren't doing a lot of updates anyway. I hope this makes _any_ sense :) > > So the latter should work too. > I will include that in v2. I will wait for a bit of further review comments on this version first. Thanks for taking a look! > Michal