From nobody Fri Sep 19 11:42:38 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 4cSrGR1xYwz67tCc; Fri, 19 Sep 2025 11:42:39 +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 4cSrGR09Jvz3WPx; Fri, 19 Sep 2025 11:42:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1758282159; 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=LwUcvhJ7a0tOi9iNpDqHRsG2trEJ1K4MPECF9R/ndU0=; b=uD1/j3dw+hrjQxgM6f4wa6RYIyyNq0Jkllgb8LOgA+AikKizCuWMbLgMwzNujQlajvCyY2 wx6blW2ztIhGFEQ1ej/FujRYbcuO0KXfjx1NhsRUWBVhWl5fzcZvLQOinaJh1U5QO+zQs2 4l5I+sqia9O0JvDUVOy135xlV2CdH/fbXwYyFg0k0s31l++/JYMaBz4DdLN/Fme1taE+x7 JTh1uDtziU93Go0aHDqtUJ9yCNzBkq0bTUzWK07crrN3GKBRO1u5Oqll9B/iNm52Sv8QQb yIMlCPZewP5+KQbeIHDqgAF4RGvPzPCkpMg5AMS07sIC5L+L4Ywqv+Nng3sJaQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1758282159; 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=LwUcvhJ7a0tOi9iNpDqHRsG2trEJ1K4MPECF9R/ndU0=; b=JWxgicJFVo+oF5Wl4CoVwTXwxtR/yCX1MyFH3E6xa3bhEOIUqHXXfvoXi+0htjj6fJX5Uw BJ/BUTCbo+9lZmBcVHsaYpMHBqE3ILAPM6HeVI+ODc1UqYgjeqSaN0ESaOxzB1fF9PagTj cBSWoDOJHd4WHFisC2dDxeN36ZWEkBUEEsiOtqRnx93UxtxpdUMQtskxzNyFSwbvh7/uOW 4Y3AbWkm8Bs9ykxrZ7UFSrBCYc3SiQvR3dOBAVa19BJN/j7riFwmhq7oTMYP8Wbm+g2Dpd G4slUnTkcy/NuBl00tff3MJGOmqvwYAG2wAdAoZbTJA9JQclZQptObkJVX0HLw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1758282159; a=rsa-sha256; cv=none; b=jC/yXE8vcEhdlaxF2/2/j/Ypml8G8cK8j8gEP0YLQ86LRUbSK1zeHOCzyhkaKbvx+GLiRm pK7ROkfzbsv9lP6J0m7D7odGYHRtf9Fw4Tu9NomXIzFcuwuLZV2T+kyXq16gb0y9pO/gpZ HU0/jdLh1ts6fRdDdzDWSsoiFQqNsFpxdmNQacupkr8obyMn3TVTsX/kE7Z8clyZUksLyn SFhj0+92g++HULv84JHzdUx5DISE0PkjgNwVcOtaWbtDUsVTE6Zj947AYmIdislLsgxvC0 8ak0MFhxHuEpotdwbOlSLRM7hQTPJPZCULjSFG6vh5GFZi0+OODxSkX7R2rcVw== 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 4cSrGQ6tjtzwtp; Fri, 19 Sep 2025 11:42:38 +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 58JBgcID047394; Fri, 19 Sep 2025 11:42:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 58JBgc1M047391; Fri, 19 Sep 2025 11:42:38 GMT (envelope-from git) Date: Fri, 19 Sep 2025 11:42:38 GMT Message-Id: <202509191142.58JBgc1M047391@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: 0206ec4350ca - stable/14 - 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/14 X-Git-Reftype: branch X-Git-Commit: 0206ec4350ca385a8c29f410dc6814b5517dafc5 Auto-Submitted: auto-generated The branch stable/14 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=0206ec4350ca385a8c29f410dc6814b5517dafc5 commit 0206ec4350ca385a8c29f410dc6814b5517dafc5 Author: Olivier Certner AuthorDate: 2025-07-07 20:37:14 +0000 Commit: Olivier Certner CommitDate: 2025-09-19 11:41:42 +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 f95f26b9d476..27035b69c669 100644 --- a/sys/vm/vm_domainset.c +++ b/sys/vm/vm_domainset.c @@ -97,22 +97,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) { @@ -129,24 +118,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)); }