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 434A4C83F03 for ; Wed, 2 Jul 2025 20:14:26 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B13506B0095; Wed, 2 Jul 2025 16:14:25 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id AC3856B00AA; Wed, 2 Jul 2025 16:14:25 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 9B29C6B00AB; Wed, 2 Jul 2025 16:14:25 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 889346B0095 for ; Wed, 2 Jul 2025 16:14:25 -0400 (EDT) Received: from smtpin14.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id E830A1D3044 for ; Wed, 2 Jul 2025 20:14:24 +0000 (UTC) X-FDA: 83620426848.14.216C85E Received: from mail-yw1-f172.google.com (mail-yw1-f172.google.com [209.85.128.172]) by imf29.hostedemail.com (Postfix) with ESMTP id 1E99B12000A for ; Wed, 2 Jul 2025 20:14:22 +0000 (UTC) Authentication-Results: imf29.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=PEnpawPz; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf29.hostedemail.com: domain of bijan311@gmail.com designates 209.85.128.172 as permitted sender) smtp.mailfrom=bijan311@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1751487263; a=rsa-sha256; cv=none; b=KSKN2uxe12BHyFGht7vMNuI9pb6g3IY4z5diQCm95ebW/Vu5LTRuhRLzeD9dnX1SsGMzFj xPYDHtivoS5zs0YG7FAXKt7lZYj2WArC05yjhseDosnDgjXvOX2PR34qG2cW/ogvDmmJUU lpezC7g+slAAOLUUkD15bJwpKRSWYf0= ARC-Authentication-Results: i=1; imf29.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=PEnpawPz; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf29.hostedemail.com: domain of bijan311@gmail.com designates 209.85.128.172 as permitted sender) smtp.mailfrom=bijan311@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1751487263; 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=YV7c5B61vQxWIW6brHrpvujjHlceZq5NHO+Y3rO8xqg=; b=H18CEPjUW9ucjLzex69Na63TGRC736f72w6K+OyBZKsj30jBVYh3JwYBpKw6z03Kkg0vw1 SAKiQWb/pHqLq7bnX6Hsb6TMjUWnOrncYdiGaf36obxDSFL+Kx2FrfL6vQnB0c321mCpCg x1nTobuENd9ZSE3GGesMU69to1+95kw= Received: by mail-yw1-f172.google.com with SMTP id 00721157ae682-70e5e6ab7b8so68461187b3.1 for ; Wed, 02 Jul 2025 13:14:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1751487262; x=1752092062; darn=kvack.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=YV7c5B61vQxWIW6brHrpvujjHlceZq5NHO+Y3rO8xqg=; b=PEnpawPzDJStSd87t477wETCeqBr3D6hl0P/MLeyyQSAUvL1Cx8UgGXRMZggFTI6yO KbhwVpcCH3u40h3HUibs8k8o6lRK2b6UzbESONnta2PyiQ/4nKkp7NqOVeaarPFSmcn/ G/thiYU8Ryl/uH43Eu6l8Z/RKUBNbFgdr9o8Y0hh9bPmU9ZtsrHJRLb+BIbB46BJV3u9 X/q2SSB7AWnIShF/TwKaNPk6Vhz65Pu02UoMc+lJGxvprpQpsTsGnzCQwKY4T6PXkxEo K8uxF6kiEeAgtp10oY3K1wiq/2SarNJV6wB0mZ4WSEmwHjxaVDY3zKbe7/uXPlHEg/3y CcFQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751487262; x=1752092062; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=YV7c5B61vQxWIW6brHrpvujjHlceZq5NHO+Y3rO8xqg=; b=HVxx/J5vhnmKdpNv6Msjx63ZWEZXH9fWAbN6ugDsPswSp9rPDNoNUYljF4/dEV8p1R aobGU6NmnuCf3cLO+l3C8PrlZ7WYSpU4jFsuymvD1ZPCJ4WYbFoZq+eMKdplOTBEZe5I lHWrZu0ONDIIb09NCGbyqUZgJ+AYdraGYWHqHuzo/313UcvOTcEx8T6b+s9XbWtfgcgK y69KltCVqaGCBIQWo/k9CiuGl3vimfNbUy+hCGLtcY4rvRhbTK3HGLZ9n0IpvAXkkyhZ QJBe7Afr9B5kgYpG4eTKyrtoHj68IYLG1MbQW/m+4tw0zhP+3zj7ZDJVHAwwIpUtNbQg sDyA== X-Forwarded-Encrypted: i=1; AJvYcCXMjLtU0cQtHOtCeIV2J3h9WDki3oOQEYKgnoQbhGhrG6W7zkIt/MKQjGWDMOayU5Ev04n1hY3+TA==@kvack.org X-Gm-Message-State: AOJu0Yzu/WAqLtS9L19hyc15s5Lxr9JnCopP7DHg2uzm0VrfFX8AjXh4 td7MPStuIVutjRV2bf1rOPSigQ48vKAWY8+shgwPO1a/G0CGfREskjvS X-Gm-Gg: ASbGncsmTkzHK9kYWmRoVKeN44n/2n3inMEOQaBA4v/Qe2qpKVO569fdHLkXNk6oryr oMkw0h3w/ZhMwfXuAhkSLF595vZkwD6U93KLdBE0uN+YGI0um7PwPPOrLqc/Sui3oinTeDqDvZ+ 9kehEdbU1gMxrtHiXrJWyIY76n9gY7ebDoVSkbxIG5d/Ya/H6/xJSVb6+H5ZXpfuSV8wxmtr2UT Q7bZVpMyeOS8ser0kItdRXRobS1Sk2qDiXNteeOWg2udTUpQsMYgeOAVzCvY1P4d9azCqRtXAt3 kv/iStE4gtbR2p7V4F/gO+z27HB5TH/ELoN492Ho2lLgQdwe3O9q1n3dIAH6WnZUykEUxrAq9fX h6e6apWg= X-Google-Smtp-Source: AGHT+IHp1CXE+NbRDNbbZ1RkBJrHvXGjBoQplUW4P2ktChHA+wcWgIrifVUCN244xHgPY9Y9aBH+kg== X-Received: by 2002:a05:690c:6ac5:b0:712:36f3:f6d7 with SMTP id 00721157ae682-7165a3e0987mr5233677b3.32.1751487262117; Wed, 02 Jul 2025 13:14:22 -0700 (PDT) Received: from bijan-laptop.attlocal.net ([2600:1700:680e:c000:873e:8f35:7cd8:3fe3]) by smtp.gmail.com with ESMTPSA id 00721157ae682-71515cb4347sm26124157b3.83.2025.07.02.13.14.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 02 Jul 2025 13:14:21 -0700 (PDT) From: Bijan Tabatabai To: damon@lists.linux.dev, linux-mm@kvack.org, linux-kernel@vger.kernel.org, linux-doc@vger.kernel.org Cc: sj@kernel.org, akpm@linux-foundation.org, corbet@lwn.net, joshua.hahnjy@gmail.com, bijantabatab@micron.com, venkataravis@micron.com, emirakhur@micron.com, ajayjoshi@micron.com, vtavarespetr@micron.com Subject: [RFC PATCH v3 04/13] mm/damon/sysfs-schemes: set damos->migrate_dests Date: Wed, 2 Jul 2025 15:13:27 -0500 Message-ID: <20250702201337.5780-5-bijan311@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250702201337.5780-1-bijan311@gmail.com> References: <20250702201337.5780-1-bijan311@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Stat-Signature: n1s4swfr1kcxj81cqm19i4x1bz31ycgq X-Rspamd-Server: rspam01 X-Rspamd-Queue-Id: 1E99B12000A X-Rspam-User: X-HE-Tag: 1751487262-435662 X-HE-Meta: U2FsdGVkX19qErxkEPXp6f21/xFrDEgzsnZ6LwEooe0x2VtWXLlrovh49N04SSsfkYR+EQzBE58mgJgVwdZlHX97FQPWYYkPetf5qvSNxcBlfc/DpuNVtn+pSKgIn/z+zndShQkXI69PF74jFuupyfYvC0fHxzZih3MVGRsQu7PMVI7cfcS/X99u/lo2OBEFP+9QbQIEYCBsCArt74O7g+NepfKq83ReuywNJ9MgnzZZn/X1mLKvk4LI1cxlBWciWF7Dsan9tgRAxQMVL2epodos1n+N2nWj6/j4C98ieC5M3Ri7p1Ztc0Ckl2Ji2TeDM9X1lnCFrM28W8N8/oLyW0UJFeDzvPu7ZYV2Sl8sswTzYNe3Tj5zjL0zVBdG/ALVAwipV+cV+egJGu1M/GggNqJNk1MB0E5/a60vBtqrtVcvMtUt4uNs315N8h83nLVA/IaZV68z0/p+qVqICb8SsRbNZ1IVbw1iaV7GPY3w/Bxh6vBvJDao4wC9eudy0vFVgnoIq1eYfYHQUXiRnOy2KgOi3zFz1jPTMkdytHgGr3I6o4/qFOA8h4ekEngXdn6dlT/kzQARnvQSlvU+t8C1OlIydntUu0VZzyZK6qCGLa3t7RM6tzSgJkwUpUxdLSy6BLqlYY3cogvg6UUicgodjNYls/BF1qOiem5ZRLVxC1bbbr0kAQRpQHb1fptxdBP8oX3ZIOgsjt101Yx5d+m5+mkHRMKf64dFBNzSv8DoRau36YLCVFjIGnfDtJ+SA0/+reOO2sAfQgoGPwG0L6h6nDWdBBmntQsNovNWNfz8xcxpV2/+NvAqTG7n40ofh4PWMXpnyyFgT83mymWJB3JTzqAsoMtJ4UIhC6faCoYwlzytqvBKP3MLCpe073FygR3PpPNNDpi+zjvzdpeiPnPYck9STTdZ6PhMl4u09Vw7TAOhViMwYOio4uVD/39cHkMQX80+i2zTRgsgSeRVFJH x6fJaFBF zGEOB1Xp8yTKp3IIvejcbN68vd80lOn0SbINCr5VAJ34DBqIW/Tggu7GlDOEY23qUdExylNXDkYXXg6/jJ7ERmOuIyyk7h/OwmB1SglQ5jqGe7wBJuzvB/PUupErnpIToD5+24pMUTIvQsoZCfAUnWVOMDuRKFwHWnzCJKz2R+cXxcXMInzbKB9NzDJ8V7CafqMd9ikk2CMpSJVzewm4qgOmm3BvDVQmS0SdTF9GVaFN/jx3+z6p4O/CQvq+ei7lkTtofQyvvTK8wg4s8joC8dcN5grDYgq5JBD3wMN37mXHnN3Oz6kB67TgEdERL8McJyw7HZTBYtiB84JPB3taDnDJsQRbwEJ0m+9Kvh/K4pxR/kuVc/5mZUHJBHU3xH7eNv6v/OVYo+OwRwQcj4IW0M8nHndSETep1yizoeWtoaQO+aPG72/QBeHFgWozK5NhI3xIQsUSaBd9IhXSn8GjvOHiPtXCALwALPAoXX8OVpGpY/8xF74954u9u1vuK6iy7FdBCwQW+hm1z0Iz8aIHoa9rqXbPkH2k4QQBBOq6XXa+OvnXF2z5ffqy2L3WWEewhChltL3agElJhvHgxkI6TLTO5ceMqBvHbCYXnisBTY39sbFpovmNjy+SbG0wYCoM/u/kb 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: From: SeongJae Park 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 Signed-off-by: Bijan Tabatabai --- 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..74056bcd6a2c 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_dests *dests = &scheme->migrate_dests; + int i; + + dests->node_id_arr = kmalloc_array(sysfs_dests->nr, + sizeof(*dests->node_id_arr), GFP_KERNEL); + if (!dests->node_id_arr) + return -ENOMEM; + dests->weight_arr = kmalloc_array(sysfs_dests->nr, + sizeof(*dests->weight_arr), GFP_KERNEL); + if (!dests->weight_arr) + /* ->node_id_arr will be freed by scheme destruction */ + return -ENOMEM; + for (i = 0; i < sysfs_dests->nr; i++) { + dests->node_id_arr[i] = sysfs_dests->dests_arr[i]->id; + dests->weight_arr[i] = sysfs_dests->dests_arr[i]->weight; + } + dests->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.43.5