Pavan Nikhilesh [Tue, 16 Jan 2018 17:45:57 +0000 (23:15 +0530)]
app/eventdev: add pipeline ethport setup and destroy
Add common ethdev port setup and destroy along with event dev destroy.
Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
Acked-by: Harry van Haaren <harry.van.haaren@intel.com>
Pavan Nikhilesh [Tue, 16 Jan 2018 17:45:56 +0000 (23:15 +0530)]
app/eventdev: add pipeline opt dump and check functions
Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
Acked-by: Harry van Haaren <harry.van.haaren@intel.com>
Pavan Nikhilesh [Tue, 16 Jan 2018 17:45:55 +0000 (23:15 +0530)]
app/eventdev: add mempool setup and destroy
Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Pavan Nikhilesh [Tue, 16 Jan 2018 17:45:54 +0000 (23:15 +0530)]
app/eventdev: add pipeline test setup and destroy
Pipeline test has the queue and all types queue variants.
Introduce test_pipeline_common* to share the common code between those
tests.
Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Pavan Nikhilesh [Tue, 16 Jan 2018 17:45:53 +0000 (23:15 +0530)]
app/eventdev: add packet distribution logs
Add logs for packet distribution across worker cores to be printed
along with the test results.
Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Pavan Nikhilesh [Wed, 10 Jan 2018 11:10:12 +0000 (16:40 +0530)]
examples/eventdev: rename example
Rename eventdev_pipeline_sw_pmd to eventdev_pipeline as it is no longer
specific underlying event device.
Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
Acked-by: Harry van Haaren <harry.van.haaren@intel.com>
Pavan Nikhilesh [Wed, 10 Jan 2018 11:10:11 +0000 (16:40 +0530)]
examples/eventdev: add mempool size configuration
Add option to configure the mempool size at run time instead of
hardcoding it to 16384 * num_ports.
Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
Acked-by: Harry van Haaren <harry.van.haaren@intel.com>
Pavan Nikhilesh [Wed, 10 Jan 2018 11:10:10 +0000 (16:40 +0530)]
examples/eventdev: add atq single stage pipeline worker
Add optimized eventdev pipeline when ethdev supports thread safe Tx,
number of configured stages is one and all type queue option is enabled.
Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
Acked-by: Harry van Haaren <harry.van.haaren@intel.com>
Pavan Nikhilesh [Wed, 10 Jan 2018 11:10:09 +0000 (16:40 +0530)]
examples/eventdev: add single stage pipeline worker
Add optimized eventdev pipeline when ethdev supports thread safe Tx
and number of configured stages is one.
Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
Acked-by: Harry van Haaren <harry.van.haaren@intel.com>
Pavan Nikhilesh [Wed, 10 Jan 2018 11:10:08 +0000 (16:40 +0530)]
examples/eventdev: add all type queue option
Added configurable option to make queue type as all type queues i.e.
RTE_EVENT_QUEUE_CFG_ALL_TYPES based on event dev capability
RTE_EVENT_DEV_CAP_QUEUE_ALL_TYPES.
This can be enabled by supplying '-a' as a cmdline argument.
Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
Acked-by: Harry van Haaren <harry.van.haaren@intel.com>
Pavan Nikhilesh [Wed, 10 Jan 2018 11:10:07 +0000 (16:40 +0530)]
examples/eventdev: add burst for thread safe pipeline
Add burst mode worker pipeline when Tx is multi thread safe.
Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
Acked-by: Harry van Haaren <harry.van.haaren@intel.com>
Pavan Nikhilesh [Wed, 10 Jan 2018 11:10:06 +0000 (16:40 +0530)]
examples/eventdev: add thread safe Tx worker pipeline
Add worker pipeline when Tx is multi thread safe.
Probe Ethernet dev capabilities and select it it is supported.
Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
Acked-by: Harry van Haaren <harry.van.haaren@intel.com>
Pavan Nikhilesh [Wed, 10 Jan 2018 11:10:05 +0000 (16:40 +0530)]
examples/eventdev: modify work cycles
The current work cycles function exchanges source and destination mac
address and also pauses the core for the given cycles.
This patch splits the function into two parts i.e. exchange mac and
pause the cores. The pause cores function is invoked at every stage
where as exchange mac is invoked when packet is transmitted.
Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
Acked-by: Harry van Haaren <harry.van.haaren@intel.com>
Pavan Nikhilesh [Wed, 10 Jan 2018 11:10:04 +0000 (16:40 +0530)]
examples/eventdev: add non burst mode generic worker
Currently, worker uses burst dequeue and burst enqueue to forward events.
Add a non burst mode based on the event dev capabilities.
Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
Acked-by: Harry van Haaren <harry.van.haaren@intel.com>
Pavan Nikhilesh [Wed, 10 Jan 2018 11:10:03 +0000 (16:40 +0530)]
examples/eventdev: add ops to check cmdline args
Each eventdev pipeline needs to allow different cmdline args combination
based on pipeline type.
Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
Acked-by: Harry van Haaren <harry.van.haaren@intel.com>
Pavan Nikhilesh [Wed, 10 Jan 2018 11:10:02 +0000 (16:40 +0530)]
examples/eventdev: add generic worker pipeline
Rename existing pipeline as generic worker pipeline.
Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
Acked-by: Harry van Haaren <harry.van.haaren@intel.com>
Pavan Nikhilesh [Wed, 10 Jan 2018 11:10:01 +0000 (16:40 +0530)]
examples/eventdev: add framework for caps based pipeline
Add framework to support capability based pipeline.
Based on the capability of event device and probed ethernet devices the
optimal pipeline configuration can be chosen.
Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
Acked-by: Harry van Haaren <harry.van.haaren@intel.com>
Pavan Nikhilesh [Wed, 10 Jan 2018 11:10:00 +0000 (16:40 +0530)]
examples/eventdev: move common data into pipeline common
Move common structures and functions into pipeline_common.h so that they
can be used by different kinds of pipelines.
Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
Acked-by: Harry van Haaren <harry.van.haaren@intel.com>
Pavan Nikhilesh [Wed, 10 Jan 2018 11:09:59 +0000 (16:39 +0530)]
examples/eventdev: support Rx adapter
Use event Rx adapter for packets Rx instead of explicit producer logic.
Use service run iter function for granular control instead of using
dedicated service lcore.
Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
Acked-by: Harry van Haaren <harry.van.haaren@intel.com>
Pavan Nikhilesh [Thu, 11 Jan 2018 10:21:55 +0000 (15:51 +0530)]
test/event: register selftests
Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Pavan Nikhilesh [Thu, 11 Jan 2018 10:21:54 +0000 (15:51 +0530)]
event/sw: update selftest ops
Update software eventdev ops to invoke selftest when application invokes
`rte_event_dev_selftest`.
Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
Acked-by: Harry van Haaren <harry.van.haaren@intel.com>
Pavan Nikhilesh [Thu, 11 Jan 2018 10:21:53 +0000 (15:51 +0530)]
event/sw: make test standalone
Modify test_eventdev_sw to be standalone selftest independent of test
framework.
Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
Acked-by: Harry van Haaren <harry.van.haaren@intel.com>
Pavan Nikhilesh [Thu, 11 Jan 2018 10:21:52 +0000 (15:51 +0530)]
event/sw: move test to driver
Move software eventdev specific test (test_eventdev_sw) to
driver/event/sw/.
Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
Acked-by: Harry van Haaren <harry.van.haaren@intel.com>
Pavan Nikhilesh [Thu, 11 Jan 2018 10:21:51 +0000 (15:51 +0530)]
event/octeontx: add selftest to device arguments
Add selftest as a device argument that can be enabled by suppling
'self_test=1' as a vdev parameter
--vdev="event_octeontx,self_test=1"
The selftest is run after vdev creation is successfully
complete.
Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Pavan Nikhilesh [Thu, 11 Jan 2018 10:21:50 +0000 (15:51 +0530)]
event/octeontx: update selftest ops
Update octeontx eventdev ops to invoke selftest when application
invokes `rte_event_dev_selftest`.
Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Pavan Nikhilesh [Thu, 11 Jan 2018 10:21:49 +0000 (15:51 +0530)]
event/octeontx: make test standalone
Modify test_eventdev_octeontx to be standalone selftest independent of
test framework.
Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
Pavan Nikhilesh [Thu, 11 Jan 2018 10:21:48 +0000 (15:51 +0530)]
event/octeontx: move test to driver
Move octeontx eventdev specific test (test_eventdev_octeontx.c) to
driver/event/octeontx.
Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Pavan Nikhilesh [Thu, 11 Jan 2018 10:21:47 +0000 (15:51 +0530)]
eventdev: add API to perform self test
Add API to perform self test on the underlying event device driver.
Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
Acked-by: Harry van Haaren <harry.van.haaren@intel.com>
Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Pavan Nikhilesh [Thu, 11 Jan 2018 10:21:46 +0000 (15:51 +0530)]
eal: add test assert macros
Adding common test assertion macros for unit testing.
Replaced common macros in test/test.h with new RTE_TEST_ASSERT_* macros.
Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
Pavan Nikhilesh [Thu, 28 Dec 2017 10:56:53 +0000 (16:26 +0530)]
app/eventdev: fix event device queue count
Fix the event device queue count reported when producer type is Rx
adapter for perfomance queue and atq test.
Fixes:
20eb154e0435 ("app/testeventdev: add perf queue test")
Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Gage Eads [Tue, 9 Jan 2018 16:19:35 +0000 (10:19 -0600)]
event/sw: remove stale IQ references when reconfigured
This commit fixes a bug in which, when the sw PMD is reconfigured, it would
leave stale IQ chunk pointers in each queue's IQ structure. Now, the PMD
initializes all IQs at eventdev start time and releases all IQ chunk
pointers at eventdev stop time (which has the consequence that any events
in a queue when the eventdev is stopped will be lost). This approach should
be resilient to any reconfiguration done between the stop and start, such
as adding or removing queues.
This commit also fixes two potential issues in iq_chunk.h. iq_init()
now initializes the IQ's count field to 0, and iq_dequeue_burst() sets
iq->head to the appropriate next pointer.
Fixes:
dca926ca9faa ("event/sw: use dynamically-sized IQs")
Reported-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
Signed-off-by: Gage Eads <gage.eads@intel.com>
Reviewed-by: Harry van Haaren <harry.van.haaren@intel.com>
Acked-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
Liang Ma [Tue, 9 Jan 2018 14:19:01 +0000 (14:19 +0000)]
doc: add eventdev OPDL PMD guide
Add the description about opdl pmd
Signed-off-by: Liang Ma <liang.j.ma@intel.com>
Signed-off-by: Peter Mccarthy <peter.mccarthy@intel.com>
Acked-by: Marko Kovacevic <marko.kovacevic@intel.com>
Liang Ma [Tue, 9 Jan 2018 14:18:59 +0000 (14:18 +0000)]
event/sw: apply new capability flags
Signed-off-by: Liang Ma <liang.j.ma@intel.com>
Signed-off-by: Peter Mccarthy <peter.mccarthy@intel.com>
Liang Ma [Tue, 9 Jan 2018 14:18:58 +0000 (14:18 +0000)]
event/octeontx: apply new capability flags
Signed-off-by: Liang Ma <liang.j.ma@intel.com>
Signed-off-by: Peter Mccarthy <peter.mccarthy@intel.com>
Liang Ma [Tue, 9 Jan 2018 14:18:57 +0000 (14:18 +0000)]
event/dpaa2: apply new capability flags
Signed-off-by: Liang Ma <liang.j.ma@intel.com>
Signed-off-by: Peter Mccarthy <peter.mccarthy@intel.com>
Liang Ma [Tue, 9 Jan 2018 14:18:56 +0000 (14:18 +0000)]
eventdev: extend capability flags
add new capability flags to express the opdl PMD limitations.
RTE_EVENT_DEV_CAP_NONSEQ_MODE
Event device is capable of operating in none sequential mode. The path
of the event is not necessary to be sequential. Application can change
the path of event at runtime. If the flag is not set, then event each event
will follow a path from queue 0 to queue 1 to queue 2 etc. If the flag is
set, events may be sent to queues in any order. If the flag is not set, the
eventdev will return an error when the application enqueues an event for a
qid which is not the next in the sequence.
RTE_EVENT_DEV_CAP_RUNTIME_PORT_LINK
Event device is capable of configuring the queue/port link at runtime.
If the flag is not set, the eventdev queue/port link is only can be
configured during initialization.
RTE_EVENT_DEV_CAP_MULTIPLE_QUEUE_PORT
Event device is capable of setting up the link between multiple queue
with single port. If the flag is not set, the eventdev can only map a
single queue to each port or map a single queue to many port.
Signed-off-by: Liang Ma <liang.j.ma@intel.com>
Signed-off-by: Peter Mccarthy <peter.mccarthy@intel.com>
Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Liang Ma [Tue, 9 Jan 2018 14:18:55 +0000 (14:18 +0000)]
event/opdl: add unit tests
This commit adds unit test inside the OPDL PMD. There is a PMd parameter
"self_test" can be used to triger the test when vdev bus probe opdl device
e.g.
sudo ./app/test --vdev="event_opdl0,self_test=1"
Signed-off-by: Liang Ma <liang.j.ma@intel.com>
Signed-off-by: Peter Mccarthy <peter.mccarthy@intel.com>
Liang Ma [Tue, 9 Jan 2018 14:18:54 +0000 (14:18 +0000)]
event/opdl: add enqueue/dequeue
Signed-off-by: Liang Ma <liang.j.ma@intel.com>
Signed-off-by: Peter Mccarthy <peter.mccarthy@intel.com>
Liang Ma [Tue, 9 Jan 2018 14:18:53 +0000 (14:18 +0000)]
event/opdl: add event port config get/set
Signed-off-by: Liang Ma <liang.j.ma@intel.com>
Signed-off-by: Peter Mccarthy <peter.mccarthy@intel.com>
Liang Ma [Tue, 9 Jan 2018 14:18:52 +0000 (14:18 +0000)]
event/opdl: add event queue config get/set
Signed-off-by: Liang Ma <liang.j.ma@intel.com>
Signed-off-by: Peter Mccarthy <peter.mccarthy@intel.com>
Liang Ma [Tue, 9 Jan 2018 14:18:51 +0000 (14:18 +0000)]
event/opdl: add PMD main body and helper function
This commit adds a OPDL implementation of the eventdev API. The
implementation here is intended to enable the community to use
the OPDL infrastructure under eventdev API.
The main components of the implementation is three files:
- opdl_evdev.c Creation, configuration, etc
- opdl_evdev_xstats.c helper function to support stats collection
- opdl_evdev.h include the main data structure of opdl
device and all the function prototype
need to be exposed to support eventdev API.
- opdl_evdev_init.c implement all initailization helper function
This commit only adds the implementation, no existing DPDK files
are modified.
Signed-off-by: Liang Ma <liang.j.ma@intel.com>
Signed-off-by: Peter Mccarthy <peter.mccarthy@intel.com>
Liang Ma [Tue, 9 Jan 2018 14:18:50 +0000 (14:18 +0000)]
event/opdl: add OPDL ring infrastructure library
OPDL ring is the core infrastructure of OPDL PMD. OPDL ring library
provide the core data structure and core helper function set. The Ring
implements a single ring multi-port/stage pipelined packet distribution
mechanism. This mechanism has the following characteristics:
• No multiple queue cost, therefore, latency is significant reduced.
• Fixed dependencies between queue/ports is more suitable for complex.
fixed pipelines of stateless packet processing (static pipeline).
• Has decentralized distribution (no scheduling core).
• Packets remain in order (no reorder core(s)).
* Update build system to enable compilation.
Signed-off-by: Liang Ma <liang.j.ma@intel.com>
Signed-off-by: Peter Mccarthy <peter.mccarthy@intel.com>
Reviewed-by: Seán Harte <seanbh@gmail.com>
Pavan Nikhilesh [Mon, 11 Dec 2017 15:13:45 +0000 (20:43 +0530)]
app/eventdev: add service core configuration
Add service core configuration for Rx adapter. The configuration picks
the least used service core to run the service on.
Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
Pavan Nikhilesh [Mon, 11 Dec 2017 15:13:44 +0000 (20:43 +0530)]
app/eventdev: add event Rx adapter setup
Add functions to setup and configure Rx adapter based on the number of
ethdev ports setup.
Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Pavan Nikhilesh [Mon, 11 Dec 2017 15:13:43 +0000 (20:43 +0530)]
app/eventdev: add ethernet device tear down
Add ethernet device destroy functions to stop and close ethdev ports
if they are configured when prod_type_ethdev option is enabled.
Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Pavan Nikhilesh [Mon, 11 Dec 2017 15:13:42 +0000 (20:43 +0530)]
app/eventdev: add ethernet device setup helpers
Add ethernet device setup functions to configure ethdev ports incase
prod_type_ethdev option is enabled.
Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Pavan Nikhilesh [Mon, 11 Dec 2017 15:13:41 +0000 (20:43 +0530)]
app/eventdev: add pktmbuf pool for ethdev
Add pktmbuf pool creation used when configuring ethernet device as event
producer.
Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Pavan Nikhilesh [Mon, 11 Dec 2017 15:13:40 +0000 (20:43 +0530)]
app/eventdev: modify setup to support ethdev
Modify app setup to accommodate event port and queue setup based on the
number of ethernet ports.
Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Pavan Nikhilesh [Mon, 11 Dec 2017 15:13:39 +0000 (20:43 +0530)]
app/eventdev: add ethernet device producer option
Add command line option --prod_type_ethdev to specify that the events
are generated by ethernet device.
Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Pavan Nikhilesh [Tue, 12 Dec 2017 18:58:09 +0000 (00:28 +0530)]
eventdev: use links map to unlink queues
The octeontx event device doesn't store the queues to port mapping as a
result it cannot return the exact number of queues unlinked from a port
when application wants to unlink all the queues mapped (supplies queues
param as NULL).
Using links_map we can determine the exact queues mapped to a specific
port and unlink them.
Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
Acked-by: Gage Eads <gage.eads@intel.com>
Pavan Nikhilesh [Sat, 9 Dec 2017 14:40:07 +0000 (20:10 +0530)]
eventdev: fix doxygen comments
Fix doxygen return values and indentation.
Fixes:
64103dbcd673 ("eventdev: add dev attribute get function")
Cc: stable@dpdk.org
Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
Acked-by: Kevin Laatz <kevin.laatz@intel.com>
Gage Eads [Mon, 11 Dec 2017 17:56:32 +0000 (11:56 -0600)]
event/sw: simplify credit scheme
This commit modifies the sw PMD credit scheme such that credits are
consumed when enqueueing a NEW event and released when an event is
released -- typically, the beginning and end of a pipeline. Workers that
simply forward events do not interact with the credit pool.
Signed-off-by: Gage Eads <gage.eads@intel.com>
Acked-by: Harry van Haaren <harry.van.haaren@intel.com>
Gage Eads [Mon, 11 Dec 2017 17:56:31 +0000 (11:56 -0600)]
eventdev: add implicit release disable capability
This commit introduces a capability for disabling the "implicit" release
functionality for a port, which prevents the eventdev PMD from issuing
outstanding releases for previously dequeued events when dequeuing a new
batch of events.
If a PMD does not support this capability, the application will receive an
error if it attempts to setup a port with implicit releases disabled.
Otherwise, if the port is configured with implicit releases disabled, the
application must release each dequeued event by invoking
rte_event_enqueue_burst() with RTE_EVENT_OP_RELEASE or
RTE_EVENT_OP_FORWARD.
Signed-off-by: Gage Eads <gage.eads@intel.com>
Acked-by: Harry van Haaren <harry.van.haaren@intel.com>
Gage Eads [Thu, 30 Nov 2017 03:08:34 +0000 (21:08 -0600)]
event/sw: use dynamically-sized IQs
This commit introduces dynamically-sized IQs, by switching the underlying
data structure from a fixed-size ring to a linked list of queue 'chunks.'
This has a number of benefits:
- Certain corner cases were observed in which all of a pipeline's flows
could be pinned to one port for extended periods, effectively turning a
multi-core pipeline into single-core one. This was caused by an event
producer having a larger new_event_threshold than the IQ depth, and
injecting large numbers of packets that are ultimately backpressured in a
worker's rx_ring, causing those packets' flows to be scheduled to that
port.
The dynamically sized IQ does not have this problem because each IQ can
grow large enough to store all the system's events, such that
backpressure will not reach the worker_ring.
- Slight performance improvement (~1-2%) in high throughput scenarios,
tested with eventdev_pipeline_sw_pmd.
This implementation has a small increase in the queue storage memory
footprint (~70KB). This commit also removes the iq_size xstat, which no
longer applies to this implementation.
Signed-off-by: Gage Eads <gage.eads@intel.com>
Acked-by: Harry van Haaren <harry.van.haaren@intel.com>
Gage Eads [Thu, 30 Nov 2017 03:08:33 +0000 (21:08 -0600)]
event/sw: fix queue memory leak and multi-link bug
This commit reinitializes a queue before it is reconfigured, such that
reorder buffer memory is not leaked.
This bug masked a few other problems, which this commit corrects as well:
- sw_port_link() allowed a port to link to a queue twice, such that the
port could then successfully unlink the queue twice. Now the link
function checks whether a port is already linked to the queue, and if so
returns success but doesn't assign the a port a second slot in the
queue's cq map.
- test_eventdev.c's test_eventdev_unlink() was unlinking a queue twice
from the same port, and expecting the second unlink to succeed. Now the
test unlinks, links, then unlinks again.
- test_eventdev.c's test_eventdev_link_get() was linking a single queue but
expecting the unlink function to return nb_queues (where nb_queues > 1).
The test now checks for a return value of 1.
Fixes:
5ffb2f142d95 ("event/sw: support event queues")
Fixes:
371a688fc159 ("event/sw: support linking queues to ports")
Fixes:
f8f9d233ea0e ("test/eventdev: add unit tests")
Cc: stable@dpdk.org
Signed-off-by: Gage Eads <gage.eads@intel.com>
Acked-by: Harry van Haaren <harry.van.haaren@intel.com>
Jerin Jacob [Mon, 4 Dec 2017 08:11:18 +0000 (13:41 +0530)]
test/eventdev: use CPU event type
octeontx test application was using non RTE_EVENT_TYPE_CPU
event type to generate the event from CPU. Upon the introduction
of ethdev Rx adapter, RTE_EVENT_TYPE_ETHDEV has special
meaning. So avoid using non RTE_EVENT_TYPE_CPU event types
to inject events from CPU.
Fixes:
d0d654986018 ("net/octeontx: support event Rx adapter")
Cc: stable@dpdk.org
Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Reviewed-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
Gage Eads [Tue, 14 Nov 2017 22:44:10 +0000 (16:44 -0600)]
eventdev: set error code in port link/unlink functions
The return value for rte_event_port_{link, unlink}() is defined as the
"number of {links, unlinks} actually established." However, the eventdev
layer's error checking returns negative error values. This commit aligns
the eventdev code with the API definition by having it set rte_errno and
return 0 if it detects an error.
Fixes:
4f0804bbdfb9 ("eventdev: implement the northbound APIs")
Cc: stable@dpdk.org
Signed-off-by: Gage Eads <gage.eads@intel.com>
Amr Mokhtar [Thu, 11 Jan 2018 19:23:22 +0000 (19:23 +0000)]
examples/bbdev: add sample app
- sample application performing a loop-back over ethernet using
a bbbdev device
- 'turbo_sw' PMD must be enabled for the app to be functional
- a packet is received on an ethdev port -> enqueued for baseband
encode operation -> dequeued -> enqueued for baseband decode
operation-> dequeued -> compared with original signal -> looped-back
to the ethdev port
Signed-off-by: Amr Mokhtar <amr.mokhtar@intel.com>
Amr Mokhtar [Thu, 11 Jan 2018 19:23:21 +0000 (19:23 +0000)]
app/testbbdev: add test application for bbdev
- full test suite for bbdev
- test App works seamlessly on all PMDs registered with bbdev
framework
- a python script is provided to make our life easier
- supports execution of tests by parsing Test Vector files
- test Vectors can be added/deleted/modified with no need for
re-compilation
- various tests can be executed:
(a) Throughput test
(b) Offload latency test
(c) Operation latency test
(d) Validation test
(c) Sanity checks
Signed-off-by: Amr Mokhtar <amr.mokhtar@intel.com>
Amr Mokhtar [Thu, 11 Jan 2018 19:23:20 +0000 (19:23 +0000)]
bb/turbo_sw: add software turbo driver
- bbdev 'turbo_sw' is the software accelerated version of 3GPP L1
Turbo coding operation using the optimized Intel FlexRAN SDK libraries.
- 'turbo_sw' pmd is disabled by default
Signed-off-by: Amr Mokhtar <amr.mokhtar@intel.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
Amr Mokhtar [Thu, 11 Jan 2018 19:23:19 +0000 (19:23 +0000)]
bb/null: add null base band device driver
- 'bbdev_null' is a basic pmd that performs a minimalistic
bbdev operation
- useful for bbdev smoke testing and in measuring the overhead
introduced by the bbdev library
- 'bbdev_null' pmd is enabled by default
Signed-off-by: Amr Mokhtar <amr.mokhtar@intel.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
Amr Mokhtar [Thu, 11 Jan 2018 19:23:18 +0000 (19:23 +0000)]
bbdev: introduce wireless base band device lib
- wireless baseband device (bbdev) library files
- bbdev is tagged as EXPERIMENTAL
- Makefiles and configuration macros definition
- bbdev library is enabled by default
- release notes of the initial version
Signed-off-by: Amr Mokhtar <amr.mokhtar@intel.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
Anatoly Burakov [Fri, 12 Jan 2018 17:23:16 +0000 (17:23 +0000)]
member: fix memory leak on error
rte_member may have allocated a tailq entry or setum before failure,
so free them.
Fixes:
857ed6c68cf2 ("member: implement main API")
Cc: stable@dpdk.org
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Yipeng Wang <yipeng1.wang@intel.com>
Pavan Nikhilesh [Thu, 18 Jan 2018 13:44:33 +0000 (19:14 +0530)]
mempool/octeontx: fix natural alignment being optimized out
The mbox messages are naturally aligned and in some cases compiler
optimization might disregard natural alignment.
Use volatile key word to force compiler to disable optimizing and
maintain alignment.
Fixes:
aecb8e093b52 ("event/octeontx: introduce specialized mbox message copy")
Cc: stable@dpdk.org
Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
Acked-by: Santosh Shukla <santosh.shukla@caviumnetworks.com>
Hemant Agrawal [Wed, 17 Jan 2018 08:51:32 +0000 (14:21 +0530)]
mempool/dpaa: optimize phy to virt conversion
If the allocation is from a single memzone, optimize
the phy-virt address conversions.
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Olivier Matz [Fri, 8 Dec 2017 15:46:51 +0000 (16:46 +0100)]
mbuf: fix performance of freeing with non atomic refcnt
When RTE_MBUF_REFCNT_ATOMIC=n, the decrement of the mbuf reference
counter uses an atomic operation. This is not necessary and impacts
the performance (seen with TRex traffic generator).
We cannot replace rte_atomic16_add_return() by rte_mbuf_refcnt_update()
because it would add an additional check.
Solves this by introducing __rte_mbuf_refcnt_update(), which
updates the reference counter without doing anything else.
Fixes:
8f094a9ac5d7 ("mbuf: set mbuf fields while in pool")
Cc: stable@dpdk.org
Suggested-by: Hanoch Haim <hhaim@cisco.com>
Signed-off-by: Olivier Matz <olivier.matz@6wind.com>
Jasvinder Singh [Thu, 18 Jan 2018 15:18:14 +0000 (15:18 +0000)]
test/flow_classify: fix build warning
Move all static variables defined in header file to c file.
error log: /usr/bin/ld: Warning: size of symbol 'count' changed
from 8 in test_pmd_perf.o to 24 in test_flow_classify.o
Fixes:
50bdac5916d9 ("flow_classify: remove table id parameter from API")
Signed-off-by: Jasvinder Singh <jasvinder.singh@intel.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
Jerin Jacob [Sun, 19 Nov 2017 04:55:31 +0000 (10:25 +0530)]
test/mempool_perf: improve default mempool ops selection
Use of rte_eal_mbuf_default_mempool_ops() API will
allow to override pool handler through "--mbuf-pool-ops-name"
eal command line argument.
Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Acked-by: Santosh Shukla <santosh.shukla@caviumnetworks.com>
Acked-by: Olivier Matz <olivier.matz@6wind.com>
Jerin Jacob [Tue, 9 Jan 2018 15:57:08 +0000 (21:27 +0530)]
test/mempool: improve default mempool ops selection
Use of rte_eal_mbuf_default_mempool_ops() API will
allow to override pool handler through "--mbuf-pool-ops-name"
eal command line argument.
Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Acked-by: Santosh Shukla <santosh.shukla@caviumnetworks.com>
Acked-by: Olivier Matz <olivier.matz@6wind.com>
Bernard Iremonger [Thu, 4 Jan 2018 10:39:46 +0000 (10:39 +0000)]
test/flow_classify: remove port bound requirement
Remove the requirement to have a port bound to igb_uio in
order to run this test suite.
Fixes:
9c9befea4f57 ("test: add flow classify unit tests")
Cc: stable@dpdk.org
Reported-by: Anatoly Burakov <anatoly.burakov@intel.com>
Signed-off-by: Bernard Iremonger <bernard.iremonger@intel.com>
Phil Yang [Mon, 15 Jan 2018 05:43:33 +0000 (13:43 +0800)]
test/memzone: fix freeing test
When reserving memzone for mz[], it will out of mz[RTE_MAX_MEMZONE] memory
bound after the counter reached to RTE_MAX_MEMZONE. It will flush the
counter's memory and lead to mz[] memory cannot be freed.
Fixd by extend to mz[RTE_MAX_MEMZONE + 1].
Fixes:
ff909fe21f0a ("mem: introduce memzone freeing")
Cc: stable@dpdk.org
Signed-off-by: Phil Yang <phil.yang@arm.com>
Acked-by: Jianbo Liu <jianbo.liu@arm.com>
Acked-by: Anatoly Burakov <anatoly.burakov@intel.com>
Phil Yang [Mon, 15 Jan 2018 05:43:32 +0000 (13:43 +0800)]
test/memzone: fix NULL freeing
No need to free a NULL memzone. It will cause test
termination.
Fixes:
71330483a193 ("test/memzone: fix memory leak")
Cc: stable@dpdk.org
Signed-off-by: Phil Yang <phil.yang@arm.com>
Acked-by: Jianbo Liu <jianbo.liu@arm.com>
Acked-by: Anatoly Burakov <anatoly.burakov@intel.com>
Anatoly Burakov [Thu, 21 Dec 2017 18:19:44 +0000 (18:19 +0000)]
test/memzone: fix wrong test
When reserving memzones in autotest, it makes no sense to expect a
failed memzone reserve when we specify both size flags - instead,
we should expect a memzone reserved with one of the two sizes.
Fixes:
af75078fece3 ("first public release")
Cc: stable@dpdk.org
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Anatoly Burakov [Thu, 21 Dec 2017 18:19:43 +0000 (18:19 +0000)]
test/memzone: fix copy-paste typo
Fixes:
b77b5639726e ("mem: add huge page sizes for IBM Power")
Cc: stable@dpdk.org
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Anatoly Burakov [Thu, 21 Dec 2017 18:19:42 +0000 (18:19 +0000)]
test/memzone: fix typo
Fixes:
71330483a193 ("test/memzone: fix memory leak")
Cc: stable@dpdk.org
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Reviewed-by: Radoslaw Biernacki <radoslaw.biernacki@linaro.org>
Anatoly Burakov [Thu, 21 Dec 2017 15:53:05 +0000 (15:53 +0000)]
test/table: fix uninitialized parameter
delete_bulk() copies metadata to pointers provided by the entries
parameter, but in the unit test, they are uninitialized, leading
to rte_table attempting to memcpy into random garbage pointers.
Memsetting pointer table to zero will prevent that from happening.
Fixes:
48f2543cf0a8 ("app/test: add bulk adding and deleting")
Cc: stable@dpdk.org
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
Anatoly Burakov [Fri, 22 Dec 2017 09:51:00 +0000 (09:51 +0000)]
test: add malloc stats dump command
This can be useful for checking if an autotest leaks memory after
its execution.
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Anatoly Burakov [Fri, 22 Dec 2017 10:21:51 +0000 (10:21 +0000)]
test: register test as failed if setup failed
If test set up couldn't be completed, the test was previously
shown as succeeding, even though setup failed. Fix this to report
test as failed, and count all tests that should've been executed,
as failed as well.
Fixes:
ffac67b1f71b ("app/test: new assert macros and test suite runner")
Cc: stable@dpdk.org
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Declan Doherty <declan.doherty@intel.com>
Harry van Haaren [Thu, 11 Jan 2018 17:50:35 +0000 (17:50 +0000)]
test/crypto: use skipped return result
The cryptodev tests are updated to return SKIPPED instead
of failing if the PMD is not enabled, allowing test
infrastructure to identify that the test was not able to run.
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Signed-off-by: Harry van Haaren <harry.van.haaren@intel.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Harry van Haaren [Thu, 11 Jan 2018 17:50:34 +0000 (17:50 +0000)]
test: add skipped return result
This commit allows a test to return "skipped", indicating
that it cannot be run. This is useful for PMDs which have
not been compiled due to the unavailability of dependencies,
or their explicit disabling in the build configuration.
The result printing is updated to correctly indicate if a
test has been skipped.
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Signed-off-by: Harry van Haaren <harry.van.haaren@intel.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Harry van Haaren [Thu, 11 Jan 2018 17:50:33 +0000 (17:50 +0000)]
test: use env variable to run tests
With this patch the test binary checks the DPDK_TEST
environment variable and if set, the contents of the var
are inserted on the test app command line, and run.
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Signed-off-by: Harry van Haaren <harry.van.haaren@intel.com>
Reviewed-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Olivier Matz [Mon, 11 Sep 2017 13:39:13 +0000 (15:39 +0200)]
doc: announce ABI change for ring structure
As discussed on the mailing list, the alignment constraint of
the ring structure can be relaxed.
Link: http://dpdk.org/dev/patchwork/patch/25039
Link: http://dpdk.org/dev/patchwork/patch/26103
Signed-off-by: Olivier Matz <olivier.matz@6wind.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
Acked-by: Anatoly Burakov <anatoly.burakov@intel.com>
Anatoly Burakov [Fri, 12 Jan 2018 18:27:29 +0000 (18:27 +0000)]
app/procinfo: add compilation option in config
Unlike every other DPDK application's compilation, proc_info's
compilation cannot be turned off on Linux. Fix it by adding a
config option to base linuxapp config.
Fixes:
22561383ea17 ("app: replace dump_cfg by proc_info")
Cc: stable@dpdk.org
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Wei Dai [Fri, 12 Jan 2018 11:31:22 +0000 (19:31 +0800)]
app/testpmd: fix invalid Tx queue number setting
If an invalid number of TX queues is configured from testpmd run-time
command like "port config all txq number" or from --txq in the command
to start testpmd, the global variable nb_txq is updated by this invalid
value without this patch. It may cause testpmd crash. This patch refuses
invalid txq setting and keeps its last correct value.
Fixes:
ce8d561418d4 ("app/testpmd: add port configuration settings")
Cc: stable@dpdk.org
Signed-off-by: Wei Dai <wei.dai@intel.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Tested-by: Yuan Peng <yuan.peng@intel.com>
Wei Dai [Fri, 12 Jan 2018 11:31:21 +0000 (19:31 +0800)]
app/testpmd: fix invalid Rx queue number setting
If an invalid number of RX queues is configured from testpmd run-time
command like "port config all rxq number" or from --rxq in the command
to start testpmd, the global variable nb_rxq is updated by this invalid
value without this patch. It may cause testpmd crash. This patch refuses
invalid rxq setting and keeps its last correct value.
Fixes:
ce8d561418d4 ("app/testpmd: add port configuration settings")
Cc: stable@dpdk.org
Signed-off-by: Wei Dai <wei.dai@intel.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Tested-by: Yuan Peng <yuan.peng@intel.com>
Olivier Matz [Fri, 8 Dec 2017 10:20:13 +0000 (11:20 +0100)]
pdump: fix error check when creating/canceling thread
On error, pthread_create() returns a positive number (an errno)
but does not set the errno variable.
Fixes:
278f945402c5 ("pdump: add new library for packet capture")
Cc: stable@dpdk.org
Signed-off-by: Olivier Matz <olivier.matz@6wind.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
Moti Haimovsky [Wed, 17 Jan 2018 17:24:15 +0000 (19:24 +0200)]
vfio: fix FreeBSD build
This patch fixes the following compilation errors in bsdapp
lib/librte_eal/bsdapp/eal/eal.c:782:5:
error: no previous prototype for function 'rte_vfio_clear_group'
int rte_vfio_clear_group(int vfio_group_fd)
^
lib/librte_eal/bsdapp/eal/eal.c:782:30:
error: unused parameter 'vfio_group_fd'
int rte_vfio_clear_group(int vfio_group_fd)
^
Fixes:
c564a2a20093 ("vfio: expose clear group function for internal usages")
Signed-off-by: Moti Haimovsky <motih@mellanox.com>
Pavan Nikhilesh [Sat, 9 Dec 2017 13:23:58 +0000 (18:53 +0530)]
log: remove log level config option
Remove RTE_LOG_LEVEL config option, use existing RTE_LOG_DP_LEVEL config
option for controlling datapath log level.
RTE_LOG_LEVEL is no longer needed as dynamic logging can be used to
control global and module specific log levels.
Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
Reviewed-by: Olivier Matz <olivier.matz@6wind.com>
Pavan Nikhilesh [Sat, 9 Dec 2017 13:23:57 +0000 (18:53 +0530)]
log: update default log levels
Use global default loglevel to DEBUG(8) and dynamic default loglevel
to INFO(7).
Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
Reviewed-by: Olivier Matz <olivier.matz@6wind.com>
Pavan Nikhilesh [Sat, 9 Dec 2017 13:23:56 +0000 (18:53 +0530)]
log: update legacy modules dynamic logs regex
Update legacy log types regex strings used for registering dynamic logs.
Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
Reviewed-by: Olivier Matz <olivier.matz@6wind.com>
Olivier Matz [Fri, 8 Dec 2017 13:21:22 +0000 (14:21 +0100)]
test: add a testcase for dynamic logs
Update the logs test to also validate the dynamic log framework.
For now, also keep the old way using the static USER type.
Validated with:
# build/app/test --no-huge
...
RTE>>logs_autotest
== dynamic log types
error message
critical message
critical message
error message
== static log types
TESTAPP1: error message
TESTAPP1: critical message
TESTAPP2: critical message
TESTAPP1: error message
Test OK
Signed-off-by: Olivier Matz <olivier.matz@6wind.com>
Olivier Matz [Fri, 8 Dec 2017 13:21:21 +0000 (14:21 +0100)]
test: rely on dynamic log level to display hexdumps
Instead of relying on a compile-time option, use the global log-level
to decide if the hexdumps should be displayed in the tests.
Valitation:
# build/app/test --no-huge
RTE>>crc_autotest
Test OK
# build/app/test --no-huge --log-level=8
RTE>>crc_autotest
[many hexdumps...]
Test OK
Signed-off-by: Olivier Matz <olivier.matz@6wind.com>
Pavan Nikhilesh [Fri, 29 Dec 2017 07:58:56 +0000 (13:28 +0530)]
config: select maximum VFIO groups on ThunderX
Increase the max vfio groups to 128.
Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
Pavan Nikhilesh [Fri, 29 Dec 2017 07:58:55 +0000 (13:28 +0530)]
vfio: make groups max configurable
Make max vfio groups compile-time configurable so that platforms can
choose vfio group limit.
Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
Acked-by: Anatoly Burakov <anatoly.burakov@intel.com>
Hemant Agrawal [Mon, 15 Jan 2018 05:11:26 +0000 (10:41 +0530)]
bus/fslmc: clear the vfio group on error
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Hemant Agrawal [Mon, 15 Jan 2018 05:11:25 +0000 (10:41 +0530)]
vfio: expose clear group function for internal usages
other vfio based module e.g. fslmc will also need to use
the clear_group call.
So, exposing it and renaming it to *rte_vfio_clear_group*
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Acked-by: Anatoly Burakov <anatoly.burakov@intel.com>
Xiao Wang [Mon, 1 Jan 2018 22:00:10 +0000 (14:00 -0800)]
igb_uio: allow multi-process access
In some case, one device are accessed by different processes via
different BARs, so one uio device may be opened by more than one
process, for this case we just need to enable interrupt once, and
pci_clear_master only when the last process closed.
Fixes:
5f6ff30dc507 ("igb_uio: fix interrupt enablement after FLR in VM")
Cc: stable@dpdk.org
Signed-off-by: Xiao Wang <xiao.w.wang@intel.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
Adrien Mazarguil [Thu, 21 Dec 2017 13:00:04 +0000 (14:00 +0100)]
lib: fix missing includes in exported headers
Many exported headers rely on definitions found in rte_config.h without
including it, as shown by the following command:
grep -L '^#include <rte_config.h>' -- \
$(grep -Rl \
$(sed -n '/^#define \([^ ]\+\).*$/{s//\1/;H;};${x;s/\n//;s/\n/\\|/g;p;}' \
build/include/rte_config.h) \
-- build/include/)
We cannot assume external applications will include rte_config.h on their
own, neither directly nor through a -include parameter like DPDK does
internally.
This not only causes obvious compilation failures that can be reproduced
with check-includes.sh such as:
[...]/rte_memory.h:88:43: error: ‘RTE_CACHE_LINE_SIZE’ was not declared in
this scope
#define __rte_cache_aligned __rte_aligned(RTE_CACHE_LINE_SIZE)
^
It also results in less visible issues, for instance rte_hash_crc.h relying
on RTE_ARCH_X86_64's presence to provide dedicated inline functions.
This patch partially reverts the commit below and adds missing include
lines to the remaining files.
Fixes:
f1a7a5c5f404 ("remove include of generated config header")
Cc: stable@dpdk.org
Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
Adrien Mazarguil [Thu, 21 Dec 2017 13:00:02 +0000 (14:00 +0100)]
member: fix ISO C in exported header
Reported by check-includes.sh:
[...]/rte_member.h:107:40: error: ISO C does not permit named variadic
macros [-Werror=variadic-macros]
#define RTE_MEMBER_LOG(level, fmt, args...) \
^
Fixes:
857ed6c68cf2 ("member: implement main API")
Cc: stable@dpdk.org
Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Adrien Mazarguil [Thu, 21 Dec 2017 12:59:59 +0000 (13:59 +0100)]
flow_classify: fix ISO C in exported header
Reported by check-includes.sh:
[...]/rte_flow_classify.h:85:47: error: ISO C does not permit named
variadic macros [-Werror=variadic-macros]
#define RTE_FLOW_CLASSIFY_LOG(level, fmt, args...) \
^
Fixes:
be41ac2a330f ("flow_classify: introduce flow classify library")
Cc: stable@dpdk.org
Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Acked-by: Bernard Iremonger <bernard.iremonger@intel.com>