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 B9E90C83F09 for ; Wed, 9 Jul 2025 01:00:35 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 8AF3C6B009F; Tue, 8 Jul 2025 21:00:34 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 8106B6B00A0; Tue, 8 Jul 2025 21:00:34 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 74D586B00A1; Tue, 8 Jul 2025 21:00:34 -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 6679E6B009F for ; Tue, 8 Jul 2025 21:00:34 -0400 (EDT) Received: from smtpin17.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 37C851602DB for ; Wed, 9 Jul 2025 01:00:34 +0000 (UTC) X-FDA: 83642920788.17.A65EE19 Received: from mail-yb1-f174.google.com (mail-yb1-f174.google.com [209.85.219.174]) by imf29.hostedemail.com (Postfix) with ESMTP id 52D6A120014 for ; Wed, 9 Jul 2025 01:00:32 +0000 (UTC) Authentication-Results: imf29.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=bca8lQdC; spf=pass (imf29.hostedemail.com: domain of bijan311@gmail.com designates 209.85.219.174 as permitted sender) smtp.mailfrom=bijan311@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1752022832; a=rsa-sha256; cv=none; b=GoQprgeBPG+bEhaSzOkm2O7vHeLrVqypx88SZXXa2LN1/1pXOrGmvGR9KhrBpu/J74CQKu ErFMfBitJTxxhYMzkyAgiQcRA/rG8IOZFJIuG5qKxWa3mSE3Jf3ACle31UGjiMQ+ekLC/J cxubaviPtkj6MtSvO/yO3ME9Ju6YncI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1752022832; 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=VRqZ7kP81Zaq1arwauUEMN4RtZnPWf0LKmXEbv9bw+8=; b=KBJMLc0NQmpJFNYeJxny3DSxJH0Yd6XRmQIujbmPvJrJ6nz1IoRWetWjtptslLaR5NgGKQ f/wgcG6olVnm/ifJEmG1+2RE3Q7vxSnROr8dx287eU0rxd5rs6zx/YkQwiFvaUkbIkfB2l UW+XIInyH3shW79cKyiW1R9fqprtV/s= ARC-Authentication-Results: i=1; imf29.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=bca8lQdC; spf=pass (imf29.hostedemail.com: domain of bijan311@gmail.com designates 209.85.219.174 as permitted sender) smtp.mailfrom=bijan311@gmail.com; dmarc=pass (policy=none) header.from=gmail.com Received: by mail-yb1-f174.google.com with SMTP id 3f1490d57ef6-e8259b783f6so4148526276.3 for ; Tue, 08 Jul 2025 18:00:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1752022831; x=1752627631; 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=VRqZ7kP81Zaq1arwauUEMN4RtZnPWf0LKmXEbv9bw+8=; b=bca8lQdCkn7/WVf1XGZTn+q884ZW7lNkhIFSgQA00B6XcjauwOXzI1hw0bYDUSxQnO 6Nk3V+LUyK7Ty1NU7j5wpYae9eyhPH6T6jluai4I2WDHxi9fLrpA/ToPvZ7jeJl2ldX8 laOHJjzBQ6bKZrXCvWJy8iPxMUV5Ot2ReKaoxkIOT7h3YeFHNftTeuPNWAZplPMDp7uY gzemZedx9ElHMKL8FCFdKS29QKUm/kW/wI837aZK26THvZsRgX99r/rfYZZH/zdnddE1 PdrJO1VTez1zh3OOwaAepvbom1vAZ4FFmDsiWRC4PO10wp2t8jaPk4QhLuL/PHotHCw0 AFZQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752022831; x=1752627631; 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=VRqZ7kP81Zaq1arwauUEMN4RtZnPWf0LKmXEbv9bw+8=; b=GplcsGzb57eQY22OLuc7DHdGwBKrmVsj8ffsySppIRPg9NLw1PgQB2C7APgB8zo/J4 uXAyrp/9SiK4AC7Zj950WqeetCP9OeXC31FDnMlf6fsgHjg3KwqM4XI/JnlPPGxIFwH0 lG8NLQ6lgbLQQbLOw667Qmr5pDqWykNb+kYfwFUCa+GBeMZHzgDvJA5nFX23/xfvFtCF IUPwLA92MaDckyUSu3a4ofBfs6vRkmg41ZuY3+EjT3ZUw9ZEZMfQeaP1qyNTWad3cT0A WMHo/5YhSXK+4Yki8WRUaX4zVDHPVJLWmc1hnoVYKuHCMj2LPNfsrVvbafTbFQ9MoWPK 36zQ== X-Forwarded-Encrypted: i=1; AJvYcCWKYps+MhMrR51INrCxSZHNK7jLdnePk3mbUIVKxkKw0rqYXqHU0iBZzgaeO8AEJIv0ONk7Oe2Rkg==@kvack.org X-Gm-Message-State: AOJu0Yya1qtE3c7icoYiP9YEctAvFu+rAKYq++m2yQCpbHEXZ8xfAkO4 kEZnPyuQ6uORASjpfUBbZq2ckFsSOJ2qFLLVdSTxEUHRxkFm06RZmxJd X-Gm-Gg: ASbGncux0F3kWNZ6bUglN01K0jw7suTzpRHaVDBqgXZZ/F+6PxevBa6qcn/l1/YNX/O JxluOxIHMnNLxsTAnjDBjswkVYmEWcoULpB8FPxK83lrD7+Z7PuBbKt30mH6pB0w4Nzl0qx/Kvj 3fGohWLRPRCvAgSVvshPtmQgV0JUyeN9wOQeK+DFjW7ezdG3vkFndI8XP2qONMmyzKwKWgPkP3u BSGH09jUZt53jtDnVf1ZGIt6379Q1R8ofC7RS9cJk+gAIt1MNKHJKn2b/+U9uRSc9ZQibzsLvM2 6Pa0Rj5FDS69+nm6MCNv3H7n3CQHynJGlroUinWt/myZS61pBNNs3Hyc24iQbuBwPcvr5Fc21wX uH5o3hfrvxN4vPvVbYQ== X-Google-Smtp-Source: AGHT+IFFk12vBHKfYShm0xwUy70JkBS9iNu9v3bAoNdevYxQvMw6G4nHxm7r8pPOOSVJOc1J+GaBlQ== X-Received: by 2002:a05:6902:2846:b0:e84:3769:d7e1 with SMTP id 3f1490d57ef6-e8b6e0dfd76mr1151677276.8.1752022831313; Tue, 08 Jul 2025 18:00:31 -0700 (PDT) Received: from bijan-laptop.attlocal.net ([2600:1700:680e:c000:235f:99bb:f36e:a060]) by smtp.gmail.com with ESMTPSA id 3f1490d57ef6-e899c43ed8asm3656043276.26.2025.07.08.18.00.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Jul 2025 18:00:31 -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, bijantabatab@micron.com, venkataravis@micron.com, emirakhur@micron.com, vtavarespetr@micron.com, ajayjoshi@micron.com Subject: [PATCH v4 04/13] mm/damon/sysfs-schemes: set damos->migrate_dests Date: Tue, 8 Jul 2025 19:59:34 -0500 Message-ID: <20250709005952.17776-5-bijan311@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250709005952.17776-1-bijan311@gmail.com> References: <20250709005952.17776-1-bijan311@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspam-User: X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: 52D6A120014 X-Stat-Signature: 36ix1xxjpbzrndsi8p3sqbpg8qjxonof X-HE-Tag: 1752022832-511515 X-HE-Meta: U2FsdGVkX19QywIuTb/IQocFkhI/Bp6AxcCpG4KVFQ//nPeNBTXsmCEYXnPiyR1cCrsRIy24+PYNWh/4m+RuADg2ksBZ4P2V298IZGeDzg+QqnljiDhcxwL+ige70Nlwol1l0uRbkAFYNAKebYPfub3NzFjK1hZ+gKM1dNmbhUuQV9GHSoyZs5TEsGPjpw7Wp8px2d6s5EREVvA2gkvWFnywzs7D03iTJUj0Yc6LfEjW6m/Wt+LF8cR3CDdvMT2LsAM0EgnbqUJKnl1ZG6cdhuYmeCrwTFT7ViO0uuD5Ey3ylnOCMLr9Q4DjRvc0xUm65h1XDkzpFsMZbAMOCueLWihrOY9L1nmeYzRa7phpSBTHNDhgXZkM4qxPp+QrwT6EJv1p42jDwnaejMGt7994/X3YdI95Zylsj3ABzf0RhOu4a3dGCXYx1wZcpqyfQsUK0dcD8q08lNztoh05F4YQ13Rctq0lS5XiDpKgrmwcRzmQYkCSUj1dAsVXb3BlnVfw+EbPuESxs7D0yhj2MszfmvdJ3OrxHOcMXsH6jwGQ6q+cXLFPyYZEbCahqaIxw8PgmDzEhhiPO8RvkuTNM5av7hpFDTS/7ZqO9W5Ak1V/tW7BixxqqahWU1SrbDfOOqTEUhNYQ2/UgMAJoSwYDEaWytyOlofop8Q3TZNf3WidslgHAU4N6D2r5raqduHib3sp3CULjTvjfEFA6UUoThADs+s2kaCK/MfusunL3ibFBdrzEeuO4EufPSUsNU3vRjkNzsqbg1OeUHHA+ISI9TgYk+v8hnKk1TXaR8eeYOVLZI9Wlk7pCYbdqAyXjWMoGU0254lUezn7G01srSf4wXyDSV18wrw3jviJ6nnPdHh8tNMJMBZzAKB81iE6AtMq0OdTDF6AEL+hWfUscS8keZQ2xi0Q2U5/dEePTD64kUQ56YiLuMZDQZvI7JmCNGOBYxD7zkmRhe6OiX9sJ59CKw/ 9Y1s6fCn anxUSSozSyrD6Raqa9H7ApXNTNMP6vCSxoJfK6uJ3xnrLBqh7grkumN177spMhf5ZmLa+XDBlSXbsBarYnvqnNUYSHKt/P0XY+u0vfltc4xxeSPVLRoHDDEEnPd9c6ONhQIbFiq6l56CJFT3x/cmIlJtczl2df3J6XjsefM4s3dE485PVnJEKYEgfMgTCCox06/SSfjT3XfnUnyb3c0BcgVOYT2VzhTK0ZLWm+iNzSynOQvgvl1npn/h448WY50IOJaLVsZ9m7L+vf/noET1ul5VB4cGAEiXvLwUuYrqf8oLlMugd2P4aVlBq6VmbYm35pYp+CwSF9ympHflzTg9CTIa80KLeE5IAXDssZS/0CvlazmeyQjeRh4RIxqr8GGjc05e7vwIqeOA0nWxn0Fb0GqNjMexeqSytMTaStbsoietK3L/9rjBYWqDkp8SzFNZahM9pl+wdop7RePYWqltsyB4SsfgLEEcWqVGUIzMZQFqWA8nf7SFcLKuENLODKdRdCfW7vplMepLIcI5VYQ6NavCXrdCaEMJgMzwdbnTumLBPLS8AKfJP8O5KYg== 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.0