#
2f1015d8 |
| 11-Jun-2024 |
Paul Szczepanek <paul.szczepanek@arm.com> |
mempool: retrieve objects location info
Add two functions: - rte_mempool_get_mem_range - get virtual memory range of the objects in the mempool, - rte_mempool_get_obj_alignment - get alignment of ob
mempool: retrieve objects location info
Add two functions: - rte_mempool_get_mem_range - get virtual memory range of the objects in the mempool, - rte_mempool_get_obj_alignment - get alignment of objects in the mempool.
Add two tests that test these new functions.
Signed-off-by: Paul Szczepanek <paul.szczepanek@arm.com> Reviewed-by: Jack Bond-Preston <jack.bond-preston@foss.arm.com> Reviewed-by: Nathan Brown <nathan.brown@arm.com> Acked-by: Morten Brørup <mb@smartsharesystems.com> Acked-by: Konstantin Ananyev <konstantin.v.ananyev@yandex.ru>
show more ...
|
#
a4cb5461 |
| 11-Jun-2024 |
Paul Szczepanek <paul.szczepanek@arm.com> |
test/ring_perf: add some pointer compression tests
Add a test that runs a zero copy burst enqueue and dequeue on a ring of raw pointers and compressed pointers at different burst sizes to showcase p
test/ring_perf: add some pointer compression tests
Add a test that runs a zero copy burst enqueue and dequeue on a ring of raw pointers and compressed pointers at different burst sizes to showcase performance benefits of newly added pointer compression APIs.
Refactored threading code to pass more parameters to threads to reuse existing code. Added more bulk sizes to showcase their effects on compression. Adjusted loop iteration numbers to take into account bulk sizes to keep runtime constant (instead of number of operations).
Adjusted old printfs to match new ones which have aligned numbers.
Signed-off-by: Paul Szczepanek <paul.szczepanek@arm.com> Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com> Reviewed-by: Nathan Brown <nathan.brown@arm.com> Reviewed-by: Jack Bond-Preston <jack.bond-preston@foss.arm.com>
show more ...
|
#
077596a4 |
| 11-Jun-2024 |
Paul Szczepanek <paul.szczepanek@arm.com> |
ptr_compress: add pointer compression library
Add a new utility header for compressing pointers. The provided functions can store pointers as 32-bit or 16-bit offsets.
The compression takes advanta
ptr_compress: add pointer compression library
Add a new utility header for compressing pointers. The provided functions can store pointers as 32-bit or 16-bit offsets.
The compression takes advantage of the fact that pointers are usually located in a limited memory region (like a mempool). We can compress them by converting them to offsets from a base memory address. Offsets can be stored in fewer bytes (dictated by the memory region size and alignment of the pointer). For example: an 8 byte aligned pointer which is part of a 32GB memory pool can be stored in 4 bytes.
Suggested-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com> Signed-off-by: Paul Szczepanek <paul.szczepanek@arm.com> Signed-off-by: Kamalakshitha Aligeri <kamalakshitha.aligeri@arm.com> Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com> Reviewed-by: Nathan Brown <nathan.brown@arm.com> Reviewed-by: Jack Bond-Preston <jack.bond-preston@foss.arm.com> Acked-by: Morten Brørup <mb@smartsharesystems.com>
show more ...
|