On 6/1/2016 5:19 PM, David Hunt wrote: > Until now, the objects stored in a mempool were internally stored in a > ring. This patch introduces the possibility to register external handlers > replacing the ring. > > The default behavior remains unchanged, but calling the new function > rte_mempool_set_handler() right after rte_mempool_create_empty() allows > the user to change the handler that will be used when populating > the mempool. > > v7 changes: > * Moved the flags handling from rte_mempool_create_empty to > rte_mempool_create, as it's only there for backward compatibility > * Various comment additions and cleanup > * Renamed rte_mempool_handler to rte_mempool_ops > * Added a union for *pool and u64 pool_id in struct rte_mempool
These v7 changes should me merged with the v6 changes below as this is a v6 patch. Or removed altogether, as they are in the cover letter. > v6 changes: > * split the original patch into a few parts for easier review. > * rename functions with _ext_ to _ops_. > * addressed some review comments > * renamed put and get functions to enqueue and dequeue > * renamed rte_mempool_handler struct to rte_mempool_handler_ops > * changed occurences of rte_mempool_handler_ops to const, as they > contain function pointers (security) > * added some extra comments > > [...]