| e75bc77f | 03-Apr-2019 |
Gage Eads <[email protected]> |
mempool/stack: add lock-free stack mempool handler
This commit adds support for lock-free (linked list based) stack mempool handler.
In mempool_perf_autotest the lock-based stack outperforms the lo
mempool/stack: add lock-free stack mempool handler
This commit adds support for lock-free (linked list based) stack mempool handler.
In mempool_perf_autotest the lock-based stack outperforms the lock-free handler for certain lcore/alloc count/free count combinations*, however: - For applications with preemptible pthreads, a standard (lock-based) stack's worst-case performance (i.e. one thread being preempted while holding the spinlock) is much worse than the lock-free stack's. - Using per-thread mempool caches will largely mitigate the performance difference.
*Test setup: x86_64 build with default config, dual-socket Xeon E5-2699 v4, running on isolcpus cores with a tickless scheduler. The lock-based stack's rate_persec was 0.6x-3.5x the lock-free stack's.
Signed-off-by: Gage Eads <[email protected]> Reviewed-by: Olivier Matz <[email protected]>
show more ...
|