On Wed, Oct 21, 2015 at 01:30:54PM +0900, Tetsuya Mukawa wrote: > On 2015/10/20 23:13, Loftus, Ciara wrote: > > > > I see that af_packet also frees the mbuf. I've checked the ixgbe and ring > > pmds though and they don't seem to free the buffers, although I may have > > missed something, the code for these is rather large and I am unfamiliar > > with most of it. If I am correct though, should this behaviour vary from > > PMD to PMD I wonder? > > I guess ring PMD is something special. > Because we don't want to copy data with this PMD, RX function doesn't > allocate buffers, also TX function doesn't free buffers. > But other normal PMD will allocate buffers when RX is called, and free > buffers when TX is called. >
Yes, this is correct. Ring pmd is the exception since it automatically recycles buffers, and so does not need to alloc/free mbufs. (ixgbe frees the buffers post-TX as part of the TX ring cleanup) /Bruce