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 6335BC7EE23 for ; Thu, 8 Jun 2023 17:38:28 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B7AE68E0002; Thu, 8 Jun 2023 13:38:27 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id B2AF28E0001; Thu, 8 Jun 2023 13:38:27 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A19B88E0002; Thu, 8 Jun 2023 13:38:27 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 8F44D8E0001 for ; Thu, 8 Jun 2023 13:38:27 -0400 (EDT) Received: from smtpin08.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 4C238403C7 for ; Thu, 8 Jun 2023 17:38:27 +0000 (UTC) X-FDA: 80880289854.08.E66D2FA Received: from mail-pf1-f202.google.com (mail-pf1-f202.google.com [209.85.210.202]) by imf10.hostedemail.com (Postfix) with ESMTP id 575A0C0023 for ; Thu, 8 Jun 2023 17:38:25 +0000 (UTC) Authentication-Results: imf10.hostedemail.com; dkim=pass header.d=google.com header.s=20221208 header.b=CJ1xvFmR; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf10.hostedemail.com: domain of 3EBKCZAgKCGcXMFPJJQGLTTLQJ.HTRQNSZc-RRPaFHP.TWL@flex--shakeelb.bounces.google.com designates 209.85.210.202 as permitted sender) smtp.mailfrom=3EBKCZAgKCGcXMFPJJQGLTTLQJ.HTRQNSZc-RRPaFHP.TWL@flex--shakeelb.bounces.google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1686245905; a=rsa-sha256; cv=none; b=8duR7etkFcAic/mRca+72xPHMHH9yiAmCRLbz562oKhPMuSSI0XedA3QKFYJrmkiRNKaWl j0bYiZ0n7KZWbeAAWg6nXSiQOC/gNSpK75UoiASaLaidz3rFI48hXa82CEcmFUbCjtpSb2 gfsXYXSGYXq1ntFn5RSbzJOT8Z9soJ0= ARC-Authentication-Results: i=1; imf10.hostedemail.com; dkim=pass header.d=google.com header.s=20221208 header.b=CJ1xvFmR; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf10.hostedemail.com: domain of 3EBKCZAgKCGcXMFPJJQGLTTLQJ.HTRQNSZc-RRPaFHP.TWL@flex--shakeelb.bounces.google.com designates 209.85.210.202 as permitted sender) smtp.mailfrom=3EBKCZAgKCGcXMFPJJQGLTTLQJ.HTRQNSZc-RRPaFHP.TWL@flex--shakeelb.bounces.google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1686245905; 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=Ws5hYOAz5LdpAS698YPjYKgEw8uTHLTQwc5TJ4BE0Mo=; b=tRwDyUJjPQXlSJAacKNS1R0HSMbreXI3oQQBhswr+A6WfyFUIPD8AzGYuQSIevPYG+ef0N qLG61z5+r5JgkGvnSad2Q2HiurOl9FgkRk8MSnV2NV2CoZeBO33ul46Pe9bDtPNBgLhvBT 4+hVKSRW+cAIfde4wtt6NzGntV9R4eI= Received: by mail-pf1-f202.google.com with SMTP id d2e1a72fcca58-66227292952so779776b3a.3 for ; Thu, 08 Jun 2023 10:38:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20221208; t=1686245904; x=1688837904; h=content-transfer-encoding:cc:to:from:subject:message-id:references :mime-version:in-reply-to:date:from:to:cc:subject:date:message-id :reply-to; bh=Ws5hYOAz5LdpAS698YPjYKgEw8uTHLTQwc5TJ4BE0Mo=; b=CJ1xvFmRtdO1o+kam9oDcnjq8RYnT6Vc7hNZJqwlW6t8RV0rau1YmewdR0UXr6uB6u jw8bKO2uw8AnWzjHmZi8/Y5sVH5KEEKF6tb6dfNUZbj++Q65T8DfckkuAIYNPN0RPq0e kxsLBpyQ1cPBXEQHYwewzh1QcmbHwQl7DeJjCfnAs3ZyxRX/imca6DOKlYmmjwo/IX1C ZUjHdFDvWJlhZVW5RmPAoe1+JBYRgIDpRHOfKQhWhqjr8Oc2xzqNJQJqT7l3otEZhUpG tit/B4SF1bRHlgpd89GF1o5RaY4EBYXeSQMt/GQtj4eZy3keFDle4o4w9KeZWgs22pp4 wjvw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686245904; x=1688837904; h=content-transfer-encoding:cc:to:from:subject:message-id:references :mime-version:in-reply-to:date:x-gm-message-state:from:to:cc:subject :date:message-id:reply-to; bh=Ws5hYOAz5LdpAS698YPjYKgEw8uTHLTQwc5TJ4BE0Mo=; b=SW7GMQOEmyIydU6O0v+K3Sx6XxllahOTcg4PUNiy+LeoWuRD3/EO03J3XSc85UB7eT 6B5XTdbWiA5s3cIkfKrTdRbrCCozhGHXum9/jZFT+byT0l8vqG6P0HxQNz7qDWV0X7Hs ugIviG8XEzEkrQ0gKy9HKBftewbUVFzVEMZVTzvGt/wG0g7jnez0x1Vi89e3zJdHW4fU s6JoVQ3jGo7MID+2znSB6bqVsSHV1KRhJ7TajyPfClhgQr7CzpG7vxRpVMdG+LahhbQQ 0Nkyz9IjsXCKH2utZWfKaFBLejug5vZ7EqnJT0AMce6CdMgahvR+Onv2zFTO/jAg0F/M 5BHA== X-Gm-Message-State: AC+VfDx6IRRszVn62uGrMBY2QPfBqYAdW3qjsj3SZF72dqAFYBS6hmWn VSQiF7tfIkQSEBCzycWGMkw5bIK/GQohZw== X-Google-Smtp-Source: ACHHUZ6ksU2ZPjLv8B/yxec/3W1lqJ6bFUy07oFJDWD/BMzRYlWNXQgkON1sn42NEpfTRqZ6Dv65NPbUHkC1Uw== X-Received: from shakeelb.c.googlers.com ([fda3:e722:ac3:cc00:7f:e700:c0a8:262e]) (user=shakeelb job=sendgmr) by 2002:a05:6a00:3a0b:b0:655:4e44:d2fc with SMTP id fj11-20020a056a003a0b00b006554e44d2fcmr3923272pfb.2.1686245904138; Thu, 08 Jun 2023 10:38:24 -0700 (PDT) Date: Thu, 8 Jun 2023 17:38:22 +0000 In-Reply-To: <20230608171256.17827-1-mkoutny@suse.com> Mime-Version: 1.0 References: <20230608171256.17827-1-mkoutny@suse.com> Message-ID: <20230608173822.zezggshxhh62mxoi@google.com> Subject: Re: [RFC PATCH] mm: Sync percpu mm RSS counters before querying From: Shakeel Butt To: "Michal =?utf-8?Q?Koutn=C3=BD?=" Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, Andrew Morton , Christian Brauner , "Liam R . Howlett" , Suren Baghdasaryan , "Michael S . Tsirkin" , Mike Christie , Andrei Vagin , Mathieu Desnoyers , Nicholas Piggin , Peter Zijlstra , Adam Majer , Jan Kara , Michal Hocko Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Rspam-User: X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: 575A0C0023 X-Stat-Signature: ekckrcptr4wffc1cct4a9dw37tame89e X-HE-Tag: 1686245905-255091 X-HE-Meta: U2FsdGVkX1/8uSvko9PM9CQZ4Os8xWVUKA4H7WS1ot0i0kqjTX2Hi/0RMc8g/7bIrI5AQyu6kBdCmpyRICy4CVz/B+LvE9+iiZaiXtrDZGYwWZEkh6IErLQBIBrwSa7838KhT+7M19y+rjCDSlOs5x/exjCWt5/Q0axCclvEmnNyjw9ao96evB/+JuUpBZgNVf48+IKSZzNuW2T6uxr5YAD2SJVKdrbuNjTrumvBS28dSztyFxIt4KEwxoY3H/EWd0wHs85PmxKty2kqXH0Os8fgrybvWMKZ62OExJygdnCHHZ1n7SCrO69CsEHUIO+nmsYboHFb8tOTiG/WFvFChU7NKDD+YN/RUUU6xp+6kIZn1dyB5y6oJja1N5bQoUBRGuIoHIVRYZclLDI+pqP59m+i9IcbwRxj8qNoftEVUN1l262nPgM8YTKVTuPWCHTR8s79nofxBDL7SnoUUnGOXPE5oB4obLHdXAKiAirfSCSACC9aMfhkbolK9EhQRKjHeyC1Fdxly3ixmFzqRB2vxd9KwYBvQaevaf0+cKXcJsLzAJpQP+D3aqpHUVL2V+eJSWTScGEHKKLEzJ2N90SeFuyhgnr0abw0M4VEGTlikHcwmw8hHxWo5MGxyLx0mOAIVZjP6T3hT6kX8aAVkBucdjg53PEglOCtb401mqWRCBDVY4zxV2zsIp4g9aU7eI0WyL3Nv6MY95rL11UVMwQsmODLJnISYvx9Aj7xjNhW4l2trNjcSURQK6KuAutTF+tkHVLM+Bhp/nX93g3Hh4+oGnXFZ8x6gkc4sHHUsZ2Veojvtf72jPlOcT8R7TY1RPldhrmHFsGf52b+SiKSavS7FDN/YpGe3jPDYf8dZRtF0DXC3+1ARYIHuoxkB6FvsFRWfiVowgKTCFmFCmf/4fdIIEv7tbUULqySpwUHs2QBjwCve57xR3EXYdyvJ/Iuv4lyBwcsrUmvIpWpls2t0Hi ZHoMLUlY pNL+UYuM1kVowNcPLeoh+/UALeGdCkUZIfdt3dTem2/dGIhHkVk/RTPf9Yz7g4OgqHHJWXpQsFMKIg6jA1MERTbCzkwvluaxMer8e4X538sZxitHQo9pGP2QJcM0TQ8c7N5FWkScEAYxh+PxijzGZysFD4+ALLtg3f16UnwzqZf7cNGZ/iJizVllptX19pLmtuS8ChX7PYVIBAuJcfPCyHaLT3koIpqBE+h+OiJNqmLa1O+RBPAe1ECGkpZZ8ieoS3uaiSIOXmOmU1O9lf04fI9ErDP6e+5f3kjeyQmUEtBif7VQMp3dMajCucR0Jn+bGUjLTYB0HE4s09KZzlHaopPEoaMc1ox30VRTqFPQZR35NZH402JdQjNFdffidCsYWgnXG4UpQM5GsTm1odttZNgTtotKLMANIN2u/Agza/bJtUv+Sf9xdPZpH8UsXbeHlbofVfVNtlNYsLJj0qcg3Lgd+au0v4IbpL35HZ8SNXJFbekj80GSar9iqDLt//tgxnWsLe03pXMAJhEe/QtVaAiA9NRuGZjQU/h+U/6tM6jmHZbvHpcasbNdvPWJRoEg3CyY7k4/k2vZAYZT0bxMkLE7jYqOg/jgVfc4HmJJ/WHAQHocvEWg2RpyQp+pNzzhJjM3ZZ+3PlvA6aAyS14So1XU0+j4O52Gz5r5b 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, Jun 08, 2023 at 07:12:56PM +0200, Michal Koutn=C3=BD wrote: > An issue was observed with stats collected in struct rusage on ppc64le > with 64kB pages. The percpu counters use batching with > percpu_counter_batch =3D max(32, nr*2) # in PAGE_SIZE > i.e. with larger pages but similar RSS consumption (bytes), there'll be > less flushes and error more noticeable. >=20 > In this given case (getting consumption of exited child), we can request > percpu counter's flush without worrying about contention with updaters. >=20 > Fortunately, the commit f1a7941243c1 ("mm: convert mm's rss stats into > percpu_counter") didn't eradicate all traces of SPLIT_RSS_COUNTING and > this mechanism already provided some synchronization points before > reading stats. > Therefore, use sync_mm_rss as carrier for percpu counters refreshes and > forget SPLIT_RSS_COUNTING macro for good. >=20 > Fixes: f1a7941243c1 ("mm: convert mm's rss stats into percpu_counter") > Reported-by: Adam Majer > Signed-off-by: Michal Koutn=C3=BD The patch seems reasonable to me. Are any of the callsites of sync_mm_rss performance sensitive? > --- > include/linux/mm.h | 6 ++---- > kernel/fork.c | 4 ---- > 2 files changed, 2 insertions(+), 8 deletions(-) >=20 > diff --git a/include/linux/mm.h b/include/linux/mm.h > index 27ce77080c79..30cfde88d5b2 100644 > --- a/include/linux/mm.h > +++ b/include/linux/mm.h > @@ -2547,13 +2547,11 @@ static inline void setmax_mm_hiwater_rss(unsigned= long *maxrss, > *maxrss =3D hiwater_rss; > } > =20 > -#if defined(SPLIT_RSS_COUNTING) > -void sync_mm_rss(struct mm_struct *mm); > -#else > static inline void sync_mm_rss(struct mm_struct *mm) > { > + for (int i =3D 0; i < NR_MM_COUNTERS; ++i) > + percpu_counter_sum(&mm->rss_stat[i]); > } > -#endif > =20 > #ifndef CONFIG_ARCH_HAS_PTE_SPECIAL > static inline int pte_special(pte_t pte) > diff --git a/kernel/fork.c b/kernel/fork.c > index 81cba91f30bb..e030eb902e4b 100644 > --- a/kernel/fork.c > +++ b/kernel/fork.c > @@ -2412,10 +2412,6 @@ __latent_entropy struct task_struct *copy_process( > p->io_uring =3D NULL; > #endif > =20 > -#if defined(SPLIT_RSS_COUNTING) > - memset(&p->rss_stat, 0, sizeof(p->rss_stat)); > -#endif > - > p->default_timer_slack_ns =3D current->timer_slack_ns; > =20 > #ifdef CONFIG_PSI > --=20 > 2.40.1 >=20