|
Revision tags: v24.07-rc2, v24.07-rc1, v24.03, v24.03-rc4, v24.03-rc3, v24.03-rc2 |
|
| #
c6552d9a |
| 04-Mar-2024 |
Tyler Retzlaff <roretzla@linux.microsoft.com> |
lib: move alignment attribute on types for MSVC
The current location used for __rte_aligned(a) for alignment of types is not compatible with MSVC. There is only a single location accepted by both to
lib: move alignment attribute on types for MSVC
The current location used for __rte_aligned(a) for alignment of types is not compatible with MSVC. There is only a single location accepted by both toolchains.
The standard offers no alignment facility that compatibly interoperates with C and C++ but it may be achieved by relocating the placement of __rte_aligned(a) to the aforementioned location accepted by all currently supported toolchains.
To allow alignment for both compilers, do the following:
* Expand __rte_aligned(a) to __declspec(align(a)) when building with MSVC.
* Move __rte_aligned from the end of {struct,union} definitions to be between {struct,union} and tag.
The placement between {struct,union} and the tag allows the desired alignment to be imparted on the type regardless of the toolchain being used for all of GCC, LLVM, MSVC compilers building both C and C++.
Note: this move has an additional benefit as Doxygen is not confused anymore like for the rte_event_vector struct definition.
Signed-off-by: Tyler Retzlaff <roretzla@linux.microsoft.com> Acked-by: Morten Brørup <mb@smartsharesystems.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Konstantin Ananyev <konstantin.ananyev@huawei.com> Acked-by: Chengwen Feng <fengchengwen@huawei.com> Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com> Signed-off-by: David Marchand <david.marchand@redhat.com>
show more ...
|
| #
e9fd1ebf |
| 04-Mar-2024 |
Tyler Retzlaff <roretzla@linux.microsoft.com> |
lib: use C11 alignment attribute on variables
The current location used for __rte_aligned(a) for alignment of variables is not compatible with MSVC.
For variables, standard C11 offers alignas(a) su
lib: use C11 alignment attribute on variables
The current location used for __rte_aligned(a) for alignment of variables is not compatible with MSVC.
For variables, standard C11 offers alignas(a) supported by conformant compilers i.e. both MSVC and GCC.
Replace use of __rte_aligned(a) on variables/fields with alignas(a).
Signed-off-by: Tyler Retzlaff <roretzla@linux.microsoft.com> Acked-by: Morten Brørup <mb@smartsharesystems.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Konstantin Ananyev <konstantin.ananyev@huawei.com> Signed-off-by: David Marchand <david.marchand@redhat.com>
show more ...
|
|
Revision tags: v24.03-rc1 |
|
| #
ae67895b |
| 08-Dec-2023 |
David Marchand <david.marchand@redhat.com> |
lib: add more logging helpers
Add helpers for logging messages in libraries instead of calling RTE_LOG() directly. Those helpers take care of adding a \n: this will make the transition to RTE_LOG_LI
lib: add more logging helpers
Add helpers for logging messages in libraries instead of calling RTE_LOG() directly. Those helpers take care of adding a \n: this will make the transition to RTE_LOG_LINE trivial.
Note: - for acl and sched libraries that still has some debug multilines messages, a direct call to RTE_LOG is used: this will make it easier to notice such special cases,
Signed-off-by: David Marchand <david.marchand@redhat.com>
show more ...
|
| #
225af1dc |
| 05-Dec-2023 |
Stephen Hemminger <stephen@networkplumber.org> |
sched: use a dynamic logtype
Use dynamic log type for sched library.
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
|
|
Revision tags: v23.11, v23.11-rc4, v23.11-rc3, v23.11-rc2, v23.11-rc1 |
|
| #
3d4e27fd |
| 25-Aug-2023 |
David Marchand <david.marchand@redhat.com> |
use abstracted bit count functions
Now that DPDK provides such bit count functions, make use of them.
This patch was prepared with a "brutal" commandline:
$ old=__builtin_clzll; new=rte_clz64; g
use abstracted bit count functions
Now that DPDK provides such bit count functions, make use of them.
This patch was prepared with a "brutal" commandline:
$ old=__builtin_clzll; new=rte_clz64; git grep -lw $old :^lib/eal/include/rte_bitops.h | xargs sed -i -e "s#\<$old\>#$new#g" $ old=__builtin_clz; new=rte_clz32; git grep -lw $old :^lib/eal/include/rte_bitops.h | xargs sed -i -e "s#\<$old\>#$new#g"
$ old=__builtin_ctzll; new=rte_ctz64; git grep -lw $old :^lib/eal/include/rte_bitops.h | xargs sed -i -e "s#\<$old\>#$new#g" $ old=__builtin_ctz; new=rte_ctz32; git grep -lw $old :^lib/eal/include/rte_bitops.h | xargs sed -i -e "s#\<$old\>#$new#g"
$ old=__builtin_popcountll; new=rte_popcount64; git grep -lw $old :^lib/eal/include/rte_bitops.h | xargs sed -i -e "s#\<$old\>#$new#g" $ old=__builtin_popcount; new=rte_popcount32; git grep -lw $old :^lib/eal/include/rte_bitops.h | xargs sed -i -e "s#\<$old\>#$new#g"
Then inclusion of rte_bitops.h was added were necessary.
Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Tyler Retzlaff <roretzla@linux.microsoft.com> Reviewed-by: Long Li <longli@microsoft.com>
show more ...
|
| #
971d2b57 |
| 11-Aug-2023 |
Tyler Retzlaff <roretzla@linux.microsoft.com> |
remove C11 compatibility macro
C11 conformant compiler is documented as a minimum requirement to build and consume DPDK. Remove use of RTE_STD_C11 macro marking use of C11 features with __extension_
remove C11 compatibility macro
C11 conformant compiler is documented as a minimum requirement to build and consume DPDK. Remove use of RTE_STD_C11 macro marking use of C11 features with __extension__ since it is no longer necessary and then remove definition of RTE_STD_C11 macro.
Signed-off-by: Tyler Retzlaff <roretzla@linux.microsoft.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com> Reviewed-by: Morten Brørup <mb@smartsharesystems.com>
show more ...
|
|
Revision tags: v23.07, v23.07-rc4, v23.07-rc3, v23.07-rc2 |
|
| #
3e4c5be9 |
| 14-Jun-2023 |
Thomas Monjalon <thomas@monjalon.net> |
lib: remove extra asterisks ending comment blocks
A comment should always be terminated with */
Extra asterisks were found with this kind of command: git grep '\* *\*/' lib
Signed-off-by: Thomas
lib: remove extra asterisks ending comment blocks
A comment should always be terminated with */
Extra asterisks were found with this kind of command: git grep '\* *\*/' lib
Signed-off-by: Thomas Monjalon <thomas@monjalon.net> Acked-by: Bruce Richardson <bruce.richardson@intel.com>
show more ...
|
| #
b4f0a9bb |
| 14-Jun-2023 |
Thomas Monjalon <thomas@monjalon.net> |
lib: remove blank line ending comment blocks
At the end of a comment, no need for an extra line.
This pattern was fixed with the following command: git ls lib | xargs sed -i '/^ *\* *$/{N;/ *\*\/ *
lib: remove blank line ending comment blocks
At the end of a comment, no need for an extra line.
This pattern was fixed with the following command: git ls lib | xargs sed -i '/^ *\* *$/{N;/ *\*\/ *$/D;}'
Signed-off-by: Thomas Monjalon <thomas@monjalon.net> Acked-by: Bruce Richardson <bruce.richardson@intel.com> Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com>
show more ...
|
|
Revision tags: v23.07-rc1, v23.03, v23.03-rc4, v23.03-rc3, v23.03-rc2, v23.03-rc1 |
|
| #
bc3b950d |
| 07-Feb-2023 |
Megha Ajmera <megha.ajmera@intel.com> |
sched: fix alignment of structs in subport
Big structures like bitmap, pipes and queues in subport are addressed using offset of 'memory' field in subport structures. This means no other variable sh
sched: fix alignment of structs in subport
Big structures like bitmap, pipes and queues in subport are addressed using offset of 'memory' field in subport structures. This means no other variable should be added after 'memory' variable or else addressing of such structs like bitmap etc. become incorrect.
Realigned tc_ov_enabled variable in subport structure.
Fixes: f5e60154ade ("sched: enable traffic class oversubscription conditionally") Cc: stable@dpdk.org
Signed-off-by: Megha Ajmera <megha.ajmera@intel.com> Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
show more ...
|
|
Revision tags: v22.11, v22.11-rc4, v22.11-rc3, v22.11-rc2 |
|
| #
25eae0f7 |
| 28-Oct-2022 |
Megha Ajmera <megha.ajmera@intel.com> |
sched: fix subport profile configuration
In rte_sched_subport_config() API, subport_profile_id is not set correctly.
Fixes: ac6fcb841b0f ("sched: update subport rate dynamically") Cc: stable@dpdk.o
sched: fix subport profile configuration
In rte_sched_subport_config() API, subport_profile_id is not set correctly.
Fixes: ac6fcb841b0f ("sched: update subport rate dynamically") Cc: stable@dpdk.org
Signed-off-by: Megha Ajmera <megha.ajmera@intel.com> Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
show more ...
|
|
Revision tags: v22.11-rc1, v22.07 |
|
| #
a61b3196 |
| 15-Jul-2022 |
Marcin Danilewicz <marcinx.danilewicz@intel.com> |
sched: enable congestion management at runtime
Added changes to enable CMAN (RED or PIE) at init from profile configuration file.
By default CMAN code is enabled but not in use, when there is no RE
sched: enable congestion management at runtime
Added changes to enable CMAN (RED or PIE) at init from profile configuration file.
By default CMAN code is enabled but not in use, when there is no RED or PIE profile configured.
Signed-off-by: Marcin Danilewicz <marcinx.danilewicz@intel.com> Acked-by: Jasvinder Singh <jasvinder.singh@intel.com>
show more ...
|
|
Revision tags: v22.07-rc4, v22.07-rc3, v22.07-rc2, v22.07-rc1 |
|
| #
f5e60154 |
| 31-May-2022 |
Marcin Danilewicz <marcinx.danilewicz@intel.com> |
sched: enable traffic class oversubscription conditionally
Added new API for flag to enable or disable TC oversubscription for best effort traffic class at subport level.
By default TC OV is enable
sched: enable traffic class oversubscription conditionally
Added new API for flag to enable or disable TC oversubscription for best effort traffic class at subport level.
By default TC OV is enabled.
Signed-off-by: Marcin Danilewicz <marcinx.danilewicz@intel.com> Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
show more ...
|
|
Revision tags: v22.03, v22.03-rc4, v22.03-rc3, v22.03-rc2 |
|
| #
d91c4b1b |
| 22-Feb-2022 |
Megha Ajmera <megha.ajmera@intel.com> |
sched: enable traffic class oversubscription unconditionally
Removed RTE_SCHED_SUBPORT_TC_OV from rte_config.h. Best effort traffic class oversubscription is always enabled.
Signed-off-by: Megha Aj
sched: enable traffic class oversubscription unconditionally
Removed RTE_SCHED_SUBPORT_TC_OV from rte_config.h. Best effort traffic class oversubscription is always enabled.
Signed-off-by: Megha Ajmera <megha.ajmera@intel.com> Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
show more ...
|
| #
199d788e |
| 22-Feb-2022 |
Megha Ajmera <megha.ajmera@intel.com> |
sched: enable statistics unconditionally
Removed RTE_SCHED_COLLECT_STATS flag from rte_config.h. Stats collection is always enabled.
Signed-off-by: Megha Ajmera <megha.ajmera@intel.com> Acked-by: C
sched: enable statistics unconditionally
Removed RTE_SCHED_COLLECT_STATS flag from rte_config.h. Stats collection is always enabled.
Signed-off-by: Megha Ajmera <megha.ajmera@intel.com> Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
show more ...
|
| #
ec487c18 |
| 22-Feb-2022 |
Megha Ajmera <megha.ajmera@intel.com> |
sched: move grinder configuration
Grinder configuration is now moved to sched library.
Number of grinders can also modified by specifying RTE_SCHED_PORT_N_GRINDERS=N in CFLAGS, where N is number of
sched: move grinder configuration
Grinder configuration is now moved to sched library.
Number of grinders can also modified by specifying RTE_SCHED_PORT_N_GRINDERS=N in CFLAGS, where N is number of grinders.
Signed-off-by: Megha Ajmera <megha.ajmera@intel.com> Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
show more ...
|
| #
3cba7ced |
| 22-Feb-2022 |
Megha Ajmera <megha.ajmera@intel.com> |
sched: remove vector functions
Remove RTE_SCHED_VECTOR flag from rte_config.h. This flag is no longer useful. Only scalar version is supported.
Signed-off-by: Megha Ajmera <megha.ajmera@intel.com>
sched: remove vector functions
Remove RTE_SCHED_VECTOR flag from rte_config.h. This flag is no longer useful. Only scalar version is supported.
Signed-off-by: Megha Ajmera <megha.ajmera@intel.com> Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
show more ...
|
| #
30a1de10 |
| 15-Feb-2022 |
Sean Morrissey <sean.morrissey@intel.com> |
lib: remove unneeded header includes
These header includes have been flagged by the iwyu_tool and removed.
Signed-off-by: Sean Morrissey <sean.morrissey@intel.com>
|
|
Revision tags: v22.03-rc1 |
|
| #
7be78d02 |
| 29-Nov-2021 |
Josh Soref <jsoref@gmail.com> |
fix spelling in comments and strings
The tool comes from https://github.com/jsoref
Signed-off-by: Josh Soref <jsoref@gmail.com> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
|
|
Revision tags: v21.11, v21.11-rc4, v21.11-rc3 |
|
| #
4a6672c2 |
| 12-Nov-2021 |
Stephen Hemminger <stephen@networkplumber.org> |
fix spelling in comments and doxygen
Fix spelling errors in comments including doxygen found using codespell.
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org> Acked-by: Konstantin Anan
fix spelling in comments and doxygen
Fix spelling errors in comments including doxygen found using codespell.
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org> Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com> Acked-by: Vladimir Medvedkin <vladimir.medvedkin@intel.com> Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com> Acked-by: Ray Kinsella <mdr@ashroe.eu> Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com> Acked-by: Chenbo Xia <chenbo.xia@intel.com>
show more ...
|
|
Revision tags: v21.11-rc2 |
|
| #
44c730b0 |
| 04-Nov-2021 |
Wojciech Liguzinski <wojciechx.liguzinski@intel.com> |
sched: add PIE based congestion management
Implement PIE based congestion management based on rfc8033.
The Proportional Integral Controller Enhanced (PIE) algorithm works by proactively dropping pa
sched: add PIE based congestion management
Implement PIE based congestion management based on rfc8033.
The Proportional Integral Controller Enhanced (PIE) algorithm works by proactively dropping packets randomly. PIE is implemented as more advanced queue management is required to address the bufferbloat problem and provide desirable quality of service to users.
Tests for PIE code added to test application. Added PIE related information to documentation.
Signed-off-by: Wojciech Liguzinski <wojciechx.liguzinski@intel.com> Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com> Acked-by: Jasvinder Singh <jasvinder.singh@intel.com>
show more ...
|
|
Revision tags: v21.11-rc1, v21.08, v21.08-rc4, v21.08-rc3, v21.08-rc2, v21.08-rc1, v21.05, v21.05-rc4, v21.05-rc3, v21.05-rc2 |
|
| #
c6ccd1e3 |
| 23-Apr-2021 |
Huisong Li <lihuisong@huawei.com> |
sched: rework configuration failure handling
Currently, rte_sched_free_memory() is called multiple times by the exception handling code in rte_sched_subport_config() and rte_sched_pipe_config().
Th
sched: rework configuration failure handling
Currently, rte_sched_free_memory() is called multiple times by the exception handling code in rte_sched_subport_config() and rte_sched_pipe_config().
This patch optimizes them into a unified outlet to free memory.
Fixes: ac6fcb841b0f ("sched: update subport rate dynamically") Fixes: 34a90f86657c ("sched: modify pipe functions for config flexibility") Fixes: ce7c4fd7c2ac ("sched: add pipe config to subport level") Cc: stable@dpdk.org
Signed-off-by: Huisong Li <lihuisong@huawei.com> Signed-off-by: Min Hu (Connor) <humin29@huawei.com> Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
show more ...
|
| #
a042481e |
| 23-Apr-2021 |
Huisong Li <lihuisong@huawei.com> |
sched: fix profile allocation failure handling
This patch fixes return value judgment when allocate memory to store the subport profile, and releases memory of 'rte_sched_port' if code fails to appl
sched: fix profile allocation failure handling
This patch fixes return value judgment when allocate memory to store the subport profile, and releases memory of 'rte_sched_port' if code fails to apply for this memory.
Fixes: 0ea4c6afcaf1 ("sched: add subport profile table") Cc: stable@dpdk.org
Signed-off-by: Huisong Li <lihuisong@huawei.com> Signed-off-by: Min Hu (Connor) <humin29@huawei.com> Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
show more ...
|
|
Revision tags: v21.05-rc1 |
|
| #
3a91d2d1 |
| 21-Apr-2021 |
Savinay Dharmappa <savinay.dharmappa@intel.com> |
sched: fix traffic class oversubscription parameter
This patch fixes the traffic class oversubscription watermark value by initialising it with computed value of maximum watermark.
Fixes: ac6fcb841
sched: fix traffic class oversubscription parameter
This patch fixes the traffic class oversubscription watermark value by initialising it with computed value of maximum watermark.
Fixes: ac6fcb841b0f ("sched: update subport rate dynamically") Cc: stable@dpdk.org
Signed-off-by: Savinay Dharmappa <savinay.dharmappa@intel.com> Acked-by: Jasvinder Singh <jasvinder.singh@intel.com>
show more ...
|
| #
99a2dd95 |
| 20-Apr-2021 |
Bruce Richardson <bruce.richardson@intel.com> |
lib: remove librte_ prefix from directory names
There is no reason for the DPDK libraries to all have 'librte_' prefix on the directory names. This prefix makes the directory names longer and also m
lib: remove librte_ prefix from directory names
There is no reason for the DPDK libraries to all have 'librte_' prefix on the directory names. This prefix makes the directory names longer and also makes it awkward to add features referring to individual libraries in the build - should the lib names be specified with or without the prefix. Therefore, we can just remove the library prefix and use the library's unique name as the directory name, i.e. 'eal' rather than 'librte_eal'
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
show more ...
|