http://bugs.dpdk.org/show_bug.cgi?id=1912
Bug ID: 1912
Summary: free mbufs should not have next and nb_segs
initialized
Product: wishes
Version: unspecified
Hardware: All
OS: All
Status: UNCONFIRMED
Severity: normal
Priority: Normal
Component: any
Assignee: [email protected]
Reporter: [email protected]
Target Milestone: ---
Group: wishes-managers
The invariant about which mbuf fields are initialized for free mbufs (i.e.
mbufs held in a mempool) should only cover the refcnt and the constant fields:
buf_addr, buf_iova, buf_len, pool, priv_size.
The "next" and "nb_segs" fields are the only remaining non-constant fields (in
addition to the refcnt) still covered, and they should not be.
When an mbuf has been allocated and the driver fills the mbuf's fields during
Rx, the driver might as well also set the "next" and "nb_segs" fields (if it
doesn't already).
The performance cost of setting these two fields along with the other fields is
near zero.
Not having to initialize any mbuf fields when freeing an mbuf would reduce the
performance cost of freeing mbufs.
And in the FAST_FREE case (where the refcnt is known to be 1), the driver can
free the mbufs without touching them at all.
--
You are receiving this mail because:
You are the assignee for the bug.