On Tue, Aug 22, 2017 at 6:06 PM, Alexander Duyck <alexander.duyck@xxxxxxxxx> wrote: > On Tue, Aug 22, 2017 at 1:04 PM, Michael Chan <michael.chan@xxxxxxxxxxxx> wrote: >> >> Right, but it's conceivable to add an API to "return" the buffer to >> the input device, right? > > You could, it is just added complexity. "just free the buffer" in > ixgbe usually just amounts to one atomic operation to decrement the > total page count since page recycling is already implemented in the > driver. You still would have to unmap the buffer regardless of if you > were recycling it or not so all you would save is 1.000015259 atomic > operations per packet. The fraction is because once every 64K uses we > have to bulk update the count on the page. > If the buffer is returned to the input device, the input device can keep the DMA mapping. All it needs to do is to dma_sync it back to the input device when the buffer is returned.