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 5E227C83038 for ; Wed, 2 Jul 2025 05:16:22 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C96A56B00CE; Wed, 2 Jul 2025 01:16:13 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id C45AC6B00CF; Wed, 2 Jul 2025 01:16:13 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B35536B00D1; Wed, 2 Jul 2025 01:16:13 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 9E17D6B00CE for ; Wed, 2 Jul 2025 01:16:13 -0400 (EDT) Received: from smtpin21.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 5C4311246F7 for ; Wed, 2 Jul 2025 05:16:13 +0000 (UTC) X-FDA: 83618163426.21.E17125B Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91]) by imf05.hostedemail.com (Postfix) with ESMTP id CF263100009 for ; Wed, 2 Jul 2025 05:16:11 +0000 (UTC) Authentication-Results: imf05.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=MjUBoxZk; spf=pass (imf05.hostedemail.com: domain of sj@kernel.org designates 147.75.193.91 as permitted sender) smtp.mailfrom=sj@kernel.org; dmarc=pass (policy=quarantine) header.from=kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1751433371; 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:in-reply-to:references:references:dkim-signature; bh=6swp1/VelhqM1lUjp00qXt6QMQJ61S5HWPMgownDGHs=; b=V54EtOvhsyk81rC3I6XJTJ/JYA+MFbay/O0HXSKVODnCy/tTro/tAuaShbBWwiQV2HcRS2 rt8xv6h8acRPU2nzKsr1Is7AAtWSTNMfLdD85D+rl+2vOc2XnaKBCswC/nXEa/T4l7YCTB Hk6vRJS6VQHf2UypvPh8Dl7fwlRM2qo= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1751433371; a=rsa-sha256; cv=none; b=eJ9/PkfKIZdEUFG9d8Ygdccc1f7PXNghyYiyiNqMHukbGGpAU8aKa0uZn0xgpdKv9gfgmi 17PD32Zzwf+wcvKh0RUYSsnJqp8PNBN6AnVBo6TOeDTk8dcu9Fr0NelLjti96QiEvlni5S 7cE0AWGuH2277Hm/gjdVb/IBghyKouw= ARC-Authentication-Results: i=1; imf05.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=MjUBoxZk; spf=pass (imf05.hostedemail.com: domain of sj@kernel.org designates 147.75.193.91 as permitted sender) smtp.mailfrom=sj@kernel.org; dmarc=pass (policy=quarantine) header.from=kernel.org Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by nyc.source.kernel.org (Postfix) with ESMTP id 3DB99A5316B; Wed, 2 Jul 2025 05:16:11 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id B860FC4CEEE; Wed, 2 Jul 2025 05:16:10 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1751433370; bh=eAY5XLYA4mfpfPr9vGq4U3HvZbAGIjijytVFdcL31aI=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=MjUBoxZk6Rms4kw/kYxkdd6eKSFU9bLTPMv0wpNzsiwC/Bp14SfV1NKKdPJ8WpLrh 4BioumljZFgdc9qTxz+VREa6wLgZg1hfllVZhSD6s2Dzz0c2F1qS1qmlqffijyHfnZ /ZgaNkP3Xr03ssK20ZdNBo3kkhnyVXRGX+khYYJgCvW9WnHGcHlRJOPvAzvEurJyRN b1bYq7oQqJebeWIjMTyZKWuPvxwBpFGhF5LtbB9JOkNC56fnWVL1486wmfw6R2WWTI Qm1EHmh73ovoF+e5LxiWW2dqmO1zwoWYtScnpscxZi3hcfK3+9fp0MSPcjlCKy8JLo zyXD64JeNAJGg== From: SeongJae Park To: Cc: SeongJae Park , Andrew Morton , Bijan Tabatabai , damon@lists.linux.dev, kernel-team@meta.com, linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: [RFC PATCH v2 4/6] mm/damon/sysfs-schemes: set damos->migrate_dest Date: Tue, 1 Jul 2025 22:15:56 -0700 Message-Id: <20250702051558.54138-5-sj@kernel.org> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250702051558.54138-1-sj@kernel.org> References: <20250702051558.54138-1-sj@kernel.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspam-User: X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: CF263100009 X-Stat-Signature: gs14u581fc6ai5p1o8fo5t3huuzkc9zh X-HE-Tag: 1751433371-761476 X-HE-Meta: U2FsdGVkX1+VdRVAExCSbBF8g9JipkFlj4kfdxtefSugQEtV1xefBPdZ1pjsRzcE1WWxXoo0Zld5z0kceInmxh8OySaECubJshTe9uCXLbXGsPTVlH1MPyQitd2RW1uUhPMctOAVSGx2lC2KF1I8BKfPSToifNq9hn3fI43cRLJNydaCYG00Np/8XjA143xvaK9/BpXeNSBSvTW+mD6DSpw+xRE7zYJwrXDrVliepEfj8AkIt4TzAWJDsFrJ9iJ3l1TmJU/PmGdBzgfGasfe+8IBGfParQRcSHByt2iuzoryv6ww3hgZTmUnJqdc7sP1w2c1pm68BbaV13AXvgzOCT+Es72A1W0cnJGTDZXvOMLMVQzEkWp9XKSULW+h3HD/o99NiwYEKn3ivLIvdDfjBad6jZpTYEcgiFNIviUz6PtmGMx5vv7OYy8Q/TKEQZD8JFfBGfo3HenrWknVwB3Q5uL2QpbPGdDrkjU83eFJjhO4ENMcL/5fSz/aWuxQy61BEMRpqQO2O54yAAAQW/jIrOY0D0zIqmnemqJ6IUm3VUmvEfz1ricAhAb0Gm1w3w/afkcbW0naKEbRc6SuUQAmySpk8WcX7Gp3WFknqVFTd6jNK2DEoMzHAlPbtl+evBd8yTEipmWMjo0VdJy9z7M+hurWkCfIAjuKgpln9ayt2r7PlfW8UxRxY9OnARr8tKTqH3le0XgJvwzdriANOjPGAx3XdkXFNTl4FeA4niIYIcTt7O6FDOQsuCyavJKFHYpIw8zcX9tzcNKuVUWNidaRJvdPpWB5XOieThDaOzL1DhCdkjNJpJZdnvvZ/nM6n0chqA84VsFWO3+UyOnNhStRMmxKEhcEVdopJdcgpcjf4F9fOoDQud3OTjKj/3DNSkbD4PdCPwL4JvbIRHhJygq+UjR/9cAqTuVSldC1hfqqZvY4EL2JuU13PJ2gUHfHtrX404dYtv8GgXYGSZlRbbx hcq/3Lot DEvVFanWrUU0DjUsVqMoBAL5R6osLdkjz3uBaGeuIjr1l08gSxR05+PIGoUIsBxam7BMpxrGqooVcki4f2WEvQ2ESr9oKNw/W9sZ4ljKipzQn/8VCAhzmaWabSErmjSowJyRkzXowBFfEGfHIHbphrDoxV5M5PUfgpfOLvOMuqqWjd2XAW4BUC3j3F2OqWv9PVZezLHg/CcqHh+FvVz212ATZm3dITTIZ7bQw5nqO/CZ4ko5ApOdyTmE1/0cSNirnWghuCyLbFsalIlkkwvs6qy4erg== 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: Pass user-specified multiple DAMOS action destinations and their weights to DAMON core API, so that user requests can really work. Signed-off-by: SeongJae Park --- mm/damon/sysfs-schemes.c | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/mm/damon/sysfs-schemes.c b/mm/damon/sysfs-schemes.c index b9434cdaacdc..507ca7708078 100644 --- a/mm/damon/sysfs-schemes.c +++ b/mm/damon/sysfs-schemes.c @@ -2576,6 +2576,29 @@ void damos_sysfs_update_effective_quotas( } } +static int damos_sysfs_add_migrate_dest(struct damos *scheme, + struct damos_sysfs_dests *sysfs_dests) +{ + struct damos_migrate_dest *dest = &scheme->migrate_dest; + int i; + + dest->node_id_arr = kmalloc_array(sysfs_dests->nr, + sizeof(*dest->node_id_arr), GFP_KERNEL); + if (!dest->node_id_arr) + return -ENOMEM; + dest->weight_arr = kmalloc_array(sysfs_dests->nr, + sizeof(*dest->weight_arr), GFP_KERNEL); + if (!dest->weight_arr) + /* ->node_id_arr will be freed by scheme destruction */ + return -ENOMEM; + for (i = 0; i < sysfs_dests->nr; i++) { + dest->node_id_arr[i] = sysfs_dests->dests_arr[i]->id; + dest->weight_arr[i] = sysfs_dests->dests_arr[i]->weight; + } + dest->nr_dests = sysfs_dests->nr; + return 0; +} + static struct damos *damon_sysfs_mk_scheme( struct damon_sysfs_scheme *sysfs_scheme) { @@ -2638,6 +2661,11 @@ static struct damos *damon_sysfs_mk_scheme( damon_destroy_scheme(scheme); return NULL; } + err = damos_sysfs_add_migrate_dest(scheme, sysfs_scheme->dests); + if (err) { + damon_destroy_scheme(scheme); + return NULL; + } return scheme; } -- 2.39.5