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 E1AA8C2D0CD for ; Sat, 17 May 2025 14:19:13 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 0C87C6B0082; Sat, 17 May 2025 10:19:11 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 052626B0083; Sat, 17 May 2025 10:19:11 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id E36E26B0085; Sat, 17 May 2025 10:19:10 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id C02646B0082 for ; Sat, 17 May 2025 10:19:10 -0400 (EDT) Received: from smtpin25.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id B70DE160790 for ; Sat, 17 May 2025 14:19:11 +0000 (UTC) X-FDA: 83452606902.25.EFCA217 Received: from mail-pl1-f180.google.com (mail-pl1-f180.google.com [209.85.214.180]) by imf08.hostedemail.com (Postfix) with ESMTP id EB93B160003 for ; Sat, 17 May 2025 14:19:09 +0000 (UTC) Authentication-Results: imf08.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=dRG5iiuV; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf08.hostedemail.com: domain of akinobu.mita@gmail.com designates 209.85.214.180 as permitted sender) smtp.mailfrom=akinobu.mita@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1747491550; 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-transfer-encoding:content-transfer-encoding: in-reply-to:references:dkim-signature; bh=eyjp7NdbiAJJ20Sr1sjlTYaI/Pi2yVUfPSdZpWP5cT8=; b=rFt+elvgSua+SlQYul3KIHgjbmCK1U7I6xoko9T0AscWvhjgb8k2SnvkDm5pNrchNgOq6V Tiy8uevM4l2OCImC3vwJgUBjFveTxlguQc1jXFuWbAIGxVIs1Ir1TNYSFL0p49nvM4BHjr P/iKJaOJ406Qi2FOP/ITNi+e/AYybrM= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1747491550; a=rsa-sha256; cv=none; b=5Snm8AGjwC/Z8p63IaTpPa9U8j0bfibml96vLfvw+qrwi3mkh48JXKMOt3F5DehbjQlOtI 9Ez3OuzEFYid3dK0r787ba5rMkVFx1a+HD5SYmvARkjD/GYdV7jFfdhar85FH87D0cHVY8 HnQIWMSfqtN3OhG02Rkwh+eifCtTFGg= ARC-Authentication-Results: i=1; imf08.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=dRG5iiuV; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf08.hostedemail.com: domain of akinobu.mita@gmail.com designates 209.85.214.180 as permitted sender) smtp.mailfrom=akinobu.mita@gmail.com Received: by mail-pl1-f180.google.com with SMTP id d9443c01a7336-231d4679580so16197715ad.1 for ; Sat, 17 May 2025 07:19:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1747491549; x=1748096349; darn=kvack.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=eyjp7NdbiAJJ20Sr1sjlTYaI/Pi2yVUfPSdZpWP5cT8=; b=dRG5iiuVfBxChR1LIh626G23QIEu2xuiAyQgA4F1qBOIPmFB8tk/7P8fddKQB8qJ4z 12XczykisHJPVZjZai6cCDgU+yaKkM5uqDguYTGIFTgc6qng9vm+8fmuyoxhbq98oug/ G2T3PESzPYxDjnzhyPXOvBRbJvYSH6cDZF3zhmYGWydwQUfJlhNLwPbkpxwuMkWEPAz1 R3eP2YMH1QhZ94wB5QKkbim8l9Sfb2Emfh/AD3Ky5gByTtUE0r1RYJIvLpeaaeEuP8sz k1pfZ6VNoYKcvXVJQ7kVdzzSRn4YyVIeKmhOUmb8pig4yXAcFdU+ZwPGoWp4GVpK3o2X anuw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1747491549; x=1748096349; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=eyjp7NdbiAJJ20Sr1sjlTYaI/Pi2yVUfPSdZpWP5cT8=; b=Y1JgW6mFjHuh9D3M8WqZkmtJ1uFu6eBYxTPMjV3aTZd2LTn+FPp+8q8CtglAjFQvgE NR6XREOOBaAUxAA7BoAPJR1bxKPSgl1UECVR1XnhDHopm5eWT+VqlOx262LJm9A+9LKo KHFOUBrnh2fg789vvowpG1x/jmjiz8ALLTvFUNOK9QkFzDYJEl8GoMIwh3ERCpRky6Ab yGtRYknxzUD6V1MRJQNVyzQBP/f1Jw62ClbmIDcRT3NNtKGP3dckEYvwvbjryPHG9EoH s0urj/w8St+I+DKggUfcfKxSeShqMbDVHJ4VvAsS+IxGvEX5Zt+Thpy8zhdvooqMAI89 YfHw== X-Gm-Message-State: AOJu0Yx+fS5IwmrAd97v2y4eFkEzpvgdmzF397o10tNycHOzUEXeuLgm rlgbNrdQ5u4Iy8aJr8uLbkQvj3/NOFMQPtqMOLrNlCO1rJS4o2CyuClDMbq0Pz9D X-Gm-Gg: ASbGncs4Im3j0EG3Ns9zcCodUV/SO1j0I2737ASzpHwTfZLC0XjLOj32hKrLOkNX6pt MRxkxhoWQOxsNKSo0rJsM9eb9R5JDwrDlvIwaHn151mecnRtgfsbzOcRQztQnpHpedJozdB2Ks1 /qfMOMW7OODbrdJQephomsOj84V+52hg3Gf0xLHZZbhsDwOaRYjIjtJWqAy7Ko/qznO0QBrhGDQ AOZeWPZQ1/oEyL3ubQH3RNoRrFgAn6zY+ljPaXDX8BfYHvl8iaXlYFKJAClF8Cy9jNUeIqyb+Lf ZBXLyG2dnGRcKiGdzNyawFlIct9NMGD62LsNePzkLKtEPb2TMUs86fJN6ohICglaQM4= X-Google-Smtp-Source: AGHT+IGp7rGJAxlftJ7jCRQB6tQ+u7a3ZaPCrFyMxY5PH4b8st6dDXCpC2sRaJEgATwvugGgV+fiWw== X-Received: by 2002:a17:903:1b6d:b0:223:f9a4:3f99 with SMTP id d9443c01a7336-231d4541fbamr102307875ad.29.1747491548573; Sat, 17 May 2025 07:19:08 -0700 (PDT) Received: from localhost.localdomain ([240f:34:212d:1:6ada:5ff4:a301:c919]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-231d4b1020dsm31209265ad.104.2025.05.17.07.19.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 17 May 2025 07:19:07 -0700 (PDT) From: Akinobu Mita To: damon@lists.linux.dev Cc: linux-mm@kvack.org, akpm@linux-foundation.org, akinobu.mita@gmail.com, SeongJae Park Subject: [PATCH] mm/damon/core: avoid destroyed target reference from DAMOS quota Date: Sat, 17 May 2025 23:18:52 +0900 Message-Id: <20250517141852.142802-1-akinobu.mita@gmail.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Stat-Signature: zk6cx58eb6o8rrfpypn6tfoz1h6wwyis X-Rspam-User: X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: EB93B160003 X-HE-Tag: 1747491549-698630 X-HE-Meta: U2FsdGVkX19JFVvPnVFhymg+b+Fga+IimvP3WKiE8Je91lN1/Ab3iPbSezyj+8vMUnlK8jLkvVsGkrRFVl0kEUXNdk/L+6EjvYXCUYMItq5oRMOX+i2tzutTr286w1Ozsx9iiyMD9vdIvr5wlPRmINtqR//e7rn5uqg28b93nfdA9XDhM1xqoARkq438ExX2Adakvb3TiJB6+lArlhrR3UCcZQuIQSz+uxycy61s6ULn48edHpurawjJqN72n4xwiGVBP1vf54fak5eMkTKLL5WBgfM/V00m8RnL/7zOBFrYTqs+UYrQElRDMnRJhWm/L2uWgBEvGuflO8VZ0xe5j+YRocT/UIAaXyEqF5Q4gDXDaa/sA0c/Iff0DSosgWJi+iRew283gsUs3dZCwk7HZCi42YbvWmdCrP5HqPscnwXt0e+TDhA4XWN9iTrrsIYf4TOFAsoAUvIUvUYhOi370bq5IsDmQRg12hJAMqDpqWr20KFbwRWho/+Hq32MFPUr9HydgJvu7MLxY46B7NToCmc/MtmKUL2pYnnQltroxUSm9mAtTSergf8al6resD1o1cRtTv/r7EUi+mKwtzEaf5SnN0kwm+uuHfIuKxF326V1aL16DFvfxVfAkqywvtc0CCL/ZJfaUHd1O80Hp/PTsCugIUa4uRqtjrs4sZjWc9i+LfI9DgNO7dtpSBJxnBGjMGS+hc5UsIXgz7u17OYFyKhHQBODXidI+vdok1SbDHdDOUw/Z4pa0umV7dV/74ux5dsXvatJrrfTiLRFTBLNvMsrmYDSGYdeWdj1W637eJBOOd/LfFJe4lJGrsAQRw5Bhlpq+gduTOoEyt25WC/45lGiH+OMc/uG7Lx4WUvpLnQhLKyloenQ/NXE44cfLbcK+sk7lZJoSREfrdjvIJ+oN086iU9bsfJ4LWaTzbzuiI2TEj8cxSpYywgceoEbToQCWge/Tan6YQz0BMYyLPH YVr5a30Y +HCYY5cJvIkoI9yGpbH3mYSFlMO18R0h2jJZ63IsyJuninevmN6RVcqseaScY8pt9ApfwGccpnew22WGAIA75rUfMZtBdApf1rCMA4rC3ato06MjL2dTBFmrT7tJEESh6KMfjVYvhwQV4WwttDhSogPva5LbhfC2a9Q4vFlK5lhu0XelbQ8OIsX+egEj1F7n2jOBvRgB035+VhWSFahVc8pNKS6aNbcXubzjgH2t3NkganJBKhrUawnXyHgjIAEm1nZV5Jiod0Xx5Df7TESSsqlcgpU/BNAHeooHlAgU4y+6je4wss+rdvW178xwuPckiHMAJt+5r53RL+WPkkxkcXJOUoFRrHnl9YcroMZbze0kuE0HTCoysDnYFGixgbQ4UhnTZv1MIaH1Qv/NTNuuApAnEaBL2mbTC8MC7autSzOGJv09x0GynH4Zkafyax40IXXf313UiEBxO21mvI4BIUsPs0bd3jSpt2KBHbWz4rH2OjgMg9cjSJKDU+wNJm6UbQOHY 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: When the number of the monitoring targets in running contexts is reduced, there may be DAMOS quotas referencing the targets that will be destroyed. Applying the scheme action for such DAMOS scheme will be skipped forever looking for the starting part of the region for the destroyed monitoring target. To fix this issue, when the monitoring target is destroyed, reset the starting part for all DAMOS quotas that reference the target. Signed-off-by: Akinobu Mita Cc: SeongJae Park --- mm/damon/core.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/mm/damon/core.c b/mm/damon/core.c index 587fb9a4fef8..6df13586155b 100644 --- a/mm/damon/core.c +++ b/mm/damon/core.c @@ -1093,9 +1093,17 @@ static int damon_commit_targets( if (err) return err; } else { + struct damos *s; + if (damon_target_has_pid(dst)) put_pid(dst_target->pid); damon_destroy_target(dst_target); + damon_for_each_scheme(s, dst) { + if (s->quota.charge_target_from == dst_target) { + s->quota.charge_target_from = NULL; + s->quota.charge_addr_from = 0; + } + } } } -- 2.34.1