<div dir="auto">To help with definition of fast free flag, I would like the documentation to be better.<div dir="auto"><br></div><div dir="auto">Something like:</div><div dir="auto">Fast free flag allows driver to avoid expensive atomic operators on ref count and assume all mbufs in a burst are from the same pool.</div><div dir="auto"><br></div><div dir="auto">Should also add debug asserts in drivers implenting fast free.</div></div><br><div class="gmail_quote gmail_quote_container"><div dir="ltr" class="gmail_attr">On Mon, Oct 6, 2025, 16:40 Morten Brørup <<a href="mailto:mb@smartsharesystems.com">mb@smartsharesystems.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">> From: Bruce Richardson [mailto:<a href="mailto:bruce.richardson@intel.com" target="_blank" rel="noreferrer">bruce.richardson@intel.com</a>]<br>
> Sent: Friday, 3 October 2025 11.18<br>
> Subject: Minutes of techboard meeting, 2025-10-01<br>
<br>
> * Use of FAST_FREE and multi-buffer/scattered mbuf flags<br>
>   - The flags for enabling fast-free and supporting multi-mbuf packets<br>
> are<br>
>     now documented incompatible<br>
>   - Previously they were not defined as incompatible, but that seems to<br>
>     have been assumed for some usages.<br>
>   - Techboard discussed how best to resolve this incompatibility with<br>
>     regards to:<br>
>     - ensuring correctness<br>
>     - avoiding major churn to DPDK code<br>
>     - avoiding churn to end-user code<br>
>   - Options discussed:<br>
>     1 change definition back to not have the settings incompatible:<br>
> this<br>
>       necessitates checking drivers for correctness<br>
>     2 keep as explicitly incompatible and report error if both<br>
> specified:<br>
>       this could break end-user apps, and requires changes to example<br>
> apps<br>
>     3 drop the fast-free flag if multi-segment mbufs are also<br>
> specified:<br>
>       "hides" the issue, but probably minimises changes. Would need to<br>
>       decide whether the dropping of flag done in drivers vs ethdev<br>
> level.<br>
>       Pros and cons to both options. Needs clear documenting.<br>
>   - No firm decision reached, will discuss more over email.<br>
<br>
IMO, the patch [1] making MBUF_FAST_FREE and MULTI_SEGS explicitly incompatible should be reverted, at least for RC1.<br>
That will take the project back to the state it was in before we started this discussion.<br>
And all the examples broken by the patch (because they use both TX offloads) will not need fixing.<br>
<br>
[1]: <a href="https://patchwork.dpdk.org/project/dpdk/patch/20250803194218.683318-3-mb@smartsharesystems.com/" rel="noreferrer noreferrer" target="_blank">https://patchwork.dpdk.org/project/dpdk/patch/20250803194218.683318-3-mb@smartsharesystems.com/</a><br>
<br>
</blockquote></div>