From nobody Mon Oct 19 17:32:32 2026 X-Original-To: dev-commits-src-main@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 4j7jKr5x4zz6vjJm for ; Mon, 19 Oct 2026 17:32:32 +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) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 4j7jKr4Hk6z4fLY for ; Mon, 19 Oct 2026 17:32:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1792431152; 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=xLZ6LdqrYv52F7tnLpLNBO6aVielkGZtcO/Dyfngzgg=; b=lcykmbNE8eez44Cov0s6c6HRpHwxEa8GyIpuc6C4nbmeVvTAEPYXQc5/HEMmR+hy2zcmpM ExeB8rnolMM1siNo35kyAh/hg8kwb1w0XLbCfaJbm4SVrAyvGGYFBv/q1qVVzr4697LYbV pgQotsLtqiWg/0kavSdSoeCCnYG1oQOxilpx80qxkNWw/dzOLO1anQI80wJDmIlAnaW/lM zq4RRzBi28RaGpzYuCZUEgfzxROsSTmvxqUrgsSP78cf2e24eaaZoledKi+4RRb23uasgH 4KeZxYuW+xu/aL+hKqaR8GJaVEqI7nMbK/i/spXuH1cHZv2WnUtwALpU35YoPw== ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1792431152; b=vixjwLvZ+27/4vBAB5nci9Eq7FpIKx7taKacodTkykMWh26FCzgwGikhfez5GOlWzPGDO6 uXxWNTf6RjhF6g+Ery/Vt0iy5aTNXf7J10BuHlwAFPhZxtRQGv2/Cb3XXucUZbze4q8Gav fqwR8U1P6BWzkEIqkN68BjUDHZMKFE97CUWwvSohFw6oXs27I+fy5SJF2hPOIAfNkYRJX5 QdKKW989B3oW5KuFmox4qgdFLJ0P7OT93AvL4+DnLq/w/KwfYSG0te/dmeAYa2RthHUs4c rzog2YHIF9gOmZzuG+gl+B+uR4vbisfttGvSzZUbt5+zrjImiSuF7jmVLwj7LA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1792431152; 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=xLZ6LdqrYv52F7tnLpLNBO6aVielkGZtcO/Dyfngzgg=; b=vPEKu8HkSnuxUKMLccac32IJnLxqCTX6b8+Ua4T2DT25kkiHXir35D7pNkUVq3lBHThIzH huL6zg7yWmUZNujJLsEeK6K32QDzKJycb5a9L08+nP89xsiMJBSXjpDg5C8iH4nw5KITa5 D6KCbROS/uOhzqzCYGqbHVhSqzQGHI7YGQ47Q+0ov5Juzl4QY9QXCH1L2uLh1RIF8bKbvO lEXPxzFjq3PUEePf7MIyRax1+l0+MyTu3bAxMxzNhp337OOBG9YjK/gkwbGNj6KVSEAzjQ f5rLQi6ixoEW6e3TIcYnoyvW6U7M8a7UiDfSueaMpWTkULuienIh/2Hngqv5mg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4j7jKr3VspzVdy for ; Mon, 19 Oct 2026 17:32:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 21a6e by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 19 Oct 2026 17:32:32 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gleb Smirnoff Subject: git: 671babc79497 - main - mbuf: make m_pullup() an inline over most expected case List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: Commit messages for the main branch of the src repository List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: glebius X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 671babc79497587ef5a59f58578f8fce9359398c Auto-Submitted: auto-generated Date: Mon, 19 Oct 2026 17:32:32 +0000 Message-Id: <6ad65430.21a6e.271f5f58@gitrepo.freebsd.org> The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=671babc79497587ef5a59f58578f8fce9359398c commit 671babc79497587ef5a59f58578f8fce9359398c Author: Gleb Smirnoff AuthorDate: 2026-10-19 17:31:50 +0000 Commit: Gleb Smirnoff CommitDate: 2026-10-19 17:31:50 +0000 mbuf: make m_pullup() an inline over most expected case Implement a most typical use of m_pullup() as an inline and leave only the heavy part as a function. A sweeping change to make benefit of the new version follows. Reviewed by: pouria, zlei, gallatin Differential Revision: https://reviews.freebsd.org/D60688 --- sys/kern/uipc_mbuf.c | 2 +- sys/sys/mbuf.h | 11 ++++++++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/sys/kern/uipc_mbuf.c b/sys/kern/uipc_mbuf.c index 5e9c13c55881..840110477504 100644 --- a/sys/kern/uipc_mbuf.c +++ b/sys/kern/uipc_mbuf.c @@ -926,7 +926,7 @@ m_adj_decap(struct mbuf *mp, int len) * contiguous region in an attempt to avoid being called next time. */ struct mbuf * -m_pullup(struct mbuf *n, int len) +__m_pullup(struct mbuf *n, int len) { struct mbuf *m; int count; diff --git a/sys/sys/mbuf.h b/sys/sys/mbuf.h index 7651562f1392..8029369f7f7f 100644 --- a/sys/sys/mbuf.h +++ b/sys/sys/mbuf.h @@ -862,7 +862,7 @@ int m_pkthdr_init(struct mbuf *, int); struct mbuf *m_prepend(struct mbuf *, int, int); void m_print(const struct mbuf *, int); struct mbuf *m_pulldown(struct mbuf *, int, int, int *); -struct mbuf *m_pullup(struct mbuf *, int); +struct mbuf *__m_pullup(struct mbuf *, int); int m_sanity(struct mbuf *, int); struct mbuf *m_split(struct mbuf *, int, int); struct mbuf *m_uiotombuf(struct uio *, int, int, int, int); @@ -877,6 +877,15 @@ void m_snd_tag_destroy(struct m_snd_tag *); void m_rcvif_serialize(struct mbuf *); struct ifnet *m_rcvif_restore(struct mbuf *); +static __inline struct mbuf * +m_pullup(struct mbuf *m, int len) +{ + if (__predict_false(m->m_len < len)) + return (__m_pullup(m, len)); + else + return (m); +} + static __inline int m_gettype(int size) {