From nobody Fri Sep 19 10:07:17 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cSp8P5WFWz67lpf; Fri, 19 Sep 2025 10:07:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cSp8P4fVCz3Gpl; Fri, 19 Sep 2025 10:07:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1758276437; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LCqqIKXujmfogpWZWwX3h/Nm7+4+6iYurwu67HOMSLQ=; b=OZuCHccoIYAZ7uLLNJwOZxC5J4KUK4Gu7xSjVzaIEtM7LkXYHz2Qw2ZC8Xwj/t2iWJqHkE M7mOcgR2L3hfxWikM1DdI/Rac9wiuK7VGDaWb1Ev5SQlDNiXGnMJQn+YxkC3VOkvEu1pjB i6q5BuKA1JoN4klPnWvRbzAFuEgXVdrgkH96BP5yz25iRW4ORtXdGG9iIHih4BFse7kZvn EorKj3EYXBxRVSUZyXAVVrLdGaIgxYD+0wThSEDebq2KSexsQrmWNK/zPubGlyqToOu1DC 1hObvvJICPKbzlGjBvyiWNvMs2yIEwZdjjLeS1XuX1g8tjnQd3vjw5qgua+BIg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1758276437; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LCqqIKXujmfogpWZWwX3h/Nm7+4+6iYurwu67HOMSLQ=; b=GNjfc6I3iwsEfkNsw/xr9pGjNRIenAVewulwKI4kIBBlQ4n85xbq9/e4DrhST0BQohn/0P uui+Yn/IUuz5k9bJ/y+nHVgKb4GmimMmcG6uDl5hfFCCqicEHrX9K2oyzpcm+xe0NY38ut EU0OdsJMXDQOye3u6aciWLZgFPeSCQT4hKup/NeVo47AGNrXgLedNBmsHOvtdxErT/YZx4 wsA62afgvNQqMwFPUB/PWMvGtBVf7WgdVNFFIZbnA59LajhqGBEqTTOtVb46uiyQJ2S0A4 MxCz2bXWKY+cIkn/nCECfB30t75McSrwyo4t+A+PDJUrM0FaJi0MJ3R+rABoGw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1758276437; a=rsa-sha256; cv=none; b=S8DaqB4N56aKSGM1v8AWwq1g+P25sASc/u3SauIyfkwD4nD6S3ef+HpHii6mhrX+nRCep8 iFt9FVct2eg2nDytNbzc+9m26Hkgdi2704nZYVzbqudi4mBvBEK2Puzg2pghHkpuCOEjKw 4v7x17s3ZU1XJWDHMVsce4E+ws30TsB7N5l+fg8QgKecQqbakhyhWP6pxdILyowvz67oRu JawbSjKjR/dqBVHiciYXPSo3DfN1zeoMFc+dlDKaOTvWgRcvtvtEqDz2E5wQsf3x1iOVIb rJFowmieA5Q8LUxMO3PB5SDBPUiuekKbpxp92qOJsQAjUNLXGj/vdROr1FvMsg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cSp8P3kKNzsnD; Fri, 19 Sep 2025 10:07:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 58JA7H4l061921; Fri, 19 Sep 2025 10:07:17 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 58JA7HZu061918; Fri, 19 Sep 2025 10:07:17 GMT (envelope-from git) Date: Fri, 19 Sep 2025 10:07:17 GMT Message-Id: <202509191007.58JA7HZu061918@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Olivier Certner Subject: git: 9b8f6e2d759a - stable/15 - vm_domainset: Simplify vm_domainset_iter_next() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 9b8f6e2d759a357701e641816197fa2fe0386fb5 Auto-Submitted: auto-generated The branch stable/15 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=9b8f6e2d759a357701e641816197fa2fe0386fb5 commit 9b8f6e2d759a357701e641816197fa2fe0386fb5 Author: Olivier Certner AuthorDate: 2025-07-07 20:37:14 +0000 Commit: Olivier Certner CommitDate: 2025-09-19 10:07:03 +0000 vm_domainset: Simplify vm_domainset_iter_next() As we are now visiting each domain only once, the test in vm_domainset_iter_prefer() about skipping the preferred domain (the one initially visited for policy DOMAINSET_POLICY_PREFER) becomes redundant. Removing it makes this function essentially the same as vm_domainset_iter_rr(). Thus, remove vm_domainset_iter_prefer(). This makes all policies behave the same in vm_domainset_iter_next(). No functional change (intended). PR: 277476 MFC after: 10 days Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D51250 (cherry picked from commit d0b691a7c1aacf5a3f5ee6fc53f08563744d7203) --- sys/vm/vm_domainset.c | 32 ++------------------------------ 1 file changed, 2 insertions(+), 30 deletions(-) diff --git a/sys/vm/vm_domainset.c b/sys/vm/vm_domainset.c index bd15449559a5..a46dbe5ae92e 100644 --- a/sys/vm/vm_domainset.c +++ b/sys/vm/vm_domainset.c @@ -101,22 +101,11 @@ static void vm_domainset_iter_rr(struct vm_domainset_iter *di, int *domain) { + /* Grab the next domain in 'ds_order'. */ *domain = di->di_domain->ds_order[ ++(*di->di_iter) % di->di_domain->ds_cnt]; } -static void -vm_domainset_iter_prefer(struct vm_domainset_iter *di, int *domain) -{ - int d; - - do { - d = di->di_domain->ds_order[ - ++(*di->di_iter) % di->di_domain->ds_cnt]; - } while (d == di->di_domain->ds_prefer); - *domain = d; -} - static void vm_domainset_iter_interleave(struct vm_domainset_iter *di, int *domain) { @@ -133,24 +122,7 @@ vm_domainset_iter_next(struct vm_domainset_iter *di, int *domain) KASSERT(!DOMAINSET_EMPTY(&di->di_remain_mask), ("%s: Already iterated on all domains", __func__)); - switch (di->di_policy) { - case DOMAINSET_POLICY_FIRSTTOUCH: - /* - * To prevent impossible allocations we convert an invalid - * first-touch to round-robin. - */ - /* FALLTHROUGH */ - case DOMAINSET_POLICY_INTERLEAVE: - /* FALLTHROUGH */ - case DOMAINSET_POLICY_ROUNDROBIN: - vm_domainset_iter_rr(di, domain); - break; - case DOMAINSET_POLICY_PREFER: - vm_domainset_iter_prefer(di, domain); - break; - default: - panic("%s: Unknown policy %d", __func__, di->di_policy); - } + vm_domainset_iter_rr(di, domain); KASSERT(*domain < vm_ndomains, ("%s: Invalid domain %d", __func__, *domain)); }