[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.DEB.2.11.1509041844190.2499@east.gentwo.org>
Date: Fri, 4 Sep 2015 18:45:13 -0500 (CDT)
From: Christoph Lameter <cl@...ux.com>
To: Alexander Duyck <alexander.duyck@...il.com>
cc: Jesper Dangaard Brouer <brouer@...hat.com>, netdev@...r.kernel.org,
akpm@...ux-foundation.org, linux-mm@...ck.org,
aravinda@...ux.vnet.ibm.com,
"Paul E. McKenney" <paulmck@...ux.vnet.ibm.com>,
iamjoonsoo.kim@....com
Subject: Re: [RFC PATCH 0/3] Network stack, first user of SLAB/kmem_cache
bulk free API.
On Fri, 4 Sep 2015, Alexander Duyck wrote:
> Right, but one of the reasons for Jesper to implement the bulk alloc/free is
> to avoid the cmpxchg that is being used to get stuff into or off of the per
> cpu lists.
There is no full cmpxchg used for the per cpu lists. Its a cmpxchg without
lock semantics which is very cheap.
> In the case of network drivers they are running in softirq context almost
> exclusively. As such it is useful to have a set of buffers that can be
> acquired or freed from this context without the need to use any
> synchronization primitives. Then once the softirq context ends then we can
> free up some or all of the resources back to the slab allocator.
That is the case in the slab allocators.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists