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 majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html