|
Revision tags: v24.11, v24.11-rc4, v24.11-rc3, v24.11-rc2, v24.11-rc1 |
|
| #
2dff0bcd |
| 11-Oct-2024 |
Vamsi Attunuru <vattunuru@marvell.com> |
dmadev: add strict priority configuration
Some DMA controllers offer the ability to configure priority level for the DMA channels, allowing for the prioritization of DMA command execution based on c
dmadev: add strict priority configuration
Some DMA controllers offer the ability to configure priority level for the DMA channels, allowing for the prioritization of DMA command execution based on channel importance.
This patch supports such strict priority configuration. If the dmadev supports, it should advertise the capability flag RTE_DMA_CAPA_PRI_POLICY_SP, then application could enable strict priority configuration.
Signed-off-by: Vamsi Attunuru <vattunuru@marvell.com> Signed-off-by: Amit Prakash Shukla <amitprakashs@marvell.com> Acked-by: Anoob Joseph <anoobj@marvell.com> Acked-by: Chengwen Feng <fengchengwen@huawei.com>
show more ...
|
| #
2980a27e |
| 12-Oct-2024 |
Chengwen Feng <fengchengwen@huawei.com> |
dmadev: clean parameter verification
Make sure to verify the 'dev_id' parameter before using them. Note: there is no actual problem with the current code, but it is recommended to clean it up.
Sign
dmadev: clean parameter verification
Make sure to verify the 'dev_id' parameter before using them. Note: there is no actual problem with the current code, but it is recommended to clean it up.
Signed-off-by: Chengwen Feng <fengchengwen@huawei.com>
show more ...
|
| #
e5389d42 |
| 12-Oct-2024 |
Chengwen Feng <fengchengwen@huawei.com> |
dmadev: fix potential null pointer access
When rte_dma_vchan_status(dev_id, vchan, NULL) is called, a null pointer access is triggered. This patch adds the null pointer checker.
Fixes: 5e0f85912754
dmadev: fix potential null pointer access
When rte_dma_vchan_status(dev_id, vchan, NULL) is called, a null pointer access is triggered. This patch adds the null pointer checker.
Fixes: 5e0f85912754 ("dmadev: add channel status check for testing use") Cc: stable@dpdk.org
Signed-off-by: Chengwen Feng <fengchengwen@huawei.com>
show more ...
|
|
Revision tags: v24.07, v24.07-rc4, v24.07-rc3, v24.07-rc2, v24.07-rc1, v24.03, v24.03-rc4 |
|
| #
c1590258 |
| 20-Mar-2024 |
Wenwu Ma <wenwux.ma@intel.com> |
dmadev: fix structure alignment
The structure rte_dma_dev needs to be aligned to the cache line, but the return value of malloc may not be aligned to the cache line. When we use memset to clear the
dmadev: fix structure alignment
The structure rte_dma_dev needs to be aligned to the cache line, but the return value of malloc may not be aligned to the cache line. When we use memset to clear the rte_dma_dev object, it may cause a segmentation fault in clang-x86-platform.
This is because clang uses the "vmovaps" assembly instruction for memset, which requires that the operands (rte_dma_dev objects) must aligned on a 16-byte boundary or a general-protection exception (#GP) is generated.
Therefore, either additional memory is applied for re-alignment, or the rte_dma_dev object does not require cache line alignment. The patch chooses the former option to fix the issue.
Fixes: b36970f2e13e ("dmadev: introduce DMA device library") Cc: stable@dpdk.org
Signed-off-by: Wenwu Ma <wenwux.ma@intel.com> Reviewed-by: Chengwen Feng <fengchengwen@huawei.com>
show more ...
|
|
Revision tags: v24.03-rc3, v24.03-rc2, v24.03-rc1 |
|
| #
905f8335 |
| 24-Jan-2024 |
Ferruh Yigit <ferruh.yigit@amd.com> |
dmadev: fix calloc parameters
gcc [1] generates warning [2] about calloc usage, because calloc parameter order is wrong, fixing it by replacing parameters.
[1] gcc (GCC) 14.0.1 20240124 (experiment
dmadev: fix calloc parameters
gcc [1] generates warning [2] about calloc usage, because calloc parameter order is wrong, fixing it by replacing parameters.
[1] gcc (GCC) 14.0.1 20240124 (experimental)
[2] Compiling C object lib/librte_dmadev.a.p/dmadev_rte_dmadev.c.o ../lib/dmadev/rte_dmadev.c: In function ‘dmadev_handle_dev_dump’: ../lib/dmadev/rte_dmadev.c:1033:29: warning: ‘calloc’ sizes specified with ‘sizeof’ in the earlier argument and not in the later argument [-Wcalloc-transposed-args] 1033 | buf = calloc(sizeof(char), RTE_TEL_MAX_SINGLE_STRING_LEN); | ^~~~
Fixes: 94043b04212a ("dmadev: support telemetry dump dmadev") Cc: stable@dpdk.org
Signed-off-by: Ferruh Yigit <ferruh.yigit@amd.com> Acked-by: Morten Brørup <mb@smartsharesystems.com> Reviewed-by: Chengwen Feng <fengchengwen@huawei.com>
show more ...
|
|
Revision tags: v23.11 |
|
| #
ec932cb9 |
| 28-Nov-2023 |
Chengwen Feng <fengchengwen@huawei.com> |
dmadev: add telemetry capability for m2d auto free
The m2d auto free capability was introduced in [1], but it lacks the support in telemetry.
[1] 877cb3e3742 dmadev: add buffer auto free offload
S
dmadev: add telemetry capability for m2d auto free
The m2d auto free capability was introduced in [1], but it lacks the support in telemetry.
[1] 877cb3e3742 dmadev: add buffer auto free offload
Signed-off-by: Chengwen Feng <fengchengwen@huawei.com>
show more ...
|
| #
c9e4d060 |
| 19-Dec-2023 |
Amit Prakash Shukla <amitprakashs@marvell.com> |
dmadev: get device structure using ID
DMA library has a function to get DMA device based on device name but there is no function to get DMA device using device ID.
Added a function that lookup for
dmadev: get device structure using ID
DMA library has a function to get DMA device based on device name but there is no function to get DMA device using device ID.
Added a function that lookup for the DMA device using device ID and returns the pointer to the same.
Signed-off-by: Amit Prakash Shukla <amitprakashs@marvell.com> Acked-by: Chengwen Feng <fengchengwen@huawei.com> Acked-by: Anoob Joseph <anoobj@marvell.com>
show more ...
|
| #
65b078dc |
| 24-Jan-2024 |
David Marchand <david.marchand@redhat.com> |
lib: remove duplicate prefix in logs
RTE_LOG() macros prefixe the log messages based on the logtype. This results in logs like:
TMTY: TELEMETRY: Attempting socket bind to path '/run/user/...' TMTY:
lib: remove duplicate prefix in logs
RTE_LOG() macros prefixe the log messages based on the logtype. This results in logs like:
TMTY: TELEMETRY: Attempting socket bind to path '/run/user/...' TMTY: TELEMETRY: Socket creation and binding ok TMTY: TELEMETRY: Telemetry initialized ok
Remove redundancy in some libraries following their conversion to RTE_LOG/RTE_LOG_LINE.
Note: for consistency, dmadev logs are now prefixed with "DMADEV: " instead of a too generic "dma: ".
Fixes: 97433132c2ed ("lib: use per line logging in helpers") Fixes: 0e21c7c07d62 ("lib: replace logging helpers")
Reported-by: Thomas Monjalon <thomas@monjalon.net> Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Morten Brørup <mb@smartsharesystems.com> Acked-by: Ciara Power <ciara.power@intel.com> Reviewed-by: Chengwen Feng <fengchengwen@huawei.com>
show more ...
|
|
Revision tags: v23.11-rc4 |
|
| #
97433132 |
| 17-Nov-2023 |
David Marchand <david.marchand@redhat.com> |
lib: use per line logging in helpers
Use RTE_LOG_LINE in existing macros that append a \n. This will help catching unwanted newline character or multilines in log messages.
Signed-off-by: David Mar
lib: use per line logging in helpers
Use RTE_LOG_LINE in existing macros that append a \n. This will help catching unwanted newline character or multilines in log messages.
Signed-off-by: David Marchand <david.marchand@redhat.com> Reviewed-by: Chengwen Feng <fengchengwen@huawei.com> Reviewed-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
show more ...
|
| #
ae282b06 |
| 17-Nov-2023 |
David Marchand <david.marchand@redhat.com> |
lib: remove redundant newline from logs
Fix places where two newline characters may be logged.
Cc: stable@dpdk.org
Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Stephen Hemmi
lib: remove redundant newline from logs
Fix places where two newline characters may be logged.
Cc: stable@dpdk.org
Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Stephen Hemminger <stephen@networkplumber.org> Reviewed-by: Chengwen Feng <fengchengwen@huawei.com> Acked-by: Mattias Rönnblom <mattias.ronnblom@ericsson.com>
show more ...
|
|
Revision tags: v23.11-rc3, v23.11-rc2 |
|
| #
81da5a6b |
| 20-Oct-2023 |
Chengwen Feng <fengchengwen@huawei.com> |
dmadev: add trace points in control path API
Add tracepoints at control path APIs for tracing support.
Signed-off-by: Chengwen Feng <fengchengwen@huawei.com> Acked-by: Morten Brørup <mb@smartshares
dmadev: add trace points in control path API
Add tracepoints at control path APIs for tracing support.
Signed-off-by: Chengwen Feng <fengchengwen@huawei.com> Acked-by: Morten Brørup <mb@smartsharesystems.com>
show more ...
|
|
Revision tags: 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 ...
|
|
Revision tags: v23.07, v23.07-rc4, v23.07-rc3, v23.07-rc2, v23.07-rc1, v23.03, v23.03-rc4, v23.03-rc3, v23.03-rc2, v23.03-rc1 |
|
| #
af0785a2 |
| 12-Jan-2023 |
Bruce Richardson <bruce.richardson@intel.com> |
rename telemetry u64 functions to uint versions
Within the DPDK code-base, replace all occurrences of "rte_tel_data_add_array_u64" with "rte_tel_data_add_array_uint", and similarly replace all occur
rename telemetry u64 functions to uint versions
Within the DPDK code-base, replace all occurrences of "rte_tel_data_add_array_u64" with "rte_tel_data_add_array_uint", and similarly replace all occurrences of "rte_tel_data_add_dict_u64" with "rte_tel_data_add_dict_uint". This allows us to later mark the older functions as deprecated without hitting warnings.
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Ciara Power <ciara.power@intel.com>
show more ...
|
|
Revision tags: v22.11, v22.11-rc4, v22.11-rc3, v22.11-rc2, v22.11-rc1 |
|
| #
94043b04 |
| 13-Sep-2022 |
Chengwen Feng <fengchengwen@huawei.com> |
dmadev: support telemetry dump dmadev
This patch supports telemetry dump dmadev.
Signed-off-by: Chengwen Feng <fengchengwen@huawei.com> Acked-by: Morten Brørup <mb@smartsharesystems.com>
|
| #
8f1d23ec |
| 23-Aug-2022 |
David Marchand <david.marchand@redhat.com> |
eal: deprecate RTE_FUNC_PTR_* macros
Those macros have no real value and are easily replaced with a simple if() block.
Existing users have been converted using a new cocci script. Deprecate them.
eal: deprecate RTE_FUNC_PTR_* macros
Those macros have no real value and are easily replaced with a simple if() block.
Existing users have been converted using a new cocci script. Deprecate them.
Signed-off-by: David Marchand <david.marchand@redhat.com>
show more ...
|
| #
72b452c5 |
| 27-Aug-2022 |
Dmitry Kozlyuk <dmitry.kozliuk@gmail.com> |
eal: remove unneeded includes from a public header
Do not include <ctype.h>, <errno.h>, and <stdlib.h> from <rte_common.h>, because they are not used by this file. Include the needed headers directl
eal: remove unneeded includes from a public header
Do not include <ctype.h>, <errno.h>, and <stdlib.h> from <rte_common.h>, because they are not used by this file. Include the needed headers directly from the files that need them.
Signed-off-by: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com>
show more ...
|
|
Revision tags: v22.07, v22.07-rc4, v22.07-rc3, v22.07-rc2, v22.07-rc1 |
|
| #
39b5ab60 |
| 01-Apr-2022 |
Sean Morrissey <sean.morrissey@intel.com> |
dmadev: add telemetry
Telemetry commands are now registered through the dmadev library for the gathering of DSA stats. The corresponding callback functions for listing dmadevs and providing info and
dmadev: add telemetry
Telemetry commands are now registered through the dmadev library for the gathering of DSA stats. The corresponding callback functions for listing dmadevs and providing info and stats for a specific dmadev are implemented in the dmadev library.
An example usage can be seen below:
Connecting to /var/run/dpdk/rte/dpdk_telemetry.v2 {"version": "DPDK 22.03.0-rc2", "pid": 2956551, "max_output_len": 16384} Connected to application: "dpdk-dma" --> / {"/": ["/", "/dmadev/info", "/dmadev/list", "/dmadev/stats", ...]} --> /dmadev/list {"/dmadev/list": [0, 1]} --> /dmadev/info,0 {"/dmadev/info": {"name": "0000:00:01.0", "nb_vchans": 1, "numa_node": 0, "max_vchans": 1, "max_desc": 4096, "min_desc": 32, "max_sges": 0, "capabilities": {"mem2mem": 1, "mem2dev": 0, "dev2mem": 0, ...}}} --> /dmadev/stats,0,0 {"/dmadev/stats": {"submitted": 0, "completed": 0, "errors": 0}}
Signed-off-by: Sean Morrissey <sean.morrissey@intel.com> Reviewed-by: Bruce Richardson <bruce.richardson@intel.com> Reviewed-by: Conor Walsh <conor.walsh@intel.com> Tested-by: Sunil Pai G <sunil.pai.g@intel.com> Tested-by: Kevin Laatz <kevin.laatz@intel.com> Acked-by: Chengwen Feng <fengchengwen@huawei.com>
show more ...
|
|
Revision tags: v22.03, v22.03-rc4, v22.03-rc3, v22.03-rc2, v22.03-rc1, v21.11, v21.11-rc4, v21.11-rc3, v21.11-rc2, v21.11-rc1 |
|
| #
c61c8282 |
| 21-Oct-2021 |
David Marchand <david.marchand@redhat.com> |
dmadev: hide devices array
No need to expose rte_dma_devices out of the dmadev library. Existing helpers should be enough, and inlines make use of rte_dma_fp_objs.
Signed-off-by: David Marchand <da
dmadev: hide devices array
No need to expose rte_dma_devices out of the dmadev library. Existing helpers should be enough, and inlines make use of rte_dma_fp_objs.
Signed-off-by: David Marchand <david.marchand@redhat.com> Reviewed-by: Chengwen Feng <fengchengwen@huawei.com> Tested-by: Conor Walsh <conor.walsh@intel.com> Acked-by: Kevin Laatz <kevin.laatz@intel.com>
show more ...
|
| #
2e348d8f |
| 13-Oct-2021 |
Bruce Richardson <bruce.richardson@intel.com> |
dmadev: add flag for error handling support
Due to HW or driver limitations, not all dmadevs may support full error handling e.g. safely managing and reporting an invalid address to a copy operation
dmadev: add flag for error handling support
Due to HW or driver limitations, not all dmadevs may support full error handling e.g. safely managing and reporting an invalid address to a copy operation. The skeleton dmadev, for example, being pure software will always seg-fault if passed an invalid address. To indicate the availability of safe error handling by a device, we add a capability flag for it.
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> Reviewed-by: Conor Walsh <conor.walsh@intel.com> Reviewed-by: Kevin Laatz <kevin.laatz@intel.com>
show more ...
|
| #
190f7e84 |
| 13-Oct-2021 |
Bruce Richardson <bruce.richardson@intel.com> |
dmadev: add device iterator
Add a function and wrapper macro to iterate over all DMA devices.
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> Reviewed-by: Conor Walsh <conor.walsh@inte
dmadev: add device iterator
Add a function and wrapper macro to iterate over all DMA devices.
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> Reviewed-by: Conor Walsh <conor.walsh@intel.com> Reviewed-by: Kevin Laatz <kevin.laatz@intel.com>
show more ...
|
| #
ea8cf0f8 |
| 13-Oct-2021 |
Kevin Laatz <kevin.laatz@intel.com> |
dmadev: add burst capacity API
Add a burst capacity check API to the dmadev library. This API is useful to applications which need to how many descriptors can be enqueued in the current batch. For e
dmadev: add burst capacity API
Add a burst capacity check API to the dmadev library. This API is useful to applications which need to how many descriptors can be enqueued in the current batch. For example, it could be used to determine whether all segments of a multi-segment packet can be enqueued in the same batch or not (to avoid half-offload of the packet).
Signed-off-by: Kevin Laatz <kevin.laatz@intel.com> Reviewed-by: Conor Walsh <conor.walsh@intel.com>
show more ...
|
| #
5e0f8591 |
| 13-Oct-2021 |
Bruce Richardson <bruce.richardson@intel.com> |
dmadev: add channel status check for testing use
Add in a function to check if a device or vchan has completed all jobs assigned to it, without gathering in the results. This is primarily for use in
dmadev: add channel status check for testing use
Add in a function to check if a device or vchan has completed all jobs assigned to it, without gathering in the results. This is primarily for use in testing, to allow the hardware to be in a known-state prior to gathering completions.
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> Reviewed-by: Conor Walsh <conor.walsh@intel.com> Reviewed-by: Kevin Laatz <kevin.laatz@intel.com>
show more ...
|
| #
2ece65f0 |
| 13-Oct-2021 |
Chengwen Feng <fengchengwen@huawei.com> |
dmadev: support multi-process
This patch add multi-process support for dmadev.
Signed-off-by: Chengwen Feng <fengchengwen@huawei.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com> Acked-b
dmadev: support multi-process
This patch add multi-process support for dmadev.
Signed-off-by: Chengwen Feng <fengchengwen@huawei.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Morten Brørup <mb@smartsharesystems.com> Reviewed-by: Kevin Laatz <kevin.laatz@intel.com> Reviewed-by: Conor Walsh <conor.walsh@intel.com>
show more ...
|
| #
91e581e5 |
| 13-Oct-2021 |
Chengwen Feng <fengchengwen@huawei.com> |
dmadev: add data plane API
This patch add data plane API for dmadev.
Signed-off-by: Chengwen Feng <fengchengwen@huawei.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Morten
dmadev: add data plane API
This patch add data plane API for dmadev.
Signed-off-by: Chengwen Feng <fengchengwen@huawei.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Morten Brørup <mb@smartsharesystems.com> Reviewed-by: Kevin Laatz <kevin.laatz@intel.com> Reviewed-by: Conor Walsh <conor.walsh@intel.com>
show more ...
|
| #
e0180db1 |
| 13-Oct-2021 |
Chengwen Feng <fengchengwen@huawei.com> |
dmadev: add control plane API
This patch add control plane API for dmadev.
Signed-off-by: Chengwen Feng <fengchengwen@huawei.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: M
dmadev: add control plane API
This patch add control plane API for dmadev.
Signed-off-by: Chengwen Feng <fengchengwen@huawei.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Morten Brørup <mb@smartsharesystems.com> Reviewed-by: Kevin Laatz <kevin.laatz@intel.com> Reviewed-by: Conor Walsh <conor.walsh@intel.com>
show more ...
|