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 2789DC6FD1D for ; Thu, 30 Mar 2023 07:50:37 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id BC8716B0072; Thu, 30 Mar 2023 03:50:36 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id B749F6B0074; Thu, 30 Mar 2023 03:50:36 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A16286B0075; Thu, 30 Mar 2023 03:50:36 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 91B4F6B0072 for ; Thu, 30 Mar 2023 03:50:36 -0400 (EDT) Received: from smtpin05.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 5EDE340118 for ; Thu, 30 Mar 2023 07:50:36 +0000 (UTC) X-FDA: 80624792472.05.CD230AE Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28]) by imf21.hostedemail.com (Postfix) with ESMTP id 779041C0012 for ; Thu, 30 Mar 2023 07:50:34 +0000 (UTC) Authentication-Results: imf21.hostedemail.com; dkim=pass header.d=suse.com header.s=susede1 header.b=b3sVl6y3; spf=pass (imf21.hostedemail.com: domain of mhocko@suse.com designates 195.135.220.28 as permitted sender) smtp.mailfrom=mhocko@suse.com; dmarc=pass (policy=quarantine) header.from=suse.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1680162634; a=rsa-sha256; cv=none; b=f+16C8KE2dhd7lLial+GhsE3ilUGOaf6oc8vyeTTqXL4Zas/bvLJTv6Y4lk/nX4ezmkXYr /31gB6xhIKpGBgzU0Mb7kbJjHlRkgG/0bighUUruMX9epdv4tuBYHeiX76nEaX50mrTlOc ThqwaQEJn/xO7+Kqs7SbM9nm3pltgsg= ARC-Authentication-Results: i=1; imf21.hostedemail.com; dkim=pass header.d=suse.com header.s=susede1 header.b=b3sVl6y3; spf=pass (imf21.hostedemail.com: domain of mhocko@suse.com designates 195.135.220.28 as permitted sender) smtp.mailfrom=mhocko@suse.com; dmarc=pass (policy=quarantine) header.from=suse.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1680162634; 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=oGBp2CerBGhZkbj2lQ/nRIhr24DsF/TKy5SuxGUse2s=; b=yeyKGrV5LVwNW3hxpZlmhK+5lHCXzRdEjielf7eRo5mSt7042COSXtZSfXREbo2QM+buQB 23grN4NxVc4JgnUyhv/K3oNWKoQTaMlbZQ1pOwGASVuUbwibrUYl6+IFhQkvtCKarD1Nb6 THZSGQTtA8aYlqLzTQ9ECqOZv0giyhU= Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by smtp-out1.suse.de (Postfix) with ESMTPS id 30E7521B0B; Thu, 30 Mar 2023 07:50:33 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1; t=1680162633; h=from:from:reply-to: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; bh=oGBp2CerBGhZkbj2lQ/nRIhr24DsF/TKy5SuxGUse2s=; b=b3sVl6y3RurKw8ub7GVYytEfZjv5e7tMzMkxjEqStKlRW0eN196yPTxmsd1WQnppK3lR2a 3NkEc1GikBqDkQ15fxo+RIJ32ywlsW/Ov47iO6zepuLhLcfl+ULGBtWgO2G+gx33rfB5vD g8jsOgtw5SluPqSGCIX1kHrMPP4REtI= Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 0D874138FF; Thu, 30 Mar 2023 07:50:33 +0000 (UTC) Received: from dovecot-director2.suse.de ([192.168.254.65]) by imap2.suse-dmz.suse.de with ESMTPSA id IdIAAUk/JWRYAwAAMHmgww (envelope-from ); Thu, 30 Mar 2023 07:50:33 +0000 Date: Thu, 30 Mar 2023 09:50:32 +0200 From: Michal Hocko To: Yosry Ahmed Cc: Tejun Heo , Josef Bacik , Jens Axboe , Zefan Li , Johannes Weiner , Roman Gushchin , Shakeel Butt , Muchun Song , Andrew Morton , Michal =?iso-8859-1?Q?Koutn=FD?= , Vasily Averin , cgroups@vger.kernel.org, linux-block@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, bpf@vger.kernel.org Subject: Re: [PATCH v2 7/9] workingset: memcg: sleep when flushing stats in workingset_refault() Message-ID: References: <20230328221644.803272-1-yosryahmed@google.com> <20230328221644.803272-8-yosryahmed@google.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: X-Rspam-User: X-Rspamd-Queue-Id: 779041C0012 X-Rspamd-Server: rspam01 X-Stat-Signature: u7ytntyz96d1yjekog6ffskwigihwsqj X-HE-Tag: 1680162634-367647 X-HE-Meta: U2FsdGVkX1+KnVm1ewIXCIstVScl8G4RJ5gQLmcsJYxGRtpmSgsVIjfbedEuGfuD8aGtPcmp3afZIReHhdwMGhf6RM8ok9xvn8IV8+NCTzf2RpuYlRXYrqJBkdmSYi+dJ3Trj5ZAoPKL42xhdkYa43HzM+mXAjPyqtVwhZES551A72Nk4YnbUEUf+/KlJypuRulKllZTPtltMLSpS64IOL/Q9XzbYZQn47QsCj4syVhysdnzzQjjsO3PtcUClcPVM/93o/ju8Dk1GBBzsNht0mVJOAs4V/fNsnYz1gv9sthSJVXak/R1VCwLu8toI8nvd1NaxC89Dfe40J2m7wB9DWvEYNYH8tag8HmudYvL3uj9JvuxS+CQZ0FRnLm3ysyMGQMxPMcGTD4UcsrMFgQ1JyRsa1JdRsn1wY46lLbeXfFzwkHZpTKlNOewN73uZUHZohYM01MLWZfJDOn9zUVCS7qobjR5EWfPncDjkVvaWYsGqAHtZNipK27dgDqq81yXyrHXgVz86wOmcZfYPMgzOJQyhlZnHy93qAjSP64Y/d9YF7EY+B2XXr6PPVagGIDppQTySMOP9kTjHLuvhkHM3e/lAvb/mUaIe4fR6wGCRXcwTSrUsAucuPv//Exlu6p4Fe2M925cKmdU4LpXkFkx77d7l5Uua/IYIl605NAo0Ibf4KtuyJG7ySdAYC0FS+239EF3ZrnEdtndoOhuidnICURPhdm4Yovv/2E+Yumhp6Ca07c9iejZR4bYcrKFsxomAks4jzYGclRpj0/W73NAJnFVDmNj+xA8m5UGEgj67EXMttGxCSGjTd4UGIWiQrjr7g3bd6FOkAEYBC2l6Kt5AURrYUUPP+lO/RZyiEUFsViB6Z12CM0P6TIW88TqvwTIA/jY062B1vvCy+TzX4LFHc0rxCNykLRl5PdrrFciRiMQtAv6/aMHdeFkOsNGHY26OvP19IoAV7JGhNvHJIM RvK7xI35 GreSQrvxbd8aNdSagxHw5NAGHVKiyaUGNhFoxBF3N7ZfxXA9sF/8LH31wRHnTMiT0erU13knrRy9NeVNzxbaSekdv86NsAnz+C4WrRZqSWM3ZoVWoVM32UUCX0vbf1vaUnRAJRznZlw/H5+Mi3ir/qnaeOPMWvOgp8SNYsd9FmIBDQosOvZ9/oa5xrAXMMXiAM2kp1JFF1Dzt/Kh/51z1SH1DvDoF6d6HB7/lKALIqMG53Imx3N1w1JKbKRXMMtZ8mtadQsbBMup5vI5HboBWhA6FkQ== 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 30-03-23 00:42:36, Yosry Ahmed wrote: > On Thu, Mar 30, 2023 at 12:39 AM Michal Hocko wrote: > > > > On Tue 28-03-23 22:16:42, Yosry Ahmed wrote: > > > In workingset_refault(), we call > > > mem_cgroup_flush_stats_atomic_ratelimited() to flush stats within an > > > RCU read section and with sleeping disallowed. Move the call above > > > the RCU read section and allow sleeping to avoid unnecessarily > > > performing a lot of work without sleeping. > > > > Could you say few words why the flushing is done before counters are > > updated rather than after (the RCU section)? > > It's not about the counters that are updated, it's about the counters > that we read. Stats readers do a flush first to read accurate stats. > We flush before a read, not after an update. Right you are, my bad I have misread the intention here. Acked-by: Michal Hocko -- Michal Hocko SUSE Labs