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 18963C7115C for ; Sat, 21 Jun 2025 18:11:33 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id AB0CF6B008A; Sat, 21 Jun 2025 14:11:32 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id A88596B008C; Sat, 21 Jun 2025 14:11:32 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 99E116B0092; Sat, 21 Jun 2025 14:11:32 -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 86D6F6B008A for ; Sat, 21 Jun 2025 14:11:32 -0400 (EDT) Received: from smtpin17.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 38988160ACB for ; Sat, 21 Jun 2025 18:11:32 +0000 (UTC) X-FDA: 83580200424.17.99BB33F Received: from tor.source.kernel.org (tor.source.kernel.org [172.105.4.254]) by imf24.hostedemail.com (Postfix) with ESMTP id A00D118000A for ; Sat, 21 Jun 2025 18:11:30 +0000 (UTC) Authentication-Results: imf24.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=g+TXSuBm; spf=pass (imf24.hostedemail.com: domain of sj@kernel.org designates 172.105.4.254 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=1750529490; 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=ZeDuq0B2LGcIOKaPzd8JpgcHoHpc/9AMOsGJcOx70qE=; b=cWqISmS9H3v37+Hjz9Oocvb6ROIXbEoDYiCqaQ1L/hapdjTT0tkhfdECWBm2hkyea9LNK/ feFVzzE5NYu8WqD/RRpG8HVf101rIgh35AhcyRE+GC5p4OkDO2RD0vBmBs4snMzhUuwS3a gwjIvy0gdrTnBH6DdusnQ+s6VumaE6E= ARC-Authentication-Results: i=1; imf24.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=g+TXSuBm; spf=pass (imf24.hostedemail.com: domain of sj@kernel.org designates 172.105.4.254 as permitted sender) smtp.mailfrom=sj@kernel.org; dmarc=pass (policy=quarantine) header.from=kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1750529490; a=rsa-sha256; cv=none; b=VcnGP6Z7VC8sqrkNTkqbjOSBtecR3hsL1mE0+acqcnuXqam3rgI7aEKFkV/xfNQCZidYYP VEO8wT8A5VfQ/zGanBEv3gbOX+us+yskjCiGedmOpF5JNYx1pB/eInda46KOkHgTUAyfA1 vZzcGWs47Z7X9Su8NBuXNISLSgnteLw= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by tor.source.kernel.org (Postfix) with ESMTP id E08076000A; Sat, 21 Jun 2025 18:11:29 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5587CC4CEE7; Sat, 21 Jun 2025 18:11:29 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1750529489; bh=GyZin8tK1VU+mB4hRLpjVwYev+eqiENeiPNpM1Tl1nI=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=g+TXSuBmZls7c39WpvaP8YgHY0BKdiHXIbiP+7ETgSOG5mXJAPJtwoCbUM4f3aI7Y Mn+/v34lDAHLlStZsIRHtKds6i6VxnCtDXrjEYQNO/cZHoRv33UzM1OkbwCGZDa6pB y0rHCJeUp5v/jN2JpLmTY6qj/D6rzJi1knoja59xm6IIitFWZhpT1X+F3Tpo4SmyLe lkLjoKfM0y35EUsGNQRmwCpwtlnF+D2ugvLo+hhmInc78INPf5AvV8kdARZge5CO0Z 2H1TFVpcsmqkg8RZZrh2MdQSigO7rv1BhAfhLQqXMnYeUigCd9AGTAyjmoZz2I2EMi U+K1b64YjaqlA== From: SeongJae Park To: SeongJae Park Cc: Bijan Tabatabai , damon@lists.linux.dev, linux-mm@kvack.org, linux-kernel@vger.kernel.org, akpm@linux-foundation.org, david@redhat.com, ziy@nvidia.com, matthew.brost@intel.com, joshua.hahnjy@gmail.com, rakie.kim@sk.com, byungchul@sk.com, gourry@gourry.net, ying.huang@linux.alibaba.com, apopple@nvidia.com, bijantabatab@micron.com, venkataravis@micron.com, emirakhur@micron.com, ajayjoshi@micron.com, vtavarespetr@micron.com Subject: Re: [RFC PATCH v2 2/2] mm/damon/paddr: Allow multiple migrate targets Date: Sat, 21 Jun 2025 11:11:27 -0700 Message-Id: <20250621181127.36394-1-sj@kernel.org> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250621180215.36243-1-sj@kernel.org> References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspam-User: X-Rspamd-Server: rspam09 X-Rspamd-Queue-Id: A00D118000A X-Stat-Signature: dswyftjifrjaempudt1wmu848znh1xbm X-HE-Tag: 1750529490-836960 X-HE-Meta: U2FsdGVkX19nPghm223kvdhESt9fvujO4xGo0l3I+n4A3OoPAFbRnBrEogoBQehUhfg9T1+C1YK0d2aIVtZnNpwj1HsqIjTbbh0o8kvW6JUuwDS+ElStTGGfPaQsuXiGor8OobYVJD6yudesoNUnoJPfVeHAJVtB46y6SABEjiKaUa3ZHzNgIe9qCuiWXCoKH1/BUGnXtupqJK6wg/Q/889uc6y5ZgzPYU2lK5CBymI1y+U4gu6tpvgNHsFUjhvi/syrnsaVoHKLTBCsCbac94OUA4c7Y3DBB5b/6+m+xROSoxWJNbF2yJ7VtFXP/JEVVWJ3PjpZvARO4Gug+khPnqYgLolE2r8G2Av4lT7UjOszXsrP30sGaETaf7w2S+8GZsfKkbZTLC3uMGgx1tlrIPLsPuzs4TKaethprXvrbD7zXCYHmxVpL7cIE+SXZgL4YAwfL8UiS2ytsNKLWn6CmDsw29qJd5yrq8xoxxPalWo6kyraw67HSlgGirJa44htQfHtF/O/GhNTyBjTyMMuMSeQdWtXGABiYgpr+m7wfs6W3xKEFX1gPks8v2F5ywThODrekBolXuXF7Am3v2hx9q7btyaeJghx59scXdVvj6jG85L4sYaiqxyEWT7Hqh8XUw4flpWgemru/JH3eWU6lNh2jEZis85B2jBqnJkaEGFm/834YjdySaCKaKhAsk77n09U8v5nU8LdM1RXCEP+dsTxO1X2RSnBxb7kCw8h+N8Q8Z2OPqeiQtYDi0uGQQvNP6xbsgiKJOR2Zow+nejFodgtBhWXSpnYcyrUWFen3zyp2s9KGQyyyrP0huX1+gEFJG/ZoZyXPJ2nBBoP1I5S+s0mhVpLkuSDYgqhkd9CVofSdjvbynKg75L/jw4DVJZjaERI6zKfnfLL/284URlux0CkllJgCPGQy1l9JruEpBzn+G4mvDhcNvTG6ynDxIL5DGQc6/e0Qyv3I7FyltL i8Chlnha rmurtNn6Twxv6/UhAY+wDZE2/wA1jsaoigWjRJ7c2eB1os9LBbQIJ8/jqJOXOUcKp8cCHT4VZIDEFDh1wR5fJh9Keeeqza0a13lag2NXolIAtg6tbtwT2OtsCdNQYWl5FdgwzJN9C4Or5pacwHWrdI9BugVrDfFla8XcZCg16AnaPl/1VP+8urWgFoGtvtcr6JH1SC9XoOpzOg5QYcuSAXEb9LV9Z1A8vkIJZcg9ADN+v+i3WXnPQS7VFJJTZqNi6SNIBRd/SUyEoKoXPMY45mAVXBPv1FR3x4S/uD5pwZiIx/VvpyAsYYk5Mzg== 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: On Sat, 21 Jun 2025 11:02:15 -0700 SeongJae Park wrote: [...] > I'd hence suggest to implement and use a simple weights handling mechanism > here. It could be roud-robin way, like weighted interleaving, or probabilistic > way, using damon_rand(). > > The round-robin way may be simpler in my opinion. For example, > > unsigned int damos_pa_nid_to_migrate(struct damos_migrate_dest *dest) > { > static unsigned int nr_migrated = 0; > unsigned int total_weight = 0; > unsigned int weights_to_ignore; > size_t i; > > for (i = 0; i < dest->nr_dests; i++) > total_weight += dest->weight_arr[i]; > weights_to_ignore = nr_migrate++ % total_weight; Actually, probabilistic way may be not that complicated. Maybe we could to below here. return damon_rand(0, total_weight) >= weight_to_ignore; > total_weight = 0; > for (i = 0; i < dest->nr_dests; i++) { > total_weight += dest->weight_arr[i]; > if (total_weight >= weights_to_ignore) > return dest->node_id_arr[i]; > } > WARN_ON_ONCE(1, "I don't know what I did wrong"); > return 0; > } But damon_rand() might be more expensive than the roud-robin way, and arguably roud-robin way is what usrs who familiar with weighted interleaving may easily expect and even prefer? I have no preferrence here. Thanks, SJ [...]