[PATCH] mbuf: optimize segment prefree
Stephen Hemminger
stephen at networkplumber.org
Thu Aug 28 01:17:26 CEST 2025
On Wed, 27 Aug 2025 21:35:34 +0000
Morten Brørup <mb at smartsharesystems.com> wrote:
>
> +/* GCC only optimizes single-bit MSB tests this way, so do it by hand with multi-bit. */
> +#if defined(RTE_TOOLCHAIN_GCC) && defined(RTE_ARCH_X86)
> +#undef RTE_MBUF_DIRECT
> +#define RTE_MBUF_DIRECT(mb) \
> + (!(((const uint8_t *)(mb))[offsetof(struct rte_mbuf, ol_flags) + 7] & \
> + (uint8_t)((RTE_MBUF_F_INDIRECT | RTE_MBUF_F_EXTERNAL) >> 56)))
> +#endif
Complex enough expression that I would prefer this be an inline function
with some more temporary variables and more comments.
Like the magic 7 for mask??
More information about the dev
mailing list