On Tue, Mar 09, 2021 at 06:57:06PM +0100, Eric Dumazet wrote: > > > On 3/9/21 6:10 PM, Shay Agroskin wrote: > > The page cache holds pages we allocated in the past during napi cycle, > > and tracks their availability status using page ref count. > > > > The cache can hold up to 2048 pages. Upon allocating a page, we check > > whether the next entry in the cache contains an unused page, and if so > > fetch it. If the next page is already used by another entity or if it > > belongs to a different NUMA core than the napi routine, we allocate a > > page in the regular way (page from a different NUMA core is replaced by > > the newly allocated page). > > > > This system can help us reduce the contention between different cores > > when allocating page since every cache is unique to a queue. > > For reference, many drivers already use a similar strategy.
Hi Eric So rather than yet another implementation, should we push for a generic implementation which any driver can use? Andrew