Subject: Re: [PATCH] net: use hardware buffer pool to allocate skb

From: Alexander Duyck <[email-masked]>
Date: Fri, 17 Oct 2014 07:40:25 -0700

On 10/17/2014 02:11 AM, David Laight wrote:
> From: Alexander Duyck
> ...
>> Actually the likelihood of anything holding onto the 4K page for very
>> long doesn't seem to occur, at least from the drivers perspective.  It
>> is one of the reasons why I went for the page reuse approach rather than
>> just partitioning a single large page.  It allows us to avoid having to
>> call IOMMU map/unmap for the pages since the entire page is usually back
>> in the driver ownership before we need to reuse the portion given to the
>> stack.
> That is almost certainly true for most benchmarks, benchmark processes
> consume receive data.
> But what about real life situations?
>
> There must be some 'normal' workloads where receive data doesn't get consumed.
>
> 	David
>

Yes, but for workloads where receive data doesn't get consumed it is 
very unlikely that much receive data is generated.  As such from the 
device perspective the time the socket is holding the page is still not 
all that long as the descriptor ring is not being looped through that 
quickly.  The page has almost always been freed by the time we have 
processed our way through the full descriptor ring.

Thanks,

Alex