|
Revision tags: v23.07, v23.07-rc4, v23.07-rc3, v23.07-rc2 |
|
| #
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, v22.11, v22.11-rc4, v22.11-rc3, v22.11-rc2 |
|
| #
1094dd94 |
| 28-Oct-2022 |
David Marchand <david.marchand@redhat.com> |
cleanup compat header inclusions
With symbols going though experimental/stable stages, we accumulated a lot of discrepancies about inclusion of the rte_compat.h header.
Some headers are including i
cleanup compat header inclusions
With symbols going though experimental/stable stages, we accumulated a lot of discrepancies about inclusion of the rte_compat.h header.
Some headers are including it where unneeded, while others rely on implicit inclusion.
Fix unneeded inclusions: $ git grep -l include..rte_compat.h | xargs grep -LE '__rte_(internal|experimental)' | xargs sed -i -e '/#include..rte_compat.h/d'
Fix missing inclusion, by inserting rte_compat.h before the first inclusion of a DPDK header: $ git grep -lE '__rte_(internal|experimental)' | xargs grep -L include..rte_compat.h | xargs sed -i -e \ '0,/#include..\(rte_\|.*pmd.h.$\)/{ s/\(#include..\(rte_\|.*pmd.h.$\)\)/#include <rte_compat.h>\n\1/ }'
Fix missing inclusion, by inserting rte_compat.h after the last inclusion of a non DPDK header: $ for file in $(git grep -lE '__rte_(internal|experimental)' | xargs grep -L include..rte_compat.h); do tac $file > $file.$$ sed -i -e \ '0,/#include../{ s/\(#include..*$\)/#include <rte_compat.h>\n\n\1/ }' $file.$$ tac $file.$$ > $file rm $file.$$ done
Fix missing inclusion, by inserting rte_compat.h after the header guard: $ git grep -lE '__rte_(internal|experimental)' | xargs grep -L include..rte_compat.h | xargs sed -i -e \ '0,/#define/{ s/\(#define .*$\)/\1\n\n#include <rte_compat.h>/ }'
And finally, exclude rte_compat.h itself. $ git checkout lib/eal/include/rte_compat.h
At the end of all this, we have a clean tree: $ git grep -lE '__rte_(internal|experimental)' | xargs grep -L include..rte_compat.h buildtools/check-symbols.sh devtools/checkpatches.sh doc/guides/contributing/abi_policy.rst doc/guides/rel_notes/release_20_11.rst lib/eal/include/rte_compat.h
Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
show more ...
|
| #
1bdfe4d7 |
| 13-Oct-2022 |
Pavan Nikhilesh <pbhagavatula@marvell.com> |
eventdev: increase xstats ID width to 64 bits
Increase xstats ID width from 32 to 64 bits. This also fixes the xstats ID datatype discrepancy between reset and rest of the xstats family.
Signed-off
eventdev: increase xstats ID width to 64 bits
Increase xstats ID width from 32 to 64 bits. This also fixes the xstats ID datatype discrepancy between reset and rest of the xstats family.
Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com> Acked-by: Morten Brørup <mb@smartsharesystems.com> Reviewed-by: Mattias Rönnblom <mattias.ronnblom@ericsson.com> Acked-by: Jerin Jacob <jerinj@marvell.com>
show more ...
|
|
Revision tags: v22.11-rc1 |
|
| #
c1749bc5 |
| 01-Oct-2022 |
Volodymyr Fialko <vfialko@marvell.com> |
eventdev: introduce event cryptodev vector type
Introduce ability to aggregate crypto operations processed by event crypto adapter into single event containing rte_event_vector whose event type is R
eventdev: introduce event cryptodev vector type
Introduce ability to aggregate crypto operations processed by event crypto adapter into single event containing rte_event_vector whose event type is RTE_EVENT_TYPE_CRYPTODEV_VECTOR.
Application should set RTE_EVENT_CRYPTO_ADAPTER_EVENT_VECTOR in rte_event_crypto_adapter_queue_conf::flag and provide vector configuration with respect of rte_event_crypto_adapter_vector_limits, which could be obtained by calling rte_event_crypto_adapter_vector_limits_get, to enable vectorization.
The event crypto adapter would be responsible for vectorizing the crypto operations based on provided response information in rte_event_crypto_metadata::response_info.
Updated drivers and tests accordingly to new API.
Signed-off-by: Volodymyr Fialko <vfialko@marvell.com> Acked-by: Akhil Goyal <gakhil@marvell.com>
show more ...
|
| #
5fa63911 |
| 29-Sep-2022 |
Pavan Nikhilesh <pbhagavatula@marvell.com> |
eventdev: replace padding type in event vector
Replace *u64s with u64s in rte_event_vector structure as the *ptrs already serves the purpose of holding pointers and the intention of u64s is to hold
eventdev: replace padding type in event vector
Replace *u64s with u64s in rte_event_vector structure as the *ptrs already serves the purpose of holding pointers and the intention of u64s is to hold array of uint64_t values.
Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com> Acked-by: Jerin Jacob <jerinj@marvell.com>
show more ...
|
| #
d986276f |
| 29-Sep-2022 |
Pavan Nikhilesh <pbhagavatula@marvell.com> |
eventdev: add prefix to public symbol
Add `rte` prefix to stop flush callback function pointer declaration to avoid conflicts with application functions, ``eventdev_stop_flush_t`` is renamed to ``rt
eventdev: add prefix to public symbol
Add `rte` prefix to stop flush callback function pointer declaration to avoid conflicts with application functions, ``eventdev_stop_flush_t`` is renamed to ``rte_eventdev_stop_flush_t``.
Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com> Acked-by: Jerin Jacob <jerinj@marvell.com>
show more ...
|
| #
0fbb55ef |
| 21-Sep-2022 |
Pavan Nikhilesh <pbhagavatula@marvell.com> |
eventdev: add element offset to event vector
Add `rte_event_vector:elem_offset:12` bit field event vector structure the bits are taken from `rte_event_vector::rsvd:15`. The element offset defines th
eventdev: add element offset to event vector
Add `rte_event_vector:elem_offset:12` bit field event vector structure the bits are taken from `rte_event_vector::rsvd:15`. The element offset defines the offset into the vector array at which valid elements start.
The valid elements count will be equal to `rte_event_vector::nb_elem`.
Update Rx/Tx adapter SW implementation to use elem_offset.
Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com> Reviewed-by: Mattias Rönnblom <mattias.ronnblom@ericsson.com>
show more ...
|
| #
2f279a1b |
| 10-Aug-2022 |
Shijith Thotton <sthotton@marvell.com> |
eventdev: add weight and affinity attributes to queue conf
Added new fields to represent event queue weight and affinity in rte_event_queue_conf structure. Internal op to get queue attribute is remo
eventdev: add weight and affinity attributes to queue conf
Added new fields to represent event queue weight and affinity in rte_event_queue_conf structure. Internal op to get queue attribute is removed as it is no longer needed. Updated driver to use the new field.
Signed-off-by: Shijith Thotton <sthotton@marvell.com> Acked-by: Jerin Jacob <jerinj@marvell.com>
show more ...
|
|
Revision tags: v22.07, v22.07-rc4, v22.07-rc3, v22.07-rc2, v22.07-rc1 |
|
| #
44516e6b |
| 16-May-2022 |
Shijith Thotton <sthotton@marvell.com> |
eventdev: add weight and affinity to queue attributes
Extended eventdev queue QoS attributes to support weight and affinity. If queues are of the same priority, events from the queue with highest we
eventdev: add weight and affinity to queue attributes
Extended eventdev queue QoS attributes to support weight and affinity. If queues are of the same priority, events from the queue with highest weight will be scheduled first. Affinity indicates the number of times, the subsequent schedule calls from an event port will use the same event queue. Schedule call selects another queue if current queue goes empty or schedule count reaches affinity count.
To avoid ABI break, weight and affinity attributes are not yet added to queue config structure and rely on PMD for managing it. New eventdev op queue_attr_get can be used to get it from the PMD.
Signed-off-by: Shijith Thotton <sthotton@marvell.com> Acked-by: Jerin Jacob <jerinj@marvell.com>
show more ...
|
| #
97b914f4 |
| 16-May-2022 |
Shijith Thotton <sthotton@marvell.com> |
eventdev: support setting queue attributes at runtime
Added a new eventdev API rte_event_queue_attr_set(), to set event queue attributes at runtime from the values set during initialization using rt
eventdev: support setting queue attributes at runtime
Added a new eventdev API rte_event_queue_attr_set(), to set event queue attributes at runtime from the values set during initialization using rte_event_queue_setup(). PMD's supporting this feature should expose the capability RTE_EVENT_DEV_CAP_RUNTIME_QUEUE_ATTR.
Signed-off-by: Shijith Thotton <sthotton@marvell.com> Acked-by: Jerin Jacob <jerinj@marvell.com>
show more ...
|
| #
1ff23ce6 |
| 13-May-2022 |
Pavan Nikhilesh <pbhagavatula@marvell.com> |
eventdev: quiesce an event port
Add function to quiesce any core specific resources consumed by the event port.
When the application decides to migrate the event port to another lcore or teardown t
eventdev: quiesce an event port
Add function to quiesce any core specific resources consumed by the event port.
When the application decides to migrate the event port to another lcore or teardown the current lcore it may to call `rte_event_port_quiesce` to make sure that all the data associated with the event port are released from the lcore, this might also include any prefetched events.
While releasing the event port from the lcore, this function calls the user-provided flush callback once per event.
Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com> Acked-by: Jerin Jacob <jerinj@marvell.com>
show more ...
|
|
Revision tags: v22.03, v22.03-rc4 |
|
| #
699155f2 |
| 11-Mar-2022 |
Bruce Richardson <bruce.richardson@intel.com> |
eventdev: fix clang C++ include
When compiling on FreeBSD with clang and include checking enabled, errors are emitted due to differences in how empty structs/unions are handled in C and C++, as C++
eventdev: fix clang C++ include
When compiling on FreeBSD with clang and include checking enabled, errors are emitted due to differences in how empty structs/unions are handled in C and C++, as C++ structs cannot have zero size.
lib/eventdev/rte_eventdev.h:992:2: error: union has size 0 in C, non-zero size in C++
Since the contents of the union are all themselves of zero size, the actual union wrapper is unnecessary. We therefore remove it for C++ builds - though keep it for C builds for safety and clarity of understanding the code. The alignment constraint on the union is unnecessary in the case where the whole struct is aligned on a 16-byte boundary, so we add that constraint to the overall structure to ensure it applies for C++ code as well as C.
Fixes: 1cc44d409271 ("eventdev: introduce event vector capability") Cc: stable@dpdk.org
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
show more ...
|
|
Revision tags: v22.03-rc3, v22.03-rc2 |
|
| #
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 |
|
| #
153e7d88 |
| 10-Feb-2022 |
Bruce Richardson <bruce.richardson@intel.com> |
eventdev: fix C++ include
The eventdev headers had issues when used from C++
* Missing closing "}" for the extern "C" block * No automatic casting to/from void *
Fixes: a6562f6d6f8e ("eventdev: in
eventdev: fix C++ include
The eventdev headers had issues when used from C++
* Missing closing "}" for the extern "C" block * No automatic casting to/from void *
Fixes: a6562f6d6f8e ("eventdev: introduce event timer adapter") Fixes: 32e326869ed6 ("eventdev: add tracepoints") Cc: stable@dpdk.org
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Jerin Jacob <jerinj@marvell.com>
show more ...
|
|
Revision tags: v21.11, v21.11-rc4, v21.11-rc3 |
|
| #
bd991897 |
| 10-Nov-2021 |
Mattias Rönnblom <mattias.ronnblom@ericsson.com> |
eventdev: negate maintenance capability flag
Replace RTE_EVENT_DEV_CAP_REQUIRES_MAINT, which signaled the need for the application to call rte_event_maintain(), with RTE_EVENT_DEV_CAP_MAINTENANCE_FR
eventdev: negate maintenance capability flag
Replace RTE_EVENT_DEV_CAP_REQUIRES_MAINT, which signaled the need for the application to call rte_event_maintain(), with RTE_EVENT_DEV_CAP_MAINTENANCE_FREE, which does the opposite (i.e., signifies that the event device does not require maintenance).
This approach is more in line with how other eventdev hardware and/or software limitations are handled in the Eventdev API.
Signed-off-by: Mattias Rönnblom <mattias.ronnblom@ericsson.com> Acked-by: Jerin Jacob <jerinj@marvell.com>
show more ...
|
|
Revision tags: v21.11-rc2 |
|
| #
54f17843 |
| 01-Nov-2021 |
Mattias Rönnblom <mattias.ronnblom@ericsson.com> |
eventdev: add port maintenance API
Extend Eventdev API to allow for event devices which require various forms of internal processing to happen, even when events are not enqueued to or dequeued from
eventdev: add port maintenance API
Extend Eventdev API to allow for event devices which require various forms of internal processing to happen, even when events are not enqueued to or dequeued from a port.
Signed-off-by: Mattias Rönnblom <mattias.ronnblom@ericsson.com> Acked-by: Jerin Jacob <jerinj@marvell.com> Tested-by: Richard Eklycke <richard.eklycke@ericsson.com> Tested-by: Liron Himi <lironh@marvell.com>
show more ...
|
|
Revision tags: v21.11-rc1 |
|
| #
97632958 |
| 14-Oct-2021 |
Harry van Haaren <harry.van.haaren@intel.com> |
eventdev: add usage hints to port configure API
This commit introduces 3 flags to the port configuration flags. These flags allow the application to indicate what type of work is expected to be perf
eventdev: add usage hints to port configure API
This commit introduces 3 flags to the port configuration flags. These flags allow the application to indicate what type of work is expected to be performed by an eventdev port.
The three new flags are - RTE_EVENT_PORT_CFG_HINT_PRODUCER (mostly RTE_EVENT_OP_NEW events) - RTE_EVENT_PORT_CFG_HINT_CONSUMER (mostly RTE_EVENT_OP_RELEASE events) - RTE_EVENT_PORT_CFG_HINT_WORKER (mostly RTE_EVENT_OP_FORWARD events)
These flags are only hints, and the PMDs must operate under the assumption that any port can enqueue an event with any type of op.
Signed-off-by: Harry van Haaren <harry.van.haaren@intel.com> Acked-by: Jerin Jacob <jerinj@marvell.com>
show more ...
|
| #
68e9668a |
| 18-Oct-2021 |
Pavan Nikhilesh <pbhagavatula@marvell.com> |
eventdev: promote event vector API to stable
Promote event vector configuration APIs to stable.
Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com> Acked-by: Jay Jayatheerthan <jay.jayatheert
eventdev: promote event vector API to stable
Promote event vector configuration APIs to stable.
Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com> Acked-by: Jay Jayatheerthan <jay.jayatheerthan@intel.com> Acked-by: Ray Kinsella <mdr@ashroe.eu>
show more ...
|
| #
a256a743 |
| 18-Oct-2021 |
Pavan Nikhilesh <pbhagavatula@marvell.com> |
eventdev: remove rte prefix for internal structs
Remove rte_ prefix from rte_eth_event_enqueue_buffer, rte_event_eth_rx_adapter and rte_event_crypto_adapter as they are only used in rte_event_eth_rx
eventdev: remove rte prefix for internal structs
Remove rte_ prefix from rte_eth_event_enqueue_buffer, rte_event_eth_rx_adapter and rte_event_crypto_adapter as they are only used in rte_event_eth_rx_adapter.c and rte_event_crypto_adapter.c
Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com> Acked-by: Jay Jayatheerthan <jay.jayatheerthan@intel.com> Acked-by: Abhinandan Gujjar <abhinandan.gujjar@intel.com>
show more ...
|
| #
052e25d9 |
| 18-Oct-2021 |
Pavan Nikhilesh <pbhagavatula@marvell.com> |
eventdev: use new API for inline functions
Use new driver interface for the fastpath enqueue/dequeue inline functions.
Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com> Acked-by: Jay Jayath
eventdev: use new API for inline functions
Use new driver interface for the fastpath enqueue/dequeue inline functions.
Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com> Acked-by: Jay Jayatheerthan <jay.jayatheerthan@intel.com> Acked-by: Abhinandan Gujjar <abhinandan.gujjar@intel.com>
show more ...
|
| #
26f14535 |
| 18-Oct-2021 |
Pavan Nikhilesh <pbhagavatula@marvell.com> |
eventdev: separate internal structures
Create rte_eventdev_core.h and move all the internal data structures to this file. These structures are mostly used by drivers, but they need to be in the publ
eventdev: separate internal structures
Create rte_eventdev_core.h and move all the internal data structures to this file. These structures are mostly used by drivers, but they need to be in the public header file as they are accessed by datapath inline functions for performance reasons. The accessibility of these data structures is not changed.
Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
show more ...
|
| #
23d06e37 |
| 18-Oct-2021 |
Pavan Nikhilesh <pbhagavatula@marvell.com> |
eventdev: make driver interface as internal
Mark all the driver specific functions as internal, remove `rte` prefix from `struct rte_eventdev_ops`. Remove experimental tag from internal functions. R
eventdev: make driver interface as internal
Mark all the driver specific functions as internal, remove `rte` prefix from `struct rte_eventdev_ops`. Remove experimental tag from internal functions. Remove `eventdev_pmd.h` from non-internal header files.
Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com> Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
show more ...
|
|
Revision tags: 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, v21.05-rc1 |
|
| #
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 ...
|