From nobody Tue Apr 7 16:31:43 2026 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 8DB4AECAAA3 for ; Fri, 26 Aug 2022 08:32:03 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S245622AbiHZIcB (ORCPT ); Fri, 26 Aug 2022 04:32:01 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:48520 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229893AbiHZIb7 (ORCPT ); Fri, 26 Aug 2022 04:31:59 -0400 Received: from mail-pj1-x1029.google.com (mail-pj1-x1029.google.com [IPv6:2607:f8b0:4864:20::1029]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 12504B4430 for ; Fri, 26 Aug 2022 01:31:58 -0700 (PDT) Received: by mail-pj1-x1029.google.com with SMTP id x14-20020a17090a8a8e00b001fb61a71d99so7407653pjn.2 for ; Fri, 26 Aug 2022 01:31:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=references:in-reply-to:message-id:date:subject:cc:to:from:from:to :cc; bh=ejcX4jVEjPdrkU9dU00T+efoVTYJPy0kG3uinoXmHSo=; b=qmSn+U7UOMfTh5bJbldCWYQMzI8jk/xzz6l13VdM0yIJu1bSu8OsRNo2qulPeCCNAE Y00MCO5PftrGLKUObBZ/e7EznloXzjELQF0h0VjTIlYi+yLgKcMbBbp2uSsGziQqoJ5U DW7IzctU9Lg3yglf2WxCdGP9mXZvjKHwhF7R7lk4xyKZ1T+giTLS6f8ZDlnyhG2fRQIA Y0trohdcerSE6/8mrUQ2cFRqMqTBokAtcP0r8rLA6pCqnfWR6R3oJ1ToIjsUYux7coTo oP8+1qk4szSRMwEHcYN8CPpOvOuoJlAnh62wTWL+Aa891nAF0k7zVoSKxY6VWVjRynnT NZ/A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=references:in-reply-to:message-id:date:subject:cc:to:from :x-gm-message-state:from:to:cc; bh=ejcX4jVEjPdrkU9dU00T+efoVTYJPy0kG3uinoXmHSo=; b=XMVR15018BJiTf7wiDby+hnLnx9dwG/a4aPkOgNXLJvaodcM6WtGDVLgi0utdNfSqG 3CVPYe28rA4Pp0ftrtTJSlAtFVKxT3+71OFgz9T/SBI6O+yOOiUrgLKDSQ5Akgj0ZgNU x04PWnB3pqugF5Nv2kjvS/NM/hJ3sCzGxnXDnCuc1FfCCGbliaypQvB0Jd+PWuFGmlCV ZO91MzEMEqV8gP6Bxw5j9BVRe67majDA4SxSBsOVmqaKg9W/vZGTCp1LsjJNuJSU4swA izrJX0dCPoZaT9Az6U6MGDsxdQo2wBHE2UHBakQWc43C63C49aVE1tQ/adRVIg8+SYa8 UDBg== X-Gm-Message-State: ACgBeo0+mFgEDBkz3b3/plY49KzhshlmS36Zq7A+xIRqk/hLf2l8uxO9 nIukUqp0ZK3VuB9I1XffNg== X-Google-Smtp-Source: AA6agR6IsHxv+NS3WcRPeGsCLiGaj9g0DHrOHdXBhcNVEf8r/Z+LHIF4VAngJkDr1WU/jvOjrx+44Q== X-Received: by 2002:a17:902:cf43:b0:172:86f3:586a with SMTP id e3-20020a170902cf4300b0017286f3586amr2703089plg.71.1661502717626; Fri, 26 Aug 2022 01:31:57 -0700 (PDT) Received: from localhost.localdomain ([43.132.141.8]) by smtp.gmail.com with ESMTPSA id u2-20020a170902714200b0016f1ef2cd44sm934953plm.154.2022.08.26.01.31.55 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Fri, 26 Aug 2022 01:31:56 -0700 (PDT) From: xiakaixu1987@gmail.com X-Google-Original-From: kaixuxia@tencent.com To: sj@kernel.org, akpm@linux-foundation.org Cc: damon@lists.linux.dev, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Kaixu Xia Subject: [PATCH 1/2] mm/damon: simplify the parameter passing for 'check_accesses' Date: Fri, 26 Aug 2022 16:31:17 +0800 Message-Id: <1661502678-19336-2-git-send-email-kaixuxia@tencent.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1661502678-19336-1-git-send-email-kaixuxia@tencent.com> References: <1661502678-19336-1-git-send-email-kaixuxia@tencent.com> Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" From: Kaixu Xia The parameter 'struct damon_ctx *ctx' is unnecessary in damon 'check_accesses' callback operation, so we can remove it. Signed-off-by: Kaixu Xia --- mm/damon/paddr.c | 5 ++--- mm/damon/vaddr.c | 5 ++--- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/mm/damon/paddr.c b/mm/damon/paddr.c index dc131c6a5403..6b0d9e6aa677 100644 --- a/mm/damon/paddr.c +++ b/mm/damon/paddr.c @@ -166,8 +166,7 @@ static bool damon_pa_young(unsigned long paddr, unsigne= d long *page_sz) return result.accessed; } =20 -static void __damon_pa_check_access(struct damon_ctx *ctx, - struct damon_region *r) +static void __damon_pa_check_access(struct damon_region *r) { static unsigned long last_addr; static unsigned long last_page_sz =3D PAGE_SIZE; @@ -196,7 +195,7 @@ static unsigned int damon_pa_check_accesses(struct damo= n_ctx *ctx) =20 damon_for_each_target(t, ctx) { damon_for_each_region(r, t) { - __damon_pa_check_access(ctx, r); + __damon_pa_check_access(r); max_nr_accesses =3D max(r->nr_accesses, max_nr_accesses); } } diff --git a/mm/damon/vaddr.c b/mm/damon/vaddr.c index 3c7b9d6dca95..c8c2f306bb6d 100644 --- a/mm/damon/vaddr.c +++ b/mm/damon/vaddr.c @@ -532,8 +532,7 @@ static bool damon_va_young(struct mm_struct *mm, unsign= ed long addr, * mm 'mm_struct' for the given virtual address space * r the region to be checked */ -static void __damon_va_check_access(struct damon_ctx *ctx, - struct mm_struct *mm, struct damon_region *r) +static void __damon_va_check_access(struct mm_struct *mm, struct damon_reg= ion *r) { static struct mm_struct *last_mm; static unsigned long last_addr; @@ -568,7 +567,7 @@ static unsigned int damon_va_check_accesses(struct damo= n_ctx *ctx) if (!mm) continue; damon_for_each_region(r, t) { - __damon_va_check_access(ctx, mm, r); + __damon_va_check_access(mm, r); max_nr_accesses =3D max(r->nr_accesses, max_nr_accesses); } mmput(mm); --=20 2.27.0 From nobody Tue Apr 7 16:31:43 2026 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id DB794ECAAD2 for ; Fri, 26 Aug 2022 08:32:09 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1343589AbiHZIcH (ORCPT ); Fri, 26 Aug 2022 04:32:07 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:48626 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1343630AbiHZIcC (ORCPT ); Fri, 26 Aug 2022 04:32:02 -0400 Received: from mail-pf1-x42a.google.com (mail-pf1-x42a.google.com [IPv6:2607:f8b0:4864:20::42a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id AE3CDD4775 for ; Fri, 26 Aug 2022 01:32:00 -0700 (PDT) Received: by mail-pf1-x42a.google.com with SMTP id t129so921063pfb.6 for ; Fri, 26 Aug 2022 01:32:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=references:in-reply-to:message-id:date:subject:cc:to:from:from:to :cc; bh=HGwS3OwkfwDxERtuzQGvNMSPhF82bFpGx5C7eTjqwZo=; b=EPsyWypD33QcVW4SCyLjAm9PAiP16Aj8PplboIwAG/F66l5bvFtyXub0S7WHdAx3EH N9PCD+XOwb/KBcvxL1uy4doXAtRsIDC7ueYEzzMtjBcXDUuHksCdFVskFESSOvWsgpWt vCs/zq0HAtll3C4ovMN8CXWmai49o6E6h+sZLygFGpeKpuWEVP2AMUjBiMMqeT4Yssoo 68zWlRK3v3lAg9jc5xGgIZQ7YA3sE4ctnU34tTk7TS5PDC3IbOo1Hw/R1nj8PthFLidU RdLRci6dShTBBs+h3TWCGOr3Dwl2af/URPZbiP0bg7mewFQ557XGTouLcE27U/3NE7XH jyjg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=references:in-reply-to:message-id:date:subject:cc:to:from :x-gm-message-state:from:to:cc; bh=HGwS3OwkfwDxERtuzQGvNMSPhF82bFpGx5C7eTjqwZo=; b=I2sMV2KyKfR8bZFIE3Poti639lEUi0dqNeWFlP/q0l/9YWY3wIimXYCX+bn/Ju54Xe YMZzqkSz6PJFOcuBc1XaAPy79SyDT5elAsbnnbz8dYEUWTUU/qRxOwFDFtLZ0QUiSQE9 v5S4ACjP7l7t4qfOGNPjgTGr3jyF07A+NGw0Xz4YYwCoFkvWaGGhhIq1bo7g5ccU0t7F UcA8sRRhKJGuYv+zpeSlCaVlciDY0Z2TexBa8gJDWRT2wC3K1l+AXKeEleHpZbKCtgW5 nwSt1kGkEU0cNRmFYcnS0WrBRgmG1akER1qufxdM0zQGf9kISTQ0RF0k1yLJDq68QYaz B8Pg== X-Gm-Message-State: ACgBeo3JWBXqF3++QFyNoTZsDoy6RqlzZAa1M5Dzu4086IVwVsRyFSow ZxeCrE4e4ydijgeIXyk27A== X-Google-Smtp-Source: AA6agR5e26Dd4o1ct1Xh53Ya1Lc3TsdTH+bpgF9eqipht0V/Vb1I+zPgvR7uzY7+6zK5KFDxUqDtfQ== X-Received: by 2002:a63:1e1b:0:b0:42b:5561:529e with SMTP id e27-20020a631e1b000000b0042b5561529emr2435166pge.514.1661502720074; Fri, 26 Aug 2022 01:32:00 -0700 (PDT) Received: from localhost.localdomain ([43.132.141.8]) by smtp.gmail.com with ESMTPSA id u2-20020a170902714200b0016f1ef2cd44sm934953plm.154.2022.08.26.01.31.57 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Fri, 26 Aug 2022 01:31:59 -0700 (PDT) From: xiakaixu1987@gmail.com X-Google-Original-From: kaixuxia@tencent.com To: sj@kernel.org, akpm@linux-foundation.org Cc: damon@lists.linux.dev, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Kaixu Xia Subject: [PATCH 2/2] mm/damon/vaddr: remove comparison between mm and last_mm when checking region accesses Date: Fri, 26 Aug 2022 16:31:18 +0800 Message-Id: <1661502678-19336-3-git-send-email-kaixuxia@tencent.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1661502678-19336-1-git-send-email-kaixuxia@tencent.com> References: <1661502678-19336-1-git-send-email-kaixuxia@tencent.com> Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" From: Kaixu Xia The damon regions that belong to the same damon target have the same 'struct mm_struct *mm', so it's unnecessary to compare the mm and last_mm objects among the damon regions in one damon target when checking accesses. Signed-off-by: Kaixu Xia --- mm/damon/vaddr.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/mm/damon/vaddr.c b/mm/damon/vaddr.c index c8c2f306bb6d..db9d0ab37a52 100644 --- a/mm/damon/vaddr.c +++ b/mm/damon/vaddr.c @@ -534,14 +534,13 @@ static bool damon_va_young(struct mm_struct *mm, unsi= gned long addr, */ static void __damon_va_check_access(struct mm_struct *mm, struct damon_reg= ion *r) { - static struct mm_struct *last_mm; static unsigned long last_addr; static unsigned long last_page_sz =3D PAGE_SIZE; static bool last_accessed; =20 /* If the region is in the last checked page, reuse the result */ - if (mm =3D=3D last_mm && (ALIGN_DOWN(last_addr, last_page_sz) =3D=3D - ALIGN_DOWN(r->sampling_addr, last_page_sz))) { + if (ALIGN_DOWN(last_addr, last_page_sz) =3D=3D + ALIGN_DOWN(r->sampling_addr, last_page_sz)) { if (last_accessed) r->nr_accesses++; return; @@ -551,7 +550,6 @@ static void __damon_va_check_access(struct mm_struct *m= m, struct damon_region *r if (last_accessed) r->nr_accesses++; =20 - last_mm =3D mm; last_addr =3D r->sampling_addr; } =20 --=20 2.27.0