Received: by 2002:ab2:1347:0:b0:1f4:ac9d:b246 with SMTP id g7csp75679lqg; Wed, 10 Apr 2024 16:15:49 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCXjaguShAoRaW985oQLBVt4dgDZgRyb2O6sSSixL0uAcDGtthX3sCVumoxFiI9LJJ8eWdy9ZlpfbDmkcgY+0Pt8Nhxm1osvWu/5cACj0A== X-Google-Smtp-Source: AGHT+IFXInhve4Qtf/Wdxqhant2Yq1gJxU/oztgj8cw4PmJaCsJHkca8W6XvmhZHEVmtJs3tWEPT X-Received: by 2002:a05:6102:c50:b0:47a:233e:e88e with SMTP id y16-20020a0561020c5000b0047a233ee88emr4026201vss.0.1712790948986; Wed, 10 Apr 2024 16:15:48 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1712790948; cv=pass; d=google.com; s=arc-20160816; b=KbjM1hycOFmsiJMaCA9uEv/MlkHHlYSVsLySTlDU3j7km1eouc2RLT7avoCcBz8MyR +groA5RZ/pIoWS7neoqL/hXqvKM/y5y21eiSSq2q9khv8/kGLPLntT+26lWVaM6qR8Zv wLDsfOo9BxRihEHe7oDEag4dfneUVbv5x5P9Ta5MTRQSDTRzstYRDQabUC39FyNCHGTj EHBjEAmwUNDqSSnSj4Xfo6O0OTy28aMcXXjjez2/Hiy0wVv42+ZpHXhjJ6OPwLsgtIz4 fSKT0PdEqpBvu1VHCJfDZkI74e1zrVvAVhOys2vmC/EAbIQi1ypNekIWBSH2EwJasSJI 2bbQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:references:in-reply-to:message-id :date:subject:cc:to:from:dkim-signature; bh=z6/XsF9wTcVbwuYshETzwCTsuur+Mkx5rLvN9O4/jVg=; fh=Zt8IrY2CMMHW9Kpx/21MqlXdo88OGgzK4BqdSf58vDg=; b=uHWDpguNuj9lVpHuCR0C4TifO4tGni/KZ+LZNjCmu9kQ1pSw4PMrrhT6jesnDfnhtD Sgc1mGKaxyLygvwGG6KpWZ92ADSZ6ox+Ja5CzUUd25AnJ/nPer7IYgXe4Xccs3FC+bqd 2ohMbX5yhs5odKp3Y9yNQXJ6RG9GUckskSVbxIlRmsYz4TH4dLpjCQUVvTypc0fVINeN xabfARLPM9nPpdNXHZj1M+4H+nZDtL7tFXQ4LXILbnNmwcTkO0BCftgzeH8+5HNxsGN0 C+Q75ew3YSoITFMI7Q1KCNypetG54avfRqCCs/4LwrAJ0KQ8IMdzEDX6ExbPKVz2DAIA mG1Q==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=V78ag95D; arc=pass (i=1 dkim=pass dkdomain=kernel.org); spf=pass (google.com: domain of linux-kernel+bounces-139518-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) smtp.mailfrom="linux-kernel+bounces-139518-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org. [147.75.199.223]) by mx.google.com with ESMTPS id s13-20020ad4500d000000b00699437f0563si247372qvo.408.2024.04.10.16.15.48 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 10 Apr 2024 16:15:48 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-139518-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) client-ip=147.75.199.223; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=V78ag95D; arc=pass (i=1 dkim=pass dkdomain=kernel.org); spf=pass (google.com: domain of linux-kernel+bounces-139518-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) smtp.mailfrom="linux-kernel+bounces-139518-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ny.mirrors.kernel.org (Postfix) with ESMTPS id 714651C21799 for ; Wed, 10 Apr 2024 23:15:48 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 8BBD9249F7; Wed, 10 Apr 2024 23:15:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="V78ag95D" Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B0C25138E for ; Wed, 10 Apr 2024 23:15:42 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712790942; cv=none; b=gJ5ZvtxS08vcgGFTSwCJAvaugqGsQY56pn7by+EAVFldenhLcRs7B7QY64Ez34wwgsrsxwA7Qd5rmNsXVZc0Ba8yzQ3h4aUrkmJQrSEiEN54X/N4WwrQLZpkwbGfMthmDdKW0lo9yJzis2Dkz6v5FMKnIqXqtHYrW6GV4BZ04Z4= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712790942; c=relaxed/simple; bh=RG8EDwScn2pYwAp6imeAEaKH30shjBDDs2FDWBIIxsc=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version:Content-Type; b=WSL8/qWV6kxhPBVtzEsNIi98gaUBP/b3acfxmJmITfZQQsX5qJOdj3o+9sORacYIRm+pkkEUiTiOrwug+1/vg2/wNcuzap38H6J2tCsWjvuQd9MUMCjaMalyji+Q5zmTvwH17cxlmRvk1t7iDCaIrjjRM0dElk2aT2xsUObf5mo= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=V78ag95D; arc=none smtp.client-ip=10.30.226.201 Received: by smtp.kernel.org (Postfix) with ESMTPSA id 9CB5FC433C7; Wed, 10 Apr 2024 23:15:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1712790942; bh=RG8EDwScn2pYwAp6imeAEaKH30shjBDDs2FDWBIIxsc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=V78ag95DM2OQzdzXqdQc0VPA12CdXdwyKfa/n0L8utxcuegK+NFdYhB8xZ9cPOgxE UT7vbVQ7pDnUSgtSc3EMQbuCT5GMTp1JeUdEQaEiUCRQ6SC7xLMZaT2mObm9UtbqLg uFWWu+6AX5UG5D1LqDG/38bpXJn6Zo0/cjcG9x8AXYcS1LKDuf6rlPuNOndOQTACgC ebl5LTM5WwjDsUDELVHz/ZPxm4uIfc50KtSzdUFTCj82Omyp8PdwgjOj4TBaD2udPM INJ+q+mwv1+WXyUOpdyAAv3TMqW8dtmjXAatq88UZFwAUCCgo0imrLHR9wwcE67gFL Z3mX3vUgQBlyQ== From: SeongJae Park To: Barry Song <21cnbao@gmail.com> Cc: SeongJae Park , akpm@linux-foundation.org, linux-mm@kvack.org, baolin.wang@linux.alibaba.com, chrisl@kernel.org, david@redhat.com, hanchuanhua@oppo.com, hannes@cmpxchg.org, hughd@google.com, kasong@tencent.com, ryan.roberts@arm.com, surenb@google.com, v-songbaohua@oppo.com, willy@infradead.org, xiang@kernel.org, ying.huang@intel.com, yosryahmed@google.com, yuzhao@google.com, ziy@nvidia.com, linux-kernel@vger.kernel.org Subject: Re: [PATCH v2 5/5] mm: add per-order mTHP swpin_refault counter Date: Wed, 10 Apr 2024 16:15:38 -0700 Message-Id: <20240410231538.131175-1-sj@kernel.org> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20240409082631.187483-6-21cnbao@gmail.com> References: Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Hi Barry, On Tue, 9 Apr 2024 20:26:31 +1200 Barry Song <21cnbao@gmail.com> wrote: > From: Barry Song > > Currently, we are handling the scenario where we've hit a > large folio in the swapcache, and the reclaiming process > for this large folio is still ongoing. > > Signed-off-by: Barry Song > --- > include/linux/huge_mm.h | 1 + > mm/huge_memory.c | 2 ++ > mm/memory.c | 1 + > 3 files changed, 4 insertions(+) > > diff --git a/include/linux/huge_mm.h b/include/linux/huge_mm.h > index c8256af83e33..b67294d5814f 100644 > --- a/include/linux/huge_mm.h > +++ b/include/linux/huge_mm.h > @@ -269,6 +269,7 @@ enum mthp_stat_item { > MTHP_STAT_ANON_ALLOC_FALLBACK, > MTHP_STAT_ANON_SWPOUT, > MTHP_STAT_ANON_SWPOUT_FALLBACK, > + MTHP_STAT_ANON_SWPIN_REFAULT, > __MTHP_STAT_COUNT > }; > > diff --git a/mm/huge_memory.c b/mm/huge_memory.c > index d8d2ed80b0bf..fb95345b0bde 100644 > --- a/mm/huge_memory.c > +++ b/mm/huge_memory.c > @@ -556,12 +556,14 @@ DEFINE_MTHP_STAT_ATTR(anon_alloc, MTHP_STAT_ANON_ALLOC); > DEFINE_MTHP_STAT_ATTR(anon_alloc_fallback, MTHP_STAT_ANON_ALLOC_FALLBACK); > DEFINE_MTHP_STAT_ATTR(anon_swpout, MTHP_STAT_ANON_SWPOUT); > DEFINE_MTHP_STAT_ATTR(anon_swpout_fallback, MTHP_STAT_ANON_SWPOUT_FALLBACK); > +DEFINE_MTHP_STAT_ATTR(anon_swpin_refault, MTHP_STAT_ANON_SWPIN_REFAULT); > > static struct attribute *stats_attrs[] = { > &anon_alloc_attr.attr, > &anon_alloc_fallback_attr.attr, > &anon_swpout_attr.attr, > &anon_swpout_fallback_attr.attr, > + &anon_swpin_refault_attr.attr, > NULL, > }; > > diff --git a/mm/memory.c b/mm/memory.c > index 9818dc1893c8..acc023795a4d 100644 > --- a/mm/memory.c > +++ b/mm/memory.c > @@ -4167,6 +4167,7 @@ vm_fault_t do_swap_page(struct vm_fault *vmf) > nr_pages = nr; > entry = folio->swap; > page = &folio->page; > + count_mthp_stat(folio_order(folio), MTHP_STAT_ANON_SWPIN_REFAULT); > } From the latest mm-unstable tree, I get below kunit build failure and 'git bisect' points this patch. $ ./tools/testing/kunit/kunit.py run --build_dir ../kunit.out/ [16:07:40] Configuring KUnit Kernel ... [16:07:40] Building KUnit Kernel ... Populating config with: $ make ARCH=um O=../kunit.out/ olddefconfig Building with: $ make ARCH=um O=../kunit.out/ --jobs=36 ERROR:root:.../mm/memory.c: In function ‘do_swap_page’: .../mm/memory.c:4169:17: error: implicit declaration of function ‘count_mthp_stat’ [-Werror=implicit-function-declaration] 4169 | count_mthp_stat(folio_order(folio), MTHP_STAT_ANON_SWPIN_REFAULT); | ^~~~~~~~~~~~~~~ .../mm/memory.c:4169:53: error: ‘MTHP_STAT_ANON_SWPIN_REFAULT’ undeclared (first use in this function) 4169 | count_mthp_stat(folio_order(folio), MTHP_STAT_ANON_SWPIN_REFAULT); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ .../mm/memory.c:4169:53: note: each undeclared identifier is reported only once for each function it appears in cc1: some warnings being treated as errors My kunit build config doesn't have CONFIG_TRANSPARE_HUGEPAGE. Maybe that's the reason and this patch, or the patch that introduced the function and the enum need to take care of the case? Thanks, SJ [...]