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.

Reply via email to