[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