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 A000AC77B60 for ; Fri, 31 Mar 2023 22:12:28 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id F1EAB6B0075; Fri, 31 Mar 2023 18:12:27 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id EA7DE6B0078; Fri, 31 Mar 2023 18:12:27 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D48636B007B; Fri, 31 Mar 2023 18:12:27 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id C1C7C6B0075 for ; Fri, 31 Mar 2023 18:12:27 -0400 (EDT) Received: from smtpin06.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 859E580319 for ; Fri, 31 Mar 2023 22:12:27 +0000 (UTC) X-FDA: 80630593134.06.36D360E Received: from mail-ed1-f42.google.com (mail-ed1-f42.google.com [209.85.208.42]) by imf25.hostedemail.com (Postfix) with ESMTP id B9FBAA0002 for ; Fri, 31 Mar 2023 22:12:24 +0000 (UTC) Authentication-Results: imf25.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b=Y7wgIhz8; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf25.hostedemail.com: domain of yosryahmed@google.com designates 209.85.208.42 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=1680300744; 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=GXj7Qyhuc3VANVAIof/dkXyPEcXygM8YpKQLnR/FCeE=; b=R9nfd3N8oD6ow46376CY7ICX411gi2OcUw0z5Lb7tci7zYtYAl4n0+LqG/0eyFDaItERrv 8+xfKCPazx1iOX4TVXOdAKvqIB0LTsyVCNX8dPCgl+pNqWoBdFskHVk3l+qlclovIzKmeP UJQIrhyCwVD6IA+C+aihlT8oAqrcmFw= ARC-Authentication-Results: i=1; imf25.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b=Y7wgIhz8; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf25.hostedemail.com: domain of yosryahmed@google.com designates 209.85.208.42 as permitted sender) smtp.mailfrom=yosryahmed@google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1680300744; a=rsa-sha256; cv=none; b=LE4IRYmFh6GhgtvYlbJdciCy41G8xYpvYsXjSa1Qu1CW3u4sa52kIxlQrUZgNrYIn9GC7m DrMc8j/hzIa9JjQHHgiRLLFKk6nyKra6rLm4D9aEBP/49WS4HdihB+kJBHjdHGnQeOhas+ ykl5mKn88eChmYPEZjV6zriswcE74yY= Received: by mail-ed1-f42.google.com with SMTP id ew6so95138695edb.7 for ; Fri, 31 Mar 2023 15:12:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; t=1680300743; 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=GXj7Qyhuc3VANVAIof/dkXyPEcXygM8YpKQLnR/FCeE=; b=Y7wgIhz8nV9/+JLQsYPnAwcryWNNk6SGIsTlR1ZDgFqo2CeTCBdwaY/59tRk1x6wDD kJ6hALcgHquJ/7Uw4MiIw4axX8C5DJ7h0ca615Iy3dMLiloDQeOLieUPgXncrwBpcX4e m4gAv6Jw4n7BAz5q/oWkZXbBG/l1vfedPJXZxOVCX0izr91Hbzh9Ff5RgEavalR/3rVf TlgSh9YdhXvtBNU3CNgG30msbxq42Qn1Iz3O8TlEOIqVOanF6/XVsco+Fyj6Qy1Je7EI VsH7GhxQddG6FAxXQId4sr1vTc9RbdeM9SBpzwSijPTcRwfUk4JQDAajQQajP2kXyrdy 7WBw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1680300743; 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=GXj7Qyhuc3VANVAIof/dkXyPEcXygM8YpKQLnR/FCeE=; b=ceKhbAJcGfAH6l9nRognsQj885O6BSlK5MISArFS6N9i/ch8r8w3bJwXnscR57OR3q 2pt1SFSs8tLRtglFpi7O74Hof9+TmOOXfkC3PrIWPWfBaUYHNuA1LIXCXWlSkzRH3X10 UvQMH8PuYWHz6qFd8lQClRz9sWk3AfS9qQAo6Vts6Xob0n7xiz/hWYYchVNZr1MMizEe njoBMQPYv+AJD+72VM6SCiS1Gbgldp5hatj80sqjMFSCdi3Z5CIStspLMLO+jmSlashu jQIrcGm2ui9C5Xth74rWSXYIacDZltgxSbNJBGUienp2Hu/Jp1lj/8qP0wNzWvwjyKL1 fM6w== X-Gm-Message-State: AAQBX9fOStV/bwCZ1sJCLVkcHg4+1B3JXwofCERT5g2Xrdj9stcjnXML O/mTjiTYxe5dugdBRqvYkFwEkP2kxWELfuGKMKkniA== X-Google-Smtp-Source: AKy350YNxzefAx/NXeor8UoJ5Yql4qMe7ZyBd+MvOF9a06S3oO/DniRs2KI3wKVInPUmESDZhZ1+jvPbQ747jsXKQN4= X-Received: by 2002:a17:906:2456:b0:8e5:411d:4d09 with SMTP id a22-20020a170906245600b008e5411d4d09mr14741355ejb.15.1680300742955; Fri, 31 Mar 2023 15:12:22 -0700 (PDT) MIME-Version: 1.0 References: <20230331070818.2792558-1-yosryahmed@google.com> <20230331070818.2792558-3-yosryahmed@google.com> <20230331205117.GI3223426@dread.disaster.area> In-Reply-To: <20230331205117.GI3223426@dread.disaster.area> From: Yosry Ahmed Date: Fri, 31 Mar 2023 15:11:46 -0700 Message-ID: Subject: Re: [PATCH v3 2/3] mm: vmscan: refactor updating reclaimed pages in reclaim_state To: Dave Chinner Cc: Andrew Morton , Alexander Viro , "Darrick J. Wong" , Christoph Lameter , David Rientjes , Joonsoo Kim , Vlastimil Babka , Roman Gushchin , Hyeonggon Yoo <42.hyeyoo@gmail.com>, "Matthew Wilcox (Oracle)" , Miaohe Lin , David Hildenbrand , Johannes Weiner , Peter Xu , NeilBrown , Shakeel Butt , Michal Hocko , Yu Zhao , linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, linux-xfs@vger.kernel.org, linux-mm@kvack.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspam-User: X-Rspamd-Server: rspam02 X-Rspamd-Queue-Id: B9FBAA0002 X-Stat-Signature: m8cq8k9z446gwyotcrr3ur3aezxdk8hn X-HE-Tag: 1680300744-140929 X-HE-Meta: U2FsdGVkX19UT0+g+ZiWXL1z11Ojv4bx2rHZ7w9nex8R01GACzVaS5CjxBF1mwwwLKInTHrVST4GDRB8t6knk24RSG7Gsq184LZaM4byaT3rZPJ68wt5bkQzkM/5dW80kgNyOxW1Se41+eq9x2SQjcyFS0h/0y6AZb+t3lvO5ubT7AZunri5N/XbGYotJxP7jMGmfW/MPHyTOcOI+eEadNiJtO35E1HoJ/ERuOMvZLcxDyKlP1rLD6YCWlxr7opbCUynIWZNGTQLUjHneEbn2Oe8PeI2HombpBf2AyBQyDfBZA/NNl3sDhSHTwfvuKD+HAq0O1AZB3oKpxjt/GWtI7iGZ2eskdHEyZTbbt6MqYswqBDEPjfqQA+WR1fT/5MWA2uKgms69xCZzqhSJAaTkvC5cpfbKIdHHy9HvDnAosNsFrrinBrk96W5zpZw97uzmyqUs3NNrn3oy8csUdmVyiuXMpDs0mJUkDzBbhZqv741KAuJe34aZZ0Uzx305ajxIV7PhslQa0+GI7WUor80nEuU8km/dKygOo6/LfIcyBGuyksgrPYBHbFQYuClQ9bqAy92yKJNTgP8bvb5584xXxpkmqoYA2KOxIC6+J9WbE3dpd0c8ycK4TGsapTDwa8g6en/oyMXB2vICx3qdQHkmWgKMqFPxpgk3ZeTeAcAwD+u/9pRdI4Jm+2uqNENhywdUMeGuu38UTMZJqf7Kmjbkaj7NwYlkSilZV4wKnPjnyiXI/AwIWPn724cpQuzzREyWNXphQbXBic5l+UlAmTSU7ocby7Eqb4vuipB4wBIY45iti81c99BO+W4lSmULSmCzhiIQbifUbWwDsQ4Q4clPJlh1uadBsaP37qARsQ4F5/2Zl1DNOeouvz8pb/V8aC9U7StbQqaAlhpHmWgW46r2J6l+fN0aM1gaGC74S8Hcg7FHi7daSpKjbJLwoAtz1tYyD09owdbcb7lcTMRSZQ 0OeUsdtx 0Ri+J0phHbOxJnqBXtbUFh/t4KIvIPy2mIrHm0ORyYnMgaiMEWqN+vcWkwWp+Hn1WkRMvnHHVFnvlXpM17vcLXjyhENh2GsZxysxDmDsK+xVbYdf9nKuqG/SKlB6vxAc+vVT9XaQMjgZzrEsKqSAuZiaMWrm/rDiRLTbObIlznJ5YCuJHxCRDJ/TrRf+rhdqhv3ariOWJ7Pd1xaby+W+2hE2nLSAeYUgHssa37l0sqPxDwzDoHOHSWyqOZr0qnJnDzBM32kCLiVdQAGjg7/N60bckcZIDiVYnDroSO+vZ+vGJlEkXxltXBV/xVTYMwCv0o2QZBknN2QQNCY79nLk35OaFGbF4MoTMSaRLwlWytBAG0wiOy3/SMj1Xf94fjNicQByWg8nhOX9O5v8etM75muc4osT8hTx2iIvABk+VarG51Rc4HH8fu4+84b8KAZq8C6Ks 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 Fri, Mar 31, 2023 at 1:51=E2=80=AFPM Dave Chinner = wrote: > > On Fri, Mar 31, 2023 at 07:08:17AM +0000, Yosry Ahmed wrote: > > During reclaim, we keep track of pages reclaimed from other means than > > LRU-based reclaim through scan_control->reclaim_state->reclaimed_slab, > > which we stash a pointer to in current task_struct. > > > > However, we keep track of more than just reclaimed slab pages through > > this. We also use it for clean file pages dropped through pruned inodes= , > > and xfs buffer pages freed. Rename reclaimed_slab to reclaimed, and add > > a helper function that wraps updating it through current, so that futur= e > > changes to this logic are contained within mm/vmscan.c. > > > > Signed-off-by: Yosry Ahmed > ..... > > diff --git a/mm/vmscan.c b/mm/vmscan.c > > index fef7d1c0f82b2..a3e38851b34ac 100644 > > --- a/mm/vmscan.c > > +++ b/mm/vmscan.c > > @@ -511,6 +511,34 @@ static void set_task_reclaim_state(struct task_str= uct *task, > > task->reclaim_state =3D rs; > > } > > > > +/* > > + * mm_account_reclaimed_pages(): account reclaimed pages outside of LR= U-based > > + * reclaim > > + * @pages: number of pages reclaimed > > + * > > + * If the current process is undergoing a reclaim operation, increment= the > > + * number of reclaimed pages by @pages. > > + */ > > +void mm_account_reclaimed_pages(unsigned long pages) > > +{ > > + if (current->reclaim_state) > > + current->reclaim_state->reclaimed +=3D pages; > > +} > > +EXPORT_SYMBOL(mm_account_reclaimed_pages); > > Shouldn't this be a static inline in a header file? > > Then you don't need an EXPORT_SYMBOL() - which should really be > EXPORT_SYMBOL_GPL() - and callers don't add the overhead of a > function call for two lines of code.... Yes it should be. Thanks. An earlier draft of this series had more going on in this function, so I moved it to mm/vmscan.c, then I forgot to move it to the header later. Will do that for v4. > > -Dave. > -- > Dave Chinner > david@fromorbit.com