[RFC v2 0/2] add pointer compression API

2023-10-11 Thread Paul Szczepanek
to keep runtime short * fixed pointer size warning on 32-bit arch Paul Szczepanek (2): eal: add pointer compression functions test: add pointer compress tests to ring perf test .mailmap | 1 + app/test/test_ring.h | 59 +- app/test

[RFC v2 1/2] eal: add pointer compression functions

2023-10-11 Thread Paul Szczepanek
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 Signed-off-by: Paul Szczepanek Signed

[RFC v2 2/2] test: add pointer compress tests to ring perf test

2023-10-11 Thread Paul Szczepanek
. 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 Reviewed-by

Re: [RFC 1/2] eal: add pointer compression functions

2023-10-11 Thread Paul Szczepanek
On 11/10/2023 14:36, Honnappa Nagarahalli wrote: -Original Message- From: Thomas Monjalon Sent: Monday, October 9, 2023 10:54 AM To: Paul Szczepanek Cc: dev@dpdk.org; Honnappa Nagarahalli ; Kamalakshitha Aligeri Subject: Re: [RFC 1/2] eal: add pointer compression functions [...] I

Re: [PATCH v2] config/arm: update aarch32 build with gcc13

2023-10-12 Thread Paul Szczepanek
On 09/10/2023 10:53, Juraj Linkeš wrote: The aarch32 with gcc13 fails with: Compiler for C supports arguments -march=armv8-a: NO ../config/arm/meson.build:714:12: ERROR: Problem encountered: No suitable armv8 march version found. This is because we test -march=armv8-a alone (without the -mpf

Re: [PATCH v3 1/2] doc: increase python max line length to 100

2023-10-12 Thread Paul Szczepanek
On 28/09/2023 13:18, Juraj Linkeš wrote: Unify with C recommendations which allow line length of up to 100 characters. Signed-off-by: Owen Hilyard Signed-off-by: Juraj Linkeš --- .editorconfig| 2 +- doc/doc_build/meson-private/meson.lock | 0 doc/guides/con

Re: [PATCH v1] dts: add Dockerfile

2023-10-17 Thread Paul Szczepanek
/README.md | 55 + 3 files changed, 123 insertions(+) create mode 100644 dts/.devcontainer/devcontainer.json create mode 100644 dts/Dockerfile create mode 100644 dts/README.md [..] Acked-by: Paul Szczepanek

[RFC 0/2] add pointer compression API

2023-09-27 Thread Paul Szczepanek
overhead. In a more realistic mock application running the l3 forwarding dpdk example that works in pipeline mode this translated into a ~5% throughput increase on an ampere altra. Paul Szczepanek (2): eal: add pointer compression functions test: add pointer compress tests to ring perf test

[RFC 1/2] eal: add pointer compression functions

2023-09-27 Thread Paul Szczepanek
-off-by: Paul Szczepanek Signed-off-by: Kamalakshitha Aligeri Reviewed-by: Honnappa Nagarahalli --- .mailmap | 1 + lib/eal/include/meson.build| 1 + lib/eal/include/rte_ptr_compress.h | 158 + 3 files changed, 160 insertions

[RFC 2/2] test: add pointer compress tests to ring perf test

2023-09-27 Thread Paul Szczepanek
. Additionally more bulk sizes were added to showcase their effects on compression. To keep runtime reasoanble iterations where adjusted to take into account bulk sizes. Old printfs are adjusted to match new ones which have aligned numbers. Signed-off-by: Paul Szczepanek Reviewed-by: Honnappa

Re: [PATCH v7 4/4] test-pmd: add more packet verbose decode options

2024-08-22 Thread Paul Szczepanek
On 20/08/2024 16:54, Stephen Hemminger wrote: > On Tue, 20 Aug 2024 14:42:56 +0100 > Alex Chapman wrote: > >> Hi Stephen, >> >> I have gone through your patch series and the hexdump option would be >> quite valuable for use in DTS. >> >> However I am currently facing the issue of distinguishing

Re: [PATCH v5 0/4] add pointer compression API

2024-02-22 Thread Paul Szczepanek
t within DPDK and it's applianances? Konstantin The intended usage is explained in the cover email (see below) and demonstrated in the test supplied in the following patch - when sending arrays of pointers between cores as it happens in a forwarding example. On 01/11/2023 18:12, Paul Szc

[PATCH v6 1/4] eal: add pointer compression functions

2024-02-29 Thread Paul Szczepanek
-by: Paul Szczepanek Signed-off-by: Kamalakshitha Aligeri Reviewed-by: Honnappa Nagarahalli --- .mailmap | 1 + lib/eal/include/meson.build| 1 + lib/eal/include/rte_ptr_compress.h | 266 + 3 files changed, 268 insertions(+) create

[PATCH v6 0/4] add pointer compression API

2024-02-29 Thread Paul Szczepanek
: * disable NEON and SVE implementation on AARCH32 due to wrong pointer size v6: * added example usage to commit message of the initial commit Paul Szczepanek (4): eal: add pointer compression functions test: add pointer compress tests to ring perf test docs: add pointer compression to the EAL guide

[PATCH v6 2/4] test: add pointer compress tests to ring perf test

2024-02-29 Thread Paul Szczepanek
. 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 Reviewed-by

[PATCH v6 3/4] docs: add pointer compression to the EAL guide

2024-02-29 Thread Paul Szczepanek
Documentation added in the EAL guide for the new utility functions for pointer compression showing example code and potential usecases. Signed-off-by: Paul Szczepanek Reviewed-by: Honnappa Nagarahalli --- .../prog_guide/env_abstraction_layer.rst | 142 ++ 1 file changed

[PATCH v6 4/4] test: add unit test for ptr compression

2024-02-29 Thread Paul Szczepanek
Test compresses and decompresses pointers with various combinations of memory regions and alignments and verifies the pointers are recovered correctly. Signed-off-by: Paul Szczepanek --- app/test/meson.build | 1 + app/test/test_eal_ptr_compress.c | 108

[PATCH v7 1/4] eal: add pointer compression functions

2024-03-01 Thread Paul Szczepanek
-by: Paul Szczepanek Signed-off-by: Kamalakshitha Aligeri Reviewed-by: Honnappa Nagarahalli --- lib/eal/include/meson.build| 1 + lib/eal/include/rte_ptr_compress.h | 266 + 2 files changed, 267 insertions(+) create mode 100644 lib/eal/include

[PATCH v7 0/4] add pointer compression API

2024-03-01 Thread Paul Szczepanek
: * disable NEON and SVE implementation on AARCH32 due to wrong pointer size v6: * added example usage to commit message of the initial commit v7: * rebase to remove clashing mailmap changes Paul Szczepanek (4): eal: add pointer compression functions test: add pointer compress tests to ring perf test

[PATCH v7 2/4] test: add pointer compress tests to ring perf test

2024-03-01 Thread Paul Szczepanek
. 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 Reviewed-by

[PATCH v7 3/4] docs: add pointer compression to the EAL guide

2024-03-01 Thread Paul Szczepanek
Documentation added in the EAL guide for the new utility functions for pointer compression showing example code and potential usecases. Signed-off-by: Paul Szczepanek Reviewed-by: Honnappa Nagarahalli --- .../prog_guide/env_abstraction_layer.rst | 142 ++ 1 file changed

[PATCH v7 4/4] test: add unit test for ptr compression

2024-03-01 Thread Paul Szczepanek
Test compresses and decompresses pointers with various combinations of memory regions and alignments and verifies the pointers are recovered correctly. Signed-off-by: Paul Szczepanek --- app/test/meson.build | 1 + app/test/test_eal_ptr_compress.c | 108

Re: RE: [PATCH v5 0/4] add pointer compression API

2024-05-15 Thread Paul Szczepanek
On 04/03/2024 14:44, Konstantin Ananyev wrote: >> This feature is targeted for pipeline mode of applications. We see many >> customers using pipeline mode. This feature helps in reducing >> the cost of transferring the packets between cores by reducing the copies >> involved. > > I do understand

Re: [PATCH v5 0/4] add pointer compression API

2024-05-16 Thread Paul Szczepanek
On 15/05/2024 23:34, Morten Brørup wrote: >> From: Paul Szczepanek [mailto:paul.szczepa...@arm.com] >> >> AFAIK DPDK rte_mempool does require the addresses to be virtually >> contiguous as the memory reservation is done during creation of the >> mempool and a singl

Re: [PATCH v5 0/4] add pointer compression API

2024-05-24 Thread Paul Szczepanek
I have added macros to help find the parameters and I have added mempool functions that allow you to determine if you can use the mempool and what params it needs. The new mempool functions are mentioned in the docs for ptr compress. Please take a look at v11. I did not add a new make pkt buf API

[PATCH v11 0/6] add pointer compression API

2024-05-24 Thread Paul Szczepanek
Paul Szczepanek (6): lib: allow libraries with no sources mempool: add functions to get extra mempool info ptr_compress: add pointer compression library test: add pointer compress tests to ring perf test docs: add pointer compression guide test: add unit test for ptr compression

[PATCH v11 1/6] lib: allow libraries with no sources

2024-05-24 Thread Paul Szczepanek
Allow header only libraries. Signed-off-by: Paul Szczepanek Reviewed-by: Honnappa Nagarahalli Reviewed-by: Jack Bond-Preston Acked-by: Bruce Richardson --- lib/meson.build | 16 1 file changed, 16 insertions(+) diff --git a/lib/meson.build b/lib/meson.build index 179a272932

[PATCH v11 2/6] mempool: add functions to get extra mempool info

2024-05-24 Thread Paul Szczepanek
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 Reviewed-by: Jack Bond-Preston

[PATCH v11 3/6] ptr_compress: add pointer compression library

2024-05-24 Thread Paul Szczepanek
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 Signed-off-by: Paul Szczepanek

[PATCH v11 4/6] test: add pointer compress tests to ring perf test

2024-05-24 Thread Paul Szczepanek
. 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 Reviewed-by

[PATCH v11 5/6] docs: add pointer compression guide

2024-05-24 Thread Paul Szczepanek
Documentation added in the prog guide for the new utility functions for pointer compression showing example code and potential usecases. Signed-off-by: Paul Szczepanek Reviewed-by: Honnappa Nagarahalli Reviewed-by: Nathan Brown Reviewed-by: Jack Bond-Preston --- MAINTAINERS

[PATCH v11 6/6] test: add unit test for ptr compression

2024-05-24 Thread Paul Szczepanek
Test compresses and decompresses pointers with various combinations of memory regions and alignments and verifies the pointers are recovered correctly. Signed-off-by: Paul Szczepanek Reviewed-by: Honnappa Nagarahalli Reviewed-by: Nathan Brown Reviewed-by: Jack Bond-Preston --- MAINTAINERS

Re: [PATCH v5 0/4] add pointer compression API

2024-05-28 Thread Paul Szczepanek
On 24/05/2024 10:09, Konstantin Ananyev wrote: > > >> I have added macros to help find the parameters and I have added mempool >> functions that allow you to determine if you can use the mempool and >> what params it needs. The new mempool functions are mentioned in the >> docs for ptr compres

Re: [PATCH v11 2/6] mempool: add functions to get extra mempool info

2024-05-28 Thread Paul Szczepanek
On 24/05/2024 13:20, Morten Brørup wrote: >> From: Paul Szczepanek [mailto:paul.szczepa...@arm.com] >> Sent: Friday, 24 May 2024 10.37 >> >> +size_t rte_mempool_get_obj_alignment(struct rte_mempool *mp) >> +{ >> +if (mp == NULL) >> +

[PATCH v12 1/6] lib: allow libraries with no sources

2024-05-29 Thread Paul Szczepanek
Allow header only libraries. Signed-off-by: Paul Szczepanek Reviewed-by: Honnappa Nagarahalli Acked-by: Bruce Richardson --- lib/meson.build | 16 1 file changed, 16 insertions(+) diff --git a/lib/meson.build b/lib/meson.build index 179a272932..7c90602bf5 100644 --- a/lib

[PATCH v12 2/6] mempool: add functions to get extra mempool info

2024-05-29 Thread Paul Szczepanek
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 Reviewed-by: Jack Bond-Preston

[PATCH v12 0/6] add pointer compression API

2024-05-29 Thread Paul Szczepanek
* added doxygen and prefixes to macros * use rte_bitops for clz and ctz * added unit tests to verify macros * fixed incorrect letter case in docs Paul Szczepanek (6): lib: allow libraries with no sources mempool: add functions to get extra mempool info ptr_compress: add pointer compression

[PATCH v12 4/6] test: add pointer compress tests to ring perf test

2024-05-29 Thread Paul Szczepanek
. 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 Reviewed-by

[PATCH v12 3/6] ptr_compress: add pointer compression library

2024-05-29 Thread Paul Szczepanek
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 Signed-off-by: Paul Szczepanek

[PATCH v12 6/6] test: add unit test for ptr compression

2024-05-29 Thread Paul Szczepanek
Test compresses and decompresses pointers with various combinations of memory regions and alignments and verifies the pointers are recovered correctly. Additionally tests helper macros perform calculations correctly. Signed-off-by: Paul Szczepanek Reviewed-by: Honnappa Nagarahalli Reviewed-by

[PATCH v12 5/6] docs: add pointer compression guide

2024-05-29 Thread Paul Szczepanek
Documentation added in the prog guide for the new utility functions for pointer compression showing example code and potential usecases. Signed-off-by: Paul Szczepanek Reviewed-by: Honnappa Nagarahalli Reviewed-by: Nathan Brown Reviewed-by: Jack Bond-Preston --- MAINTAINERS

Re: [PATCH v5 0/4] add pointer compression API

2024-05-29 Thread Paul Szczepanek
On 28/05/2024 20:29, Paul Szczepanek wrote: > > > On 24/05/2024 10:09, Konstantin Ananyev wrote: >> >> >>> I have added macros to help find the parameters and I have added mempool >>> functions that allow you to determine if you can use the mempoo

Re: [PATCH] mempool: dump includes list of memory chunks

2024-05-29 Thread Paul Szczepanek
common_count = rte_mempool_ops_get_count(mp); > if ((cache_count + common_count) > mp->size) It's useful information to dump. Maybe consider adding something akin to RTE_LIBRTE_MEMPOOL_STATS to gate this in case the prints are overwhelming due to high list element number. Reviewed-by: Paul Szczepanek

Re: [PATCH v12 2/6] mempool: add functions to get extra mempool info

2024-05-29 Thread Paul Szczepanek
On 29/05/2024 14:56, Morten Brørup wrote: >> From: Paul Szczepanek [mailto:paul.szczepa...@arm.com] >> Sent: Wednesday, 29 May 2024 12.23 >> >> Add two functions: >> - rte_mempool_get_mem_range - get virtual memory range >> of the objects in the mempool, >

[PATCH v13 1/6] lib: allow libraries with no sources

2024-05-30 Thread Paul Szczepanek
Allow header only libraries. Signed-off-by: Paul Szczepanek Reviewed-by: Honnappa Nagarahalli Acked-by: Bruce Richardson --- lib/meson.build | 16 1 file changed, 16 insertions(+) diff --git a/lib/meson.build b/lib/meson.build index 179a272932..7c90602bf5 100644 --- a/lib

[PATCH v13 0/6] add pointer compression API

2024-05-30 Thread Paul Szczepanek
* added doxygen and prefixes to macros * use rte_bitops for clz and ctz * added unit tests to verify macros * fixed incorrect letter case in docs v13 * added contiguous parameter to rte_mempool_get_mem_range * made rte_mempool_get_mem_range parameters optional Paul Szczepanek (6): lib: allow

[PATCH v13 2/6] mempool: add functions to get extra mempool info

2024-05-30 Thread Paul Szczepanek
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 Reviewed-by: Jack Bond-Preston

[PATCH v13 3/6] ptr_compress: add pointer compression library

2024-05-30 Thread Paul Szczepanek
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 Signed-off-by: Paul Szczepanek

[PATCH v13 4/6] test: add pointer compress tests to ring perf test

2024-05-30 Thread Paul Szczepanek
. 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 Reviewed-by

[PATCH v13 6/6] test: add unit test for ptr compression

2024-05-30 Thread Paul Szczepanek
Test compresses and decompresses pointers with various combinations of memory regions and alignments and verifies the pointers are recovered correctly. Additionally tests helper macros perform calculations correctly. Signed-off-by: Paul Szczepanek Reviewed-by: Honnappa Nagarahalli Reviewed-by

[PATCH v13 5/6] docs: add pointer compression guide

2024-05-30 Thread Paul Szczepanek
Documentation added in the prog guide for the new utility functions for pointer compression showing example code and potential usecases. Signed-off-by: Paul Szczepanek Reviewed-by: Honnappa Nagarahalli Reviewed-by: Nathan Brown Reviewed-by: Jack Bond-Preston --- MAINTAINERS

Re: [PATCH v13 0/6] add pointer compression API

2024-05-30 Thread Paul Szczepanek
Recheck-request: github-robot

Re: [PATCH v13 0/6] add pointer compression API

2024-06-04 Thread Paul Szczepanek
Recheck-request: iol-unit-amd64-testing

Re: [PATCH v13 6/6] test: add unit test for ptr compression

2024-06-04 Thread Paul Szczepanek
Recheck-request: github-robot

Re: [PATCH v13 6/6] test: add unit test for ptr compression

2024-06-04 Thread Paul Szczepanek
Recheck-request: iol-unit-amd64-testing

[PATCH v14 0/6] add pointer compression API

2024-06-07 Thread Paul Szczepanek
rte_mempool_get_mem_range in a struct * added consts to function parameters where appropriate Paul Szczepanek (6): lib: allow libraries with no sources mempool: add functions to get extra mempool info ptr_compress: add pointer compression library test: add pointer compress tests to ring perf test

[PATCH v14 1/6] lib: allow libraries with no sources

2024-06-07 Thread Paul Szczepanek
Allow header only libraries. Signed-off-by: Paul Szczepanek Reviewed-by: Honnappa Nagarahalli Acked-by: Bruce Richardson --- lib/meson.build | 16 1 file changed, 16 insertions(+) diff --git a/lib/meson.build b/lib/meson.build index 179a272932..7c90602bf5 100644 --- a/lib

[PATCH v14 2/6] mempool: add functions to get extra mempool info

2024-06-07 Thread Paul Szczepanek
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 Reviewed-by: Jack Bond-Preston

[PATCH v14 3/6] ptr_compress: add pointer compression library

2024-06-07 Thread Paul Szczepanek
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 Signed-off-by: Paul Szczepanek

[PATCH v14 4/6] test: add pointer compress tests to ring perf test

2024-06-07 Thread Paul Szczepanek
. 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 Reviewed-by

[PATCH v14 5/6] docs: add pointer compression guide

2024-06-07 Thread Paul Szczepanek
Documentation added in the prog guide for the new utility functions for pointer compression showing example code and potential usecases. Signed-off-by: Paul Szczepanek Reviewed-by: Honnappa Nagarahalli Reviewed-by: Nathan Brown Reviewed-by: Jack Bond-Preston --- MAINTAINERS

[PATCH v14 6/6] test: add unit test for ptr compression

2024-06-07 Thread Paul Szczepanek
Test compresses and decompresses pointers with various combinations of memory regions and alignments and verifies the pointers are recovered correctly. Additionally tests helper macros perform calculations correctly. Signed-off-by: Paul Szczepanek Reviewed-by: Honnappa Nagarahalli Reviewed-by

Re: [PATCH v13 2/6] mempool: add functions to get extra mempool info

2024-06-07 Thread Paul Szczepanek
On 06/06/2024 13:28, Konstantin Ananyev wrote: > > >> 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

[PATCH v15 1/6] lib: allow libraries with no sources

2024-06-11 Thread Paul Szczepanek
Allow header only libraries. Signed-off-by: Paul Szczepanek Reviewed-by: Honnappa Nagarahalli Acked-by: Bruce Richardson --- lib/meson.build | 16 1 file changed, 16 insertions(+) diff --git a/lib/meson.build b/lib/meson.build index 179a272932..7c90602bf5 100644 --- a/lib

[PATCH v15 0/6] add pointer compression API

2024-06-11 Thread Paul Szczepanek
rte_mempool_get_mem_range in a struct * added consts to function parameters where appropriate v15 * fix whitespace in rel notes * move parameter check to after variable declaration * change the naming of the range variable in macros * improve doxygen Paul Szczepanek (6): lib: allow libraries with no

[PATCH v15 2/6] mempool: add functions to get extra mempool info

2024-06-11 Thread Paul Szczepanek
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 Reviewed-by: Jack Bond-Preston

[PATCH v15 3/6] ptr_compress: add pointer compression library

2024-06-11 Thread Paul Szczepanek
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 Signed-off-by: Paul Szczepanek

[PATCH v15 5/6] docs: add pointer compression guide

2024-06-11 Thread Paul Szczepanek
Documentation added in the prog guide for the new utility functions for pointer compression showing example code and potential usecases. Signed-off-by: Paul Szczepanek Reviewed-by: Honnappa Nagarahalli Reviewed-by: Nathan Brown Reviewed-by: Jack Bond-Preston --- MAINTAINERS

[PATCH v15 4/6] test: add pointer compress tests to ring perf test

2024-06-11 Thread Paul Szczepanek
. 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 Reviewed-by

[PATCH v15 6/6] test: add unit test for ptr compression

2024-06-11 Thread Paul Szczepanek
Test compresses and decompresses pointers with various combinations of memory regions and alignments and verifies the pointers are recovered correctly. Additionally tests helper macros perform calculations correctly. Signed-off-by: Paul Szczepanek Reviewed-by: Honnappa Nagarahalli Reviewed-by

Re: [PATCH v14 2/6] mempool: add functions to get extra mempool info

2024-06-11 Thread Paul Szczepanek
On 10/06/2024 15:24, Konstantin Ananyev wrote: [snip] > > With that changes in place: > Acked-by: Konstantin Ananyev > I have applied your comments in v15. [snip] >> + >> +size_t rte_mempool_get_obj_alignment(const struct rte_mempool *mp) >> +{ >> +if (mp == NULL) >> +retur

Re: [PATCH v14 3/6] ptr_compress: add pointer compression library

2024-06-11 Thread Paul Szczepanek
On 10/06/2024 16:18, David Marchand wrote: > Hello, > > On Fri, Jun 7, 2024 at 5:10 PM Paul Szczepanek > wrote: >> >> Add a new utility header for compressing pointers. The provided >> functions can store pointers as 32-bit or 16-bit offsets. >> >> T

Re: [PATCH v15 0/6] add pointer compression API

2024-06-17 Thread Paul Szczepanek
On 17/06/2024 11:02, David Marchand wrote: > Hello Paul, > > On Fri, Jun 14, 2024 at 12:28 PM David Marchand > wrote: >> Even if this library only contains a header, with no tie to other >> public DPDK API, this library should be optional. >> If no objection, please work on this change for -rc

[PATCH v1] ptr_compress: fix offset to use portable type

2024-06-19 Thread Paul Szczepanek
Fix the type of offset to use portable uintptr_t instead of uint64_t. Fixes: 077596a4b077 ("ptr_compress: add pointer compression library") Reviewed-by: Nick Connolly Signed-off-by: Paul Szczepanek --- lib/ptr_compress/rte_ptr_compress.h | 6 +++--- 1 file changed, 3 insert

[PATCH v3 0/3] add pointer compression API

2023-10-31 Thread Paul Szczepanek
to keep runtime short * fixed pointer size warning on 32-bit arch v3: * added 16 bit versions of compression functions and tests * added documentation of these new utility functions in the EAL guide Paul Szczepanek (3): eal: add pointer compression functions test: add pointer compress tests to

[PATCH v3 3/3] docs: add pointer compression to the EAL guide

2023-10-31 Thread Paul Szczepanek
Documentation added in the EAL guide for the new utility functions for pointer compression showing example code and potential usecases Signed-off-by: Paul Szczepanek Reviewed-by: Honnappa Nagarahalli --- .../prog_guide/env_abstraction_layer.rst | 142 ++ 1 file changed

[PATCH v3 2/3] test: add pointer compress tests to ring perf test

2023-10-31 Thread Paul Szczepanek
. 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 Reviewed-by

[PATCH v3 1/3] eal: add pointer compression functions

2023-10-31 Thread Paul Szczepanek
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 Signed-off-by: Paul Szczepanek Signed

[PATCH v4 0/4] add pointer compression API

2023-11-01 Thread Paul Szczepanek
original numbers to keep runtime short * fixed pointer size warning on 32-bit arch v3: * added 16-bit versions of compression functions and tests * added documentation of these new utility functions in the EAL guide v4: * added unit test * fix bug in NEON implementation of 32-bit decompress Paul

[PATCH v4 2/4] test: add pointer compress tests to ring perf test

2023-11-01 Thread Paul Szczepanek
. 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 Reviewed-by

[PATCH v4 4/4] test: add unit test for ptr compression

2023-11-01 Thread Paul Szczepanek
Test compresses and decompresses pointers with various combinations of memory regions and alignments and verifies the pointers are recovered correctly. Signed-off-by: Paul Szczepanek --- app/test/meson.build | 1 + app/test/test_eal_ptr_compress.c | 108

[PATCH v4 1/4] eal: add pointer compression functions

2023-11-01 Thread Paul Szczepanek
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 Signed-off-by: Paul Szczepanek Signed

[PATCH v4 3/4] docs: add pointer compression to the EAL guide

2023-11-01 Thread Paul Szczepanek
Documentation added in the EAL guide for the new utility functions for pointer compression showing example code and potential usecases Signed-off-by: Paul Szczepanek Reviewed-by: Honnappa Nagarahalli --- .../prog_guide/env_abstraction_layer.rst | 142 ++ 1 file changed

Re: [PATCH v3 0/3] add pointer compression API

2023-11-01 Thread Paul Szczepanek
On 01/11/2023 07:42, Morten Brørup wrote: From: Paul Szczepanek [mailto:paul.szczepa...@arm.com] Sent: Tuesday, 31 October 2023 19.11 [...] In a more realistic mock application running the l3 forwarding dpdk example that works in pipeline mode this translated into a ~5% throughput increase on

Re: [PATCH v3] config/arm: update aarch32 build with gcc13

2023-11-01 Thread Paul Szczepanek
error('No suitable armv8 march version found.') endif @@ -741,7 +747,7 @@ if update_flags # apply supported compiler options if part_number_config.has_key('compiler_options') foreach flag: part_number_config['compiler_options'] -if cc.has_argument(flag) +if cc.has_multi_arguments(machine_args + [flag]) machine_args += flag else warning('Configuration compiler option ' + Reviewed-by: Paul Szczepanek

[PATCH v5 0/4] add pointer compression API

2023-11-01 Thread Paul Szczepanek
: * disable NEON and SVE implementation on AARCH32 due to wrong pointer size Paul Szczepanek (4): eal: add pointer compression functions test: add pointer compress tests to ring perf test docs: add pointer compression to the EAL guide test: add unit test for ptr compression .mailmap

[PATCH v5 1/4] eal: add pointer compression functions

2023-11-01 Thread Paul Szczepanek
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 Signed-off-by: Paul Szczepanek Signed

[PATCH v5 3/4] docs: add pointer compression to the EAL guide

2023-11-01 Thread Paul Szczepanek
Documentation added in the EAL guide for the new utility functions for pointer compression showing example code and potential usecases. Signed-off-by: Paul Szczepanek Reviewed-by: Honnappa Nagarahalli --- .../prog_guide/env_abstraction_layer.rst | 142 ++ 1 file changed

[PATCH v5 2/4] test: add pointer compress tests to ring perf test

2023-11-01 Thread Paul Szczepanek
. 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 Reviewed-by

[PATCH v5 4/4] test: add unit test for ptr compression

2023-11-01 Thread Paul Szczepanek
Test compresses and decompresses pointers with various combinations of memory regions and alignments and verifies the pointers are recovered correctly. Signed-off-by: Paul Szczepanek --- app/test/meson.build | 1 + app/test/test_eal_ptr_compress.c | 108

[RFC v1 0/1] allow header only libraries

2024-03-06 Thread Paul Szczepanek
The current devtools has a check that errors on any library (except drivers library which is exempted) that does not export any symbols. I want to create a header only library. I want to have the check ignore libraries which have no `global:` section. Paul Szczepanek (1): devtools: allow

[RFC v1 1/1] devtools: allow libraries with no global section

2024-03-06 Thread Paul Szczepanek
If a library has no global section in the version.map allow it not to have symbols and not report it as an error. This happens if a library doesn't export any functions if they're all inline. Signed-off-by: Paul Szczepanek --- devtools/check-symbol-maps.sh | 4 +++- 1 file changed, 3

[PATCH v1 0/1] allow libraries with no sources

2024-03-06 Thread Paul Szczepanek
I want to add library which is header only. Attempting to build such a a library causes errors during checks. This skips over building libraries while retaining other library functionality. The added lines are the first and last 5. The rest is indentation. Paul Szczepanek (1): lib: allow

[PATCH v1 1/1] lib: allow libraries with no sources

2024-03-06 Thread Paul Szczepanek
Allow header only libraries. Signed-off-by: Paul Szczepanek Reviewed-by: Dhruv Tripathi --- lib/meson.build | 176 +--- 1 file changed, 91 insertions(+), 85 deletions(-) diff --git a/lib/meson.build b/lib/meson.build index 4fb01f059b..0fcf3336d1

Re: [RFC v1 1/1] devtools: allow libraries with no global section

2024-03-06 Thread Paul Szczepanek
On 06/03/2024 16:51, David Marchand wrote: On Wed, Mar 6, 2024 at 5:40 PM Bruce Richardson wrote: On Wed, Mar 06, 2024 at 05:14:15PM +0100, David Marchand wrote: On Wed, Mar 6, 2024 at 3:36 PM Paul Szczepanek wrote: If a library has no global section in the version.map allow it not to

Re: [PATCH v5 0/4] add pointer compression API

2024-03-06 Thread Paul Szczepanek
On 02/03/2024 10:33, Morten Brørup wrote: I think that a misconception that arch specific optimizations (such as SIMD code) required stuff to go into EAL has been prevailing, and this misconception is a main reason why EAL has become so bloated. Moving features like pointer compression out of E

[PATCH v7 0/4] add pointer compression API

2024-03-07 Thread Paul Szczepanek
: * disable NEON and SVE implementation on AARCH32 due to wrong pointer size v6: * added example usage to commit message of the initial commit v7: * rebase to remove clashing mailmap changes v8: * put ptr compress into its own library * add depends-on tag * remove copyright bumps * typos Paul Szczepanek (4

[PATCH v8 1/4] ptr_compress: add pointer compression library

2024-03-07 Thread Paul Szczepanek
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 Signed-off-by: Paul Szczepanek

[PATCH v8 2/4] test: add pointer compress tests to ring perf test

2024-03-07 Thread Paul Szczepanek
. 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 Reviewed-by

[PATCH v8 3/4] docs: add pointer compression guide

2024-03-07 Thread Paul Szczepanek
Documentation added in the prog guide for the new utility functions for pointer compression showing example code and potential usecases. Signed-off-by: Paul Szczepanek Reviewed-by: Honnappa Nagarahalli Reviewed-by: Nathan Brown --- doc/guides/prog_guide/ptr_compress_lib.rst | 144

  1   2   >