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 31823C83F2C for ; Sat, 2 Sep 2023 23:45:01 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 806588D0029; Sat, 2 Sep 2023 19:45:00 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 7B6078D0002; Sat, 2 Sep 2023 19:45:00 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 6A52A8D0029; Sat, 2 Sep 2023 19:45:00 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 5A8B98D0002 for ; Sat, 2 Sep 2023 19:45:00 -0400 (EDT) Received: from smtpin14.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 28D2A160315 for ; Sat, 2 Sep 2023 23:45:00 +0000 (UTC) X-FDA: 81193290360.14.0A4A1F6 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf15.hostedemail.com (Postfix) with ESMTP id 5E9DBA0016 for ; Sat, 2 Sep 2023 23:44:57 +0000 (UTC) Authentication-Results: imf15.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=korg header.b="s9cn8/uD"; dmarc=none; spf=pass (imf15.hostedemail.com: domain of akpm@linux-foundation.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=akpm@linux-foundation.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1693698298; 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=nBtmCw2XPiNRkxFW6oXaQK4pRUYuCf7/g/zrNRStLaE=; b=JKb0Qouk65B/o7DzkPztSBHuqD4pfxgK043UNSkmdSG2Y1HlxwDkz0Txh+QB45IZNddUNM S8WIeIil4U2Hx0kmdyszjeQwVnAnFUxWRB6PT2gfMY8vt6jxPRclAakww8U6FOHBZzH5H6 VRnP8U+uFDNmyU9RkAz2/0/fyJaj/Uc= ARC-Authentication-Results: i=1; imf15.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=korg header.b="s9cn8/uD"; dmarc=none; spf=pass (imf15.hostedemail.com: domain of akpm@linux-foundation.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=akpm@linux-foundation.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1693698298; a=rsa-sha256; cv=none; b=eNpF/Q/Fx57nW40BAwOQbriWNcy+y8oV4uBg9SzeEHVUWA+HPX57u3+80ddr/Nk4HH3MNy 0M7f8ajYm+k85mHjwDNqMAc5hZsIVcvCzzWrAPg8P7nQRoq7fRNIr5bMgCs/j4/dQPngMf 7G6n+JMuDjGUYT8sSDfrrTIrn2PoihY= Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 46B826118F; Sat, 2 Sep 2023 23:44:56 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 76D62C433C8; Sat, 2 Sep 2023 23:44:55 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linux-foundation.org; s=korg; t=1693698295; bh=jpQSr96KlatRbZ8R/nic2I0f6SFBUT8Y98to5zAR+1U=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=s9cn8/uDfxsYsG3KDfiHQ0DbmNta7Y9fCJjPjIoznSkzIZO14QACY/dnlFMillS4z vKRqKxUSRuv08Tt9BbOImh/ZcjLmsrV2bcgmyU2zL6P/h9z9uAGY1ntz1YstCSqf6Q Ov3fbVmBxeuZH4xMZGAjgJYTXLayY7isCSUgd2ww= Date: Sat, 2 Sep 2023 16:44:54 -0700 From: Andrew Morton To: "liwenyu01@bilibili.com" Cc: "linux-mm@kvack.org" , "linux-kernel@vger.kernel.org" , "wangyun@bilibili.com" Subject: Re: [PATCH RFC] delayacct: add memory reclaim delay in get_page_from_freelist Message-Id: <20230902164454.30dda58820ced683849b45cb@linux-foundation.org> In-Reply-To: References: X-Mailer: Sylpheed 3.8.0beta1 (GTK+ 2.24.33; x86_64-pc-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: 5E9DBA0016 X-Rspam-User: X-Rspamd-Server: rspam05 X-Stat-Signature: n7ptqy9hxwai9g85ybzgt6sty7dtn94a X-HE-Tag: 1693698297-509006 X-HE-Meta: U2FsdGVkX1+1lU+P5duKPhce+R907MTIOKj7DgZ/ye+OFQ7/O0fYeC0ZPW/NH+Rual9RvX+bBRbLlR6nF4QQHOjfNErFPdlWmfpfxXPeLvRBwpnCuV4ixaJvchxGlb8NS784GMkz77DOz2ydTeBpjysPXqsQPYBXwNiuXQkNhzfUf0naIyJXpeE3A5xzZkHpp7t3P+yN8wrorfEQrhAW86MSEYCFXuyaIJOYHb0nwXr6pG8nepN3/+1a1DNf2DPZLXZhq8ofK8vTFOD+7vFEQOnpcEeABPFCNesTu2ZjCDxy3A+OTNv+eohqSqdxJ9BUIktNsrmiMGPhSKcQhu12+IS6dtDehBG59nci0+ujRIKOZ41YPTESQI0mgNZgN14OMWZVySCHFdWEuJUHF6ty6C1RDpbmDKostSsRmLrGRxxpxefIvGLFF6p+1t1Mn81bHF8EOpIW+P1RoaIUDNJZu7IcOvMAvGI51BIqaIITyw7hJ6rNHu59qxaSUKWl+Kcug48mvPQHGJY8fXMnYwiSze6LIC3EZFBDnXpnPhskFSS3t25hk+cgQuKDscgp9h6jzZ8fPjH9hj4dH0BF+Xv72GHSa7IQ5d/B93fFp9e3nueIfYYH1qW9kus+XrzfEdOyZSkgYcd58B3v1lfOZrD589qiphnw/iP7Gb4MkGnm3xmuP8ivD7cHp8xdpmMbMJqWUVtrLmXl09TRKqI4YuRCijlJPfJWmSKX4R8MD8HlpZ12Ijo2xoJcxfL0Wx4YZbgzeDYWkLbwxVEadr0uyFcIolX603nVKgTLWLBG3MJzC8K3nUB4wtEsxjgnTIbv4CqMeYBWjmjrduhU+FISxhlCltM4hAgqHLcIAvcBh7/2ax5ZsOLuoddfR+19W8nQcjdFq+AjBVPKJlZMN9Vjrot3kEo+2SUYERCckbRQeYcmtkAj67Gpk2zRCS5SAfYsiq4e3RAwfDzJWFY6AV/zT/k K1LL0n7Z X/iklG4qqc5757dZxaitwu70GcUVUxQtBHti2fcnGw0nNMDYBIEm3GMIHchLBveTeV5JpuWSTJYhLqY/YZOIfsuD75Zt3ZDyhtZZVmYfI2GaKMvj8RflyGJFGqUpsdJo2zvh/GLavtW2nK9dzscKmI/+UFqKyxoiE7qGG14vzTrFURh0bZ7tQRCqWgIeI02Gjs6+hFF96GuPhrrqkXduxgdqYZ+aD3GWNDs4/U4Pwuz7UNBNACAWjypHi/eOxPuPfgDVgRz0T9EQoRJspyvWpWNZ5TvXn4cBzyFUVmTwn2F5J/nZaRqDM2Qu+PeVkNz2eM5hg8Z9MPrjdszbYJopB2mW/0N61R7Oa/6xunkUy9hYKAXOd9lgGP6zB9yjRqXgPbeBeu8rEh42HIVlF8CebdefZ2Q== 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, 31 Aug 2023 07:26:20 +0000 "liwenyu01@bilibili.com" wrote: > reclaim of the task in do_try_to_free_pages(). In systems with NUMA > open, some tasks occasionally experience slower response times, but the > total count of reclaim does not increase, using ftrace can show that > node_reclaim has occurred. > > The memory reclaim occurring in get_page_from_freelist() is also due to > heavy memory load. To get the impact of tasks in memory reclaim, this > patch adds the statistics of the memory reclaim delay statistics for > __node_reclaim(). > > ... > > --- a/mm/vmscan.c > +++ b/mm/vmscan.c > @@ -8010,6 +8010,7 @@ static int __node_reclaim(struct pglist_data *pgdat, gfp_t gfp_mask, unsigned in > > cond_resched(); > psi_memstall_enter(&pflags); > + delayacct_freepages_start(); > fs_reclaim_acquire(sc.gfp_mask); > /* > * We need to be able to allocate from the reserves for RECLAIM_UNMAP > @@ -8032,6 +8033,7 @@ static int __node_reclaim(struct pglist_data *pgdat, gfp_t gfp_mask, unsigned in > memalloc_noreclaim_restore(noreclaim_flag); > fs_reclaim_release(sc.gfp_mask); > psi_memstall_leave(&pflags); > + delayacct_freepages_end(); > > trace_mm_vmscan_node_reclaim_end(sc.nr_reclaimed); __node_reclaim() calls shrink_node() which at some point will call do_try_to_free_pages() (yes?), which calls delayacct_freepages_start(). So we're effectively nesting calls to delayacct_freepages_start(), which isn't designed for that?