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 A1F72C10F1A for ; Thu, 9 May 2024 14:02:08 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id DF8916B0083; Thu, 9 May 2024 10:02:07 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id DA8A76B0087; Thu, 9 May 2024 10:02:07 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id C70016B0088; Thu, 9 May 2024 10:02:07 -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 A9EE26B0083 for ; Thu, 9 May 2024 10:02:07 -0400 (EDT) Received: from smtpin08.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 1BD661A15B3 for ; Thu, 9 May 2024 14:02:07 +0000 (UTC) X-FDA: 82099021494.08.D5DC25D Received: from mail-qt1-f182.google.com (mail-qt1-f182.google.com [209.85.160.182]) by imf30.hostedemail.com (Postfix) with ESMTP id 0141280034 for ; Thu, 9 May 2024 14:02:01 +0000 (UTC) Authentication-Results: imf30.hostedemail.com; dkim=pass header.d=cmpxchg-org.20230601.gappssmtp.com header.s=20230601 header.b=rr4Gt3O6; spf=pass (imf30.hostedemail.com: domain of hannes@cmpxchg.org designates 209.85.160.182 as permitted sender) smtp.mailfrom=hannes@cmpxchg.org; dmarc=pass (policy=none) header.from=cmpxchg.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1715263322; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=FxXM07tt0/OK6dXc3DYIRyyq3et18XLiV0rVPn2jyy4=; b=cgKmaE1FWaoHRME1xqf77jN80tu+4mwJXVkfDe4En9xJPNWHnX26GMwcHcz/7orjNeNt+I l7gAf0VQPZyuIG16CusTiWrP3uvIkckwEoaQiC/AWf5I25PHV3TAIWORQ69/uak3JsDP5w VoXylph3ufoRXGLep2MiI9xznPW1X70= ARC-Authentication-Results: i=1; imf30.hostedemail.com; dkim=pass header.d=cmpxchg-org.20230601.gappssmtp.com header.s=20230601 header.b=rr4Gt3O6; spf=pass (imf30.hostedemail.com: domain of hannes@cmpxchg.org designates 209.85.160.182 as permitted sender) smtp.mailfrom=hannes@cmpxchg.org; dmarc=pass (policy=none) header.from=cmpxchg.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1715263322; a=rsa-sha256; cv=none; b=jXZM3vp2iVxOVCHg0QFK2o/7eq7LGNjV5Si0JIEP5bLIOYggMJKlBhQVQ2vVl4BDwt73Dk Xlv+XzKclTuh1Kh4u284WsNGacYhKK01jYb0aFZhB8WLhDwaW7+XhbcsToSE6G1XghIA7k swzP74VA3NxLOOcaJCBSV0y6CsTegjY= Received: by mail-qt1-f182.google.com with SMTP id d75a77b69052e-43de92e234dso9691401cf.1 for ; Thu, 09 May 2024 07:02:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cmpxchg-org.20230601.gappssmtp.com; s=20230601; t=1715263321; x=1715868121; darn=kvack.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=FxXM07tt0/OK6dXc3DYIRyyq3et18XLiV0rVPn2jyy4=; b=rr4Gt3O6QNt7uPuSy9F3dHAUlew9pGky9j9UlQsc8Xqt0OI+RMoCHrGd2DMIGJdFhe nEk+dQ92BsrPsVXK3R0BVUXi1Z7tBX+EU/75GgMy9c3GqTokIuUIeaYbA1nTO8bcJn95 to0Ts2ZvrJIwAXHXFtnlmAJzUQOOuuhiYyELWFT3+fUpz6JNXWUncgxQBXkW44P/iAlL RQo8BBlIe0CX47Rzvi0hbaH2qhPjMBPYvXnXah5NESmy3r3JqhpudbcdrHdQ9jaSZbTI wWvfHzy6SGhhmzKILM5qN8Vjxbgk2aK1L5Mv+4lkuRxMwaGmoNyuvy/LEtQ7SyMcer9s 9vjg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1715263321; x=1715868121; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=FxXM07tt0/OK6dXc3DYIRyyq3et18XLiV0rVPn2jyy4=; b=Jpp2gTxnpz6167gvd9Dr4HDWEf8k8xmyLiiIl5jgXnLq2kKPyAvSmlbBlnj4ETA0E5 4VTH1I2b2MMECbV1AAImaRgdDaz0InoGWJll1nW6yoJ3QU7qLI6XqeZ8jn5XHuEE49C3 EJFpuJzBhtcURfh5EQvzyj6tHj4roLcAu1cvSx08d1v5pGjJx6Jwu+81UmmTcKleFrtL swBhiHseNfGDmg1bnyx9ysNCseMugf+VKrvLCUsFLjYz7xPr0DWFZtGSKTUqMX4XvYwB vGA76PfSvdSHkb5eH7lRGUDvHoFJGPjyspfYIdJSboSlXh2XMD01diiYDiXb7Q4DUkoz Psbw== X-Forwarded-Encrypted: i=1; AJvYcCXuxTqyX23oFpNboO4Ihwi58T9JG4aijtU+5FsSOCiqDHNTmklFZdl1tray1ZF3ZOWJtdCQtotFQtomh/CZGpORenA= X-Gm-Message-State: AOJu0Yz/mmAE1IQpoDQho3w5OHtShVrdnfP1BBh7DETQnt7ChmUOQUBE tO0PwUlaD9UfCOSapER2ZTcNBEvzZzRB3DbbBLG/OypuyqnTTEJjOk3GWZGF5pc= X-Google-Smtp-Source: AGHT+IHJeZ7OXr4LZ9Z5cUPR+WM0M9J4Pkw7iCipKJxZeay1vOmlP//gFF0u3LftJDLZcU+sbpDopQ== X-Received: by 2002:a05:622a:90:b0:43a:b66d:1a67 with SMTP id d75a77b69052e-43dec297526mr39555301cf.29.1715263320889; Thu, 09 May 2024 07:02:00 -0700 (PDT) Received: from localhost ([2603:7000:c01:2716:da5e:d3ff:fee7:26e7]) by smtp.gmail.com with ESMTPSA id d75a77b69052e-43df54c95c2sm8535041cf.14.2024.05.09.07.01.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 09 May 2024 07:01:59 -0700 (PDT) Date: Thu, 9 May 2024 10:01:49 -0400 From: Johannes Weiner To: Kefeng Wang Cc: Andrew Morton , David Hildenbrand , Michal Hocko , Roman Gushchin , Shakeel Butt , "Matthew Wilcox (Oracle)" , linux-mm@kvack.org, linux-fsdevel@vger.kernel.org, Muchun Song Subject: Re: [PATCH rfc 4/4] mm: filemap: try to batch lruvec stat updating Message-ID: <20240509140149.GA374370@cmpxchg.org> References: <20240429072417.2146732-1-wangkefeng.wang@huawei.com> <20240429072417.2146732-5-wangkefeng.wang@huawei.com> <411eb896-56c6-4895-a2ba-6c492f8b51fd@huawei.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <411eb896-56c6-4895-a2ba-6c492f8b51fd@huawei.com> X-Stat-Signature: yi18ogndcsxygkzg43i6ao3ygbbd8gh8 X-Rspamd-Queue-Id: 0141280034 X-Rspamd-Server: rspam10 X-Rspam-User: X-HE-Tag: 1715263321-327802 X-HE-Meta: U2FsdGVkX1+wNTaMTJYA3WTpFAgV8w2DF0OfK0aa3Y3REhgurMKWs8+eOeDLhDdUh8nB2AKF7M5awGmIjMyL4wyX9rBzAjGQVJAhHF85ptcg2wZH/PWUecDjCumgSnmkMm00wkIw8fUSxtofgGqT7I0UW6+G7egqaCkIivmTnuQ60zlcA5Rq1WsB7zzj5esKU1Bz+s2VfiXkubb5CFWJqSHJ34xjEoDPj4WvKMQoWcNyQOQ/qAr0DRPDDZv6B5HKOtFLVbLr34qR+a8W+p40N9pVJDHQSCTOdxjlJ3zMnLLHfHbDwIcDc0HDxT8RtCM/w1P7U921tuNv/Su54YUrfMk+JfFEswBu1cAJmZ9F8TcofOO0nqzBS+qFUSero1LvomHsa4C7sgu87pDDS46gD9rh7uBe/pyuZWi8bGp9sSuKQu923mQbOPs2qJQQbDiTkWqPlDeEs8mnXDc8auBopQ8OYFb8nyKFL7HjkYncaYJeWDNqnR7vCD48iS2W30IEimrLj2AxxMUBrqHWZF5s46rKg8hv2O3SWq87ApEK99ueuTBrFrXEN713lQ3Lw57+DWWuO3mrnGVzZzheinYCzOU0mV9nUzcMd/10cM42OSbF9gvKduiThxqkaxxJ2iBIBP1cGZ8+wh/K6bdoDpyeMBEpj0DwdVNXCZke22/Rk5OAOH9wrp0mStlkFe2H7ED2566NkTt+d8MIlnZlafuexvjmI5yMfJVTUHUvG9Bi0k18JKNF5QfjGPCEtycEbS29ZOs0KKg6Oscx1XmOEq09hqkn+FYQ4zSqjHLE4T5MpiXHU/J1KudLNvw5L2QZNFZ5eXsrfP9PYUhP6kbkb9DI6VkKHNXdAeyhlP4wJGBjCNnCiXfl0cMDju7VSkZDRWimZC/eCoO/kefX7CmJ0pcAMNIRjtnjl6H2a2vCiB5VGAqCl9cljMTV0wSk4HQhM7eeYtFJX0LfDYwYW4fi0Li 5Gihsjzi f/MR2ByN1vEMbtZzSWa5g/E3HSWxy8pfoxr2yfQEKRZfWCXKXUCNvD7BnSazXo0z61xAnft8INGbHGusE2GYgfJyvNf1gv69RXPONk3RPed2/iZJ319ZO51zmd/W7WFhSKa8BG21Mld6yHQoXJStZxbSyErKFgObA/lHtyLsqp9gfnS/ImWRzm/xts37j4+iB+tA/Q8YgMn/nk7d5SHYYrzZKeEkP5QYhq3ngvGvXhfLQ3ilHKGUdR90fVjjKMrvtjklJwEDWI08C5ClX6gpjPijvx6tObUHcWzOQQ5nVec/7Qlm03tVK1neyA7mcAt4QP2uR7ZZDaSEMtd27dZKLAC0OkiJFlf4aEm/LobXIZA6lh9FeO8o4rlyWin4kRSpzx5RvZLnmKSPmuE+1TpalpbqI+C8xYPpJkrK1ca3Xccdq/d/Oze7dzvET8VPmEcFbu3EhRXKkcGMuqBB7BUc7J2++4R1b/9ntpsrQ9s6aMbELDGs= 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: List-Subscribe: List-Unsubscribe: On Tue, May 07, 2024 at 05:06:57PM +0800, Kefeng Wang wrote: > > +static void filemap_lruvec_stat_update(struct mem_cgroup *memcg, > > + pg_data_t *pgdat, int nr) > > +{ > > + struct lruvec *lruvec; > > + > > + if (!memcg) { > > + __mod_node_page_state(pgdat, NR_FILE_MAPPED, nr); > > + return; > > + } > > + > > + lruvec = mem_cgroup_lruvec(memcg, pgdat); > > + __mod_lruvec_state(lruvec, NR_FILE_MAPPED, nr); > > +} > > + > > vm_fault_t filemap_map_pages(struct vm_fault *vmf, > > pgoff_t start_pgoff, pgoff_t end_pgoff) > > { > > @@ -3628,6 +3642,9 @@ vm_fault_t filemap_map_pages(struct vm_fault *vmf, > > vm_fault_t ret = 0; > > unsigned long rss = 0; > > unsigned int nr_pages = 0, mmap_miss = 0, mmap_miss_saved, folio_type; > > + struct mem_cgroup *memcg, *memcg_cur; > > + pg_data_t *pgdat, *pgdat_cur; > > + int nr_mapped = 0; > > > > rcu_read_lock(); > > folio = next_uptodate_folio(&xas, mapping, end_pgoff); > > @@ -3648,9 +3665,20 @@ vm_fault_t filemap_map_pages(struct vm_fault *vmf, > > } > > > > folio_type = mm_counter_file(folio); > > + memcg = folio_memcg(folio); > > + pgdat = folio_pgdat(folio); You should be able to do: lruvec = folio_lruvec(folio); and then pass that directly to filemap_lruvec_stat_update().