ot;)
Fixes: 617995dfc5b2 ("event/sw: add scheduling logic")
Cc: sta...@dpdk.org
Suggested-by: Bruce Richardson
Signed-off-by: Harry van Haaren
Acked-by: Bruce Richardson
---
v3:
- Fixup whitespace and line wrapping suggestions (Bruce)
- Add Fixes lines (Bruce)
- Cc stable, as this is a
incorrectly be reordered.
The existing unit-tests did not cover the RELEASE of an
ORDERED queue, and then stress-test the history-list by
iterating HIST_LIST times afterwards.
Signed-off-by: Harry van Haaren
Acked-by: Bruce Richardson
---
v3:
- Including Ack from v2
---
drivers/event/sw
state, and future events with op type of
forward could be incorrectly reordered.
Signed-off-by: Harry van Haaren
---
drivers/event/sw/sw_evdev_scheduler.c | 45 ---
1 file changed, 27 insertions(+), 18 deletions(-)
diff --git a/drivers/event/sw/sw_evdev_scheduler.c
b/drivers
incorrectly be reordered.
The existing unit-tests did not cover the RELEASE of an
ORDERED queue, and then stress-test the history-list by
iterating HIST_LIST times afterwards.
Signed-off-by: Harry van Haaren
---
drivers/event/sw/sw_evdev_selftest.c | 132 +++
1 file changed
events with op type of
forward could be incorrectly reordered.
Suggested-by: Bruce Richardson
Signed-off-by: Harry van Haaren
---
v2:
- Rework fix to simpler suggestion (Bruce)
- Respin patchset to "apply order" (Bruce)
---
drivers/event/sw/sw_evdev_scheduler.c | 15 +++--
incorrectly be reordered.
The existing unit-tests did not cover the RELEASE of an
ORDERED queue, and then stress-test the history-list by
iterating HIST_LIST times afterwards.
Signed-off-by: Harry van Haaren
---
drivers/event/sw/sw_evdev_selftest.c | 132 +++
1 file changed
topped.
This is fixed by ensuring the "active on lcore" status of each service
is set to 0 when an lcore is stopped.
Fixes: e30dd31847d2 ("service: add mechanism for quiescing")
Fixes: 8929de043eb4 ("service: retrieve lcore active state")
Reported-by: S. V. Naga Haris
Suggested-by: Morten Brørup
Signed-off-by: Harry van Haaren
---
This is split out as a seperate patch from the fix to allow
measuring the before/after of the service stats atomic fixup.
---
app/test/test_service_cores.c | 36 ---
1 file changed, 25 insertions
cycle-cost for polling a
MT safe service when statistics are enabled. No change was seen
for MT unsafe services, or when statistics are disabled.
Reported-by: Mattias Rönnblom
Suggested-by: Honnappa Nagarahalli
Suggested-by: Morten Brørup
Signed-off-by: Harry van Haaren
---
---
lib/eal/common
Suggested-by: Morten Brørup
Signed-off-by: Harry van Haaren
---
This is split out as a seperate patch from the fix to allow
measuring the before/after of the service stats atomic fixup.
---
app/test/test_service_cores.c | 36 ---
1 file changed, 25 insertions
Suggested-by: Honnappa Nagarahalli
Suggested-by: Morten Brørup
Suggested-by: Bruce Richardson
Signed-off-by: Harry van Haaren
---
v2 (Thanks Honnappa, Morten, Bruce & Mattias for discussion):
- Improved handling of stat stores to ensure they're atomic by
using __atomic_store_n() wit
Suggested-by: Morten Brørup
Signed-off-by: Harry van Haaren
---
This is split out as a seperate patch from the fix to allow
measuring the before/after of the service stats atomic fixup.
---
app/test/test_service_cores.c | 36 ---
1 file changed, 25 insertions
Suggested-by: Honnappa Nagarahalli
Suggested-by: Morten Brørup
Suggested-by: Bruce Richardson
Signed-off-by: Harry van Haaren
---
v3:
- Fix 32-bit build, by forcing natural alignment of uint64_t in
the struct that contains it, using __rte_aligned(8) macro.
- Note: I'm seeing a checkpatch &
: 6b1a14a83a06 ("app/eventdev: add packet distribution logs")
Signed-off-by: Harry van Haaren
---
Given this is an aesthetic only fix, I feel its not worth backporting.
Cc: pbhagavat...@marvell.com>
---
app/test-eventdev/test_perf_common.c | 2 +-
1 file changed, 1 insertion(+), 1 dele
)
- 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
---
v2:
- Add
This commit adds the per-port hints added to the eventdev API, indicating
which eventdev ports will be used for producing, forwarding, or consuming
events from the system.
Signed-off-by: Harry van Haaren
---
examples/eventdev_pipeline/pipeline_worker_generic.c | 2 ++
examples/eventdev_pipeline
This commit adds producer, worker and consumer port hints for the
test-eventdev application performance tests.
Signed-off-by: Harry van Haaren
---
app/test-eventdev/test_perf_common.c | 18 ++
1 file changed, 14 insertions(+), 4 deletions(-)
diff --git a/app/test-eventdev
From: "Pathak, Pravin"
This commit implements the changes required for using suggested
port type hint feature. Each port uses different credit quanta
based on port type specified using port configuration flags.
Each port has separate quanta defined in dlb2_priv.h
Producer and consumer ports will
Small improvements to the documentation based on Sphinx HTML doc output.
Signed-off-by: Harry van Haaren
---
Cc: konstantin.v.anan...@yandex.ru
---
doc/guides/prog_guide/bpf_lib.rst | 8
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/doc/guides/prog_guide/bpf_lib.rst
Move the "source_org" page to after overview, where it fits
better to explain the source-code layout of DPDK, before getting
into details of specific libraries such as EAL.
Also removes the older titles from the 3 documents which still had them.
Signed-off-by: Harry van Haaren
---
The PMD info get API has a void return type. Remove the
@return 0 Success doxygen comment as it doesn't make sense here.
Reported-by: Fredrik A Lindgren
Signed-off-by: Harry van Haaren
---
lib/librte_eventdev/eventdev_pmd.h | 3 ---
1 file changed, 3 deletions(-)
diff --git
seful, and a CPU load
estimate can be deduced from that information.
Signed-off-by: Harry van Haaren
---
lib/librte_eal/common/rte_service.c | 19 +++
lib/librte_eal/include/rte_service.h | 5 +
.../include/rte_service_component.h | 13
ports, always report that a port got an event.
Signed-off-by: Harry van Haaren
---
Note most of the changes here are unit-test changes to add
a statistic to the PMD. The actual "useful code" is a mere
handful of lines in a lot of noise.. could split into 2 patches?
---
driver
This commit exposes if useful work is done to the service
instance. The normal service_attr_get() API can be used to
retrieve the value of the attribute.
Signed-off-by: Harry van Haaren
---
drivers/event/sw/sw_evdev_scheduler.c | 7 +++
1 file changed, 7 insertions(+)
diff --git a/drivers
of scheduling, as well if
forward progress was made by the scheduler.
This patch implements an xstat for the SW PMD that exposes a
bitmask of ports that were scheduled to. In the unlikely case
that the SW PMD instance has 64 or more ports, return UINT64_MAX.
Signed-off-by: Harry van Haaren
-by: Harry van Haaren
---
See DPDK ML discussion in this thread:
http://mails.dpdk.org/archives/dev/2023-February/263523.html
---
app/test/meson.build | 1 +
app/test/test_service_cores.c | 32 +++-
2 files changed, 28 insertions(+), 5 deletions(-)
diff
-by: Harry van Haaren
---
v2:
- Add "performance" to suite name (David)
- Remove comment above perf-test suite (David)
See DPDK ML discussion in this thread:
http://mails.dpdk.org/archives/dev/2023-February/263523.html
---
app/test/meson.build | 1 +
app/test/test_service_co
avoiding duplication.
Reported-by: David Marchand
Suggested-by: Mattias Ronnblom
Signed-off-by: Harry van Haaren
---
app/test/test_service_cores.c | 43 ---
1 file changed, 20 insertions(+), 23 deletions(-)
diff --git a/app/test/test_service_cores.c b/app/test
code was duplicated in two tests, and
is now refactored to a standalone function avoiding duplication.
Reported-by: David Marchand
Suggested-by: Mattias Ronnblom
Signed-off-by: Harry van Haaren
---
Apologies for the quick respin noise; only the first diff-section
is added, no changes to the rest
code was duplicated in two tests, and
is now refactored to a standalone function avoiding duplication.
Reported-by: David Marchand
Suggested-by: Mattias Ronnblom
Signed-off-by: Harry van Haaren
---
v3:
- Use #define for timeout, and delay(1) (Mattias)
- Rework slcore-wait to use TIMEOUT_MS as
Fixes: e21df4b062b5 ("test/eventdev: add SW xstats tests")
Reported-by: Morten Brørup
Signed-off-by: Harry van Haaren
---
Note this is a fix for a potential build issue in 64-bit BE systems.
---
drivers/event/sw/sw_evdev_selftest.c | 15 +--
1 file changed, 9 insertions(+)
*functionally*
any combination of (NEW/FWD/RELEASE) is still allowed by
any port. The reason to add these is to allow a PMD to allocate
internal resource more efficiently.
Note that this implementation does not change the ABI,
as it gives a purpose to existing bits in an existing field.
Regards
)
- 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
---
lib/eventdev
This commit adds the per-port hints added to the eventdev API, indicating
which eventdev ports will be used for producing, forwarding, or consuming
events from the system.
Signed-off-by: Harry van Haaren
---
examples/eventdev_pipeline/pipeline_worker_generic.c | 2 ++
examples/eventdev_pipeline
of scheduling, as well if
forward progress was made by the scheduler.
This patch implements an xstat for the SW PMD that exposes a
bitmask of ports that were scheduled to. In the unlikely case
that the SW PMD instance has 64 or more ports, return UINT64_MAX.
Signed-off-by: Harry van Haaren
the eventdev API,
then the software implementation is added, and finally
tests are added for the sw eventdev implementation.
This patchset contains the work of multiple developers,
please see signoffs on each patch.
Signed-off-by: Harry van Haaren
[1] http://dpdk.org/ml/archives/dev/2016
From: Bruce Richardson
Add in APIs for extended stats so that eventdev implementations can report
out information on their internal state. The APIs are based on, but not
identical to, the equivalent ethdev functions.
Signed-off-by: Bruce Richardson
Signed-off-by: Harry van Haaren
---
lib
header is not needed, but following their removal, rte_memory.h is
needed for the definition of the __rte_cache_aligned macro.
Signed-off-by: Bruce Richardson
Signed-off-by: Harry van Haaren
---
lib/librte_eventdev/Makefile | 1 -
lib/librte_eventdev/rte_eventdev.h | 5 +++--
2 files changed, 3
: Creating eventdev sw device event_sw0, numa_node=0, sched_quanta=128
RTE>>
Signed-off-by: Bruce Richardson
Signed-off-by: Harry van Haaren
---
config/common_base| 5 +
drivers/event/Makefile| 1 +
drivers/event/sw/Ma
From: Bruce Richardson
Add in the info_get function to return details on the queues, flow,
prioritization capabilities, etc. that this device has.
Signed-off-by: Bruce Richardson
Signed-off-by: Harry van Haaren
---
drivers/event/sw/sw_evdev.c | 23 +++
drivers/event/sw
From: Bruce Richardson
Signed-off-by: Bruce Richardson
Signed-off-by: Harry van Haaren
---
drivers/event/sw/sw_evdev.c | 32
1 file changed, 32 insertions(+)
diff --git a/drivers/event/sw/sw_evdev.c b/drivers/event/sw/sw_evdev.c
index 1bdcc05..8cc8e06 100644
From: Bruce Richardson
Add in the data-structures for the ports used by workers to send
packets to/from the scheduler. Also add in the functions to
create/destroy those ports.
Signed-off-by: Bruce Richardson
Signed-off-by: Harry van Haaren
---
drivers/event/sw/event_ring.h | 179
From: Bruce Richardson
Signed-off-by: Bruce Richardson
Signed-off-by: Harry van Haaren
---
drivers/event/sw/sw_evdev.c | 67 +
1 file changed, 67 insertions(+)
diff --git a/drivers/event/sw/sw_evdev.c b/drivers/event/sw/sw_evdev.c
index 51f4ffd
From: Bruce Richardson
Add in the data structures for the event queues, and the eventdev
functions to create and destroy those queues.
Signed-off-by: Bruce Richardson
Signed-off-by: Harry van Haaren
---
drivers/event/sw/iq_ring.h | 176
drivers
From: Bruce Richardson
Signed-off-by: Bruce Richardson
Signed-off-by: Harry van Haaren
---
drivers/event/sw/sw_evdev.c | 17 +
drivers/event/sw/sw_evdev.h | 13 +
2 files changed, 30 insertions(+)
diff --git a/drivers/event/sw/sw_evdev.c b/drivers/event/sw
From: Bruce Richardson
Signed-off-by: Bruce Richardson
Signed-off-by: Harry van Haaren
---
drivers/event/sw/sw_evdev.c | 74 +
1 file changed, 74 insertions(+)
diff --git a/drivers/event/sw/sw_evdev.c b/drivers/event/sw/sw_evdev.c
index 021f3ab
From: Bruce Richardson
Signed-off-by: Bruce Richardson
Signed-off-by: Harry van Haaren
---
drivers/event/sw/sw_evdev.c | 109
1 file changed, 109 insertions(+)
diff --git a/drivers/event/sw/sw_evdev.c b/drivers/event/sw/sw_evdev.c
index 318f1d7
Signed-off-by: Gage Eads
Signed-off-by: Harry van Haaren
---
drivers/event/sw/Makefile | 1 +
drivers/event/sw/sw_evdev.c | 1 +
drivers/event/sw/sw_evdev.h | 12 +
drivers/event/sw/sw_evdev_scheduler.c | 586 ++
4 files changed, 600
new event, to
drop a previous event, are converted to a series of flags which will
be used by the scheduler code to perform the needed actions for that
event.
Signed-off-by: Bruce Richardson
Signed-off-by: Gage Eads
Signed-off-by: Harry van Haaren
---
drivers/event/sw/Makefile | 1
From: Bruce Richardson
Add support for xstats to report out on the state of the eventdev.
Useful for debugging and for unit tests, as well as observability
at runtime and performance tuning of apps to work well with the
scheduler.
Signed-off-by: Bruce Richardson
Signed-off-by: Harry van Haaren
Signed-off-by: Harry van Haaren
---
app/test/Makefile |5 +-
app/test/test_sw_eventdev.c | 2031 +++
2 files changed, 2035 insertions(+), 1 deletion(-)
create mode 100644 app/test/test_sw_eventdev.c
diff --git a/app/test/Makefile b/app/test
eventdev implementation.
This patchset contains the work of multiple developers,
please see signoffs on each patch.
Signed-off-by: Harry van Haaren
Bruce Richardson (15):
eventdev: remove unneeded dependencies
eventdev: add APIs for extended stats
event/sw: add new software-only eventdev
: Creating eventdev sw device event_sw0, numa_node=0, sched_quanta=128
RTE>>
Signed-off-by: Bruce Richardson
Signed-off-by: Harry van Haaren
---
config/common_base| 5 +
drivers/event/Makefile| 1 +
drivers/event/sw/Ma
header is not needed, but following their removal, rte_memory.h is
needed for the definition of the __rte_cache_aligned macro.
Signed-off-by: Bruce Richardson
Signed-off-by: Harry van Haaren
---
lib/librte_eventdev/Makefile | 1 -
lib/librte_eventdev/rte_eventdev.h | 5 +++--
2 files changed, 3
From: Bruce Richardson
Add in the info_get function to return details on the queues, flow,
prioritization capabilities, etc. that this device has.
Signed-off-by: Bruce Richardson
Signed-off-by: Harry van Haaren
---
drivers/event/sw/sw_evdev.c | 23 +++
drivers/event/sw
From: Bruce Richardson
Add in APIs for extended stats so that eventdev implementations can report
out information on their internal state. The APIs are based on, but not
identical to, the equivalent ethdev functions.
Signed-off-by: Bruce Richardson
Signed-off-by: Harry van Haaren
---
lib
From: Bruce Richardson
Signed-off-by: Bruce Richardson
Signed-off-by: Harry van Haaren
---
drivers/event/sw/sw_evdev.c | 15 +++
drivers/event/sw/sw_evdev.h | 11 +++
2 files changed, 26 insertions(+)
diff --git a/drivers/event/sw/sw_evdev.c b/drivers/event/sw/sw_evdev.c
From: Bruce Richardson
Add in the data structures for the event queues, and the eventdev
functions to create and destroy those queues.
Signed-off-by: Bruce Richardson
Signed-off-by: Harry van Haaren
---
drivers/event/sw/iq_ring.h | 176
drivers
From: Bruce Richardson
Add in the data-structures for the ports used by workers to send
packets to/from the scheduler. Also add in the functions to
create/destroy those ports.
Signed-off-by: Bruce Richardson
Signed-off-by: Harry van Haaren
---
drivers/event/sw/event_ring.h | 179
From: Bruce Richardson
Signed-off-by: Bruce Richardson
Signed-off-by: Harry van Haaren
---
drivers/event/sw/sw_evdev.c | 32
1 file changed, 32 insertions(+)
diff --git a/drivers/event/sw/sw_evdev.c b/drivers/event/sw/sw_evdev.c
index b657eb4..ceca865 100644
From: Bruce Richardson
Signed-off-by: Bruce Richardson
Signed-off-by: Harry van Haaren
---
drivers/event/sw/sw_evdev.c | 68 +
1 file changed, 68 insertions(+)
diff --git a/drivers/event/sw/sw_evdev.c b/drivers/event/sw/sw_evdev.c
index 0b26fcb
From: Bruce Richardson
Signed-off-by: Bruce Richardson
Signed-off-by: Harry van Haaren
---
drivers/event/sw/sw_evdev.c | 74 +
1 file changed, 74 insertions(+)
diff --git a/drivers/event/sw/sw_evdev.c b/drivers/event/sw/sw_evdev.c
index 17b5e49
Signed-off-by: Gage Eads
Signed-off-by: Harry van Haaren
---
drivers/event/sw/Makefile | 1 +
drivers/event/sw/sw_evdev.c | 1 +
drivers/event/sw/sw_evdev.h | 11 +
drivers/event/sw/sw_evdev_scheduler.c | 602 ++
4 files changed, 615
From: Bruce Richardson
Add support for xstats to report out on the state of the eventdev.
Useful for debugging and for unit tests, as well as observability
at runtime and performance tuning of apps to work well with the
scheduler.
Signed-off-by: Bruce Richardson
Signed-off-by: Harry van Haaren
new event, to
drop a previous event, are converted to a series of flags which will
be used by the scheduler code to perform the needed actions for that
event.
Signed-off-by: Bruce Richardson
Signed-off-by: Gage Eads
Signed-off-by: Harry van Haaren
---
drivers/event/sw/Makefile | 1
autotest.py
Signed-off-by: Bruce Richardson
Signed-off-by: David Hunt
Signed-off-by: Harry van Haaren
---
app/test/Makefile |5 +-
app/test/autotest_data.py | 26 +
app/test/test_sw_eventdev.c | 2071 +++
3 files changed, 2101 insertions(+), 1
From: Bruce Richardson
Signed-off-by: Bruce Richardson
Signed-off-by: Harry van Haaren
---
drivers/event/sw/sw_evdev.c | 118
1 file changed, 118 insertions(+)
diff --git a/drivers/event/sw/sw_evdev.c b/drivers/event/sw/sw_evdev.c
index e352a5c
This commit details what is meant by the various email
tags that the DPDK community use regularly. The descriptions
state what each tag means, drawing from the kernel's understanding[1],
and the discussion on the DPDK mailing list[2].
Signed-off-by: Harry van Haaren
[1]
https://www.kerne
. Once sample
app is enabled a service core walk-through with that sample app can be added
to the docs, to provide a tutorial on service-core usage.
Harry van Haaren (7):
service cores: header and implementation
service cores: EAL init changes
service cores: coremask parsing
service cores
at initialization
time, the services that require CPU time are already available
when we reach the end of rte_eal_init().
Signed-off-by: Harry van Haaren
---
v2 comments:
- Include BSD implementation (Jerin)
- Move details of core-tracking into rte_service_lcore_add(Jerin)
- Given there are
of the service core concept,
with 2 RFCs and this being v2 of the implementation.
Signed-off-by: Harry van Haaren
---
v2:
Thanks Jerin for review - below a list your suggested changes;
- Doxygen rename to "service cores" for consistency
- use lcore instead of core for function names
-
Add logic for parsing a coremask from EAL, which allows
the application to be unaware of the cores being taken from
its coremask.
Signed-off-by: Harry van Haaren
Acked-by: Jerin Jacob
---
v2:
- Remove printf() (Jerin)
- Remove commented code (Jerin)
- simplified core tracking, no requirement
the
registered services.
Signed-off-by: Harry van Haaren
---
v2:
- Remove #include (Jerin)
- Remove development prints (Jerin)
- Track service name in PMD
- Print warning if service does not have an lcore mapped (Jerin)
---
drivers/event/sw/sw_evdev.c | 32
stop service lcores are actually having
effect.
Signed-off-by: Harry van Haaren
---
v2 changes;
- Rename variable to slcore_id (Jerin)
- Rename function to unregister_all() (Jerin)
- Fix typos (Jerin)
- Add unit test for get_by_name()
- Add unit tests (all suggestions by Jerin)
-- get_name
reflect that it can be run as a service.
Signed-off-by: Harry van Haaren
---
I would like to enable the service-cores in the eventdev_pipeline
sample app, to showcase the power of the service-core abstraction.
There is some remaining work TODO, in order to genericise the sample
app for both HW and
Sign-up to be the maintainer of public header files and
implementation of the service-cores infrastructure.
Signed-off-by: Harry van Haaren
---
MAINTAINERS | 6 ++
1 file changed, 6 insertions(+)
diff --git a/MAINTAINERS b/MAINTAINERS
index 00351ff..2e5081c 100644
--- a/MAINTAINERS
+++ b
This commit allows port_setup() to be called multiple times,
as is required by the API to re-configure an already initialized port.
Signed-off-by: Harry van Haaren
---
This patch can be squashed with 5/5 of Bruce's event rings patchset:
http://dpdk.org/dev/patchwork/patch/26110/
dr
is still some churn there to enable both HW/SW PMDs seamlessly. Once sample
app is enabled a service core walk-through with that sample app can be added
to the docs, to provide a tutorial on service-core usage.
Harry van Haaren (7):
service cores: header and implementation
service cores: EAL
of the service core concept,
with 2 RFCs and this being v2 of the implementation.
Signed-off-by: Harry van Haaren
---
v4:
- Fixed (unsigned) checkpatch error
- Fixed misleading-indentation/if { } brackets (checkpatch/Jerin)
- Fixed set function argument to be "enable" instead of "
at initialization
time, the services that require CPU time are already available
when we reach the end of rte_eal_init().
Signed-off-by: Harry van Haaren
---
v4:
- Added #include for service cores in BSD eal.c
v2 comments:
- Include BSD implementation (Jerin)
- Move details of core-tracking
Add logic for parsing a coremask from EAL, which allows
the application to be unaware of the cores being taken from
its coremask.
Signed-off-by: Harry van Haaren
Acked-by: Jerin Jacob
---
v4:
- Add --help print output (Jerin)
- Fixed coremask parsing to ensure master core is ROLE_RTE (Jerin
the
registered services.
Signed-off-by: Harry van Haaren
Acked-by: Jerin Jacob
---
v4:
- Include Acked by
v2:
- Remove #include (Jerin)
- Remove development prints (Jerin)
- Track service name in PMD
- Print warning if service does not have an lcore mapped (Jerin)
---
drivers/event/sw
stop service lcores are actually having
effect.
Signed-off-by: Harry van Haaren
---
v4:
- Remove static slcore_id, make service-core choice dynamic (Jerin)
- Use lcore_get_next() to acquire service cores (Jerin)
- Improve unit test to ensure app can remote_launc() on a core that
previously served
Sign-up to be the maintainer of public header files and
implementation of the service-cores infrastructure.
Signed-off-by: Harry van Haaren
---
v4:
- fix rte_service.c filename
- Include service_cores.rst file
---
MAINTAINERS | 7 +++
1 file changed, 7 insertions(+)
diff --git a
reflect that it can be run as a service.
Signed-off-by: Harry van Haaren
Acked-by: Jerin Jacob
---
v4:
- Add ack from ML
I would like to enable the service-cores in the eventdev_pipeline
sample app, to showcase the power of the service-core abstraction.
There is some remaining work TODO, in order
service-core usage.
Harry van Haaren (7):
service cores: header and implementation
service cores: EAL init changes
service cores: coremask parsing
service cores: add unit tests
event/sw: enable SW PMD with service capability
doc: add service cores to doc and release notes
maintainers
hardware version exists that does not require a CPU.
Signed-off-by: Harry van Haaren
---
v5:
- Improved service_set_stats_enable() to operate per service (Jerin)
- Fixed un-documented doxygen parameter (Jerin)
- Renamed cores_state to lcore_states (Jerin)
- Optimized atomic operations and flags
at initialization
time, the services that require CPU time are already available
when we reach the end of rte_eal_init().
Signed-off-by: Harry van Haaren
Acked-by: Jerin Jacob
---
v5:
- Simplify EAL code, calling rte_service_start_with_defaults() (Jerin)
- Added Ack from ML
v4:
- Added
Add logic for parsing a coremask from EAL, which allows
the application to be unaware of the cores being taken from
its coremask.
Signed-off-by: Harry van Haaren
Acked-by: Jerin Jacob
---
v4:
- Add --help print output (Jerin)
- Fixed coremask parsing to ensure master core is ROLE_RTE (Jerin
the
registered services.
Signed-off-by: Harry van Haaren
Acked-by: Jerin Jacob
---
v4:
- Include Acked by
v2:
- Remove #include (Jerin)
- Remove development prints (Jerin)
- Track service name in PMD
- Print warning if service does not have an lcore mapped (Jerin)
---
drivers/event/sw
stop service lcores are actually having
effect.
Signed-off-by: Harry van Haaren
Acked-by: Jerin Jacob
---
v5:
- Improve unit test for dump() to enable and disable stats (Jerin)
- Add new unit test for MT unsafe service callback (Harry)
- Added Ack from ML
v4:
- Remove static slcore_id, make
reflect that it can be run as a service.
Signed-off-by: Harry van Haaren
Acked-by: Jerin Jacob
---
v4:
- Add ack from ML
I would like to enable the service-cores in the eventdev_pipeline
sample app, to showcase the power of the service-core abstraction.
There is some remaining work TODO, in order
Sign-up to be the maintainer of public header files and
implementation of the service-cores infrastructure.
Signed-off-by: Harry van Haaren
Acked-by: Jerin Jacob
---
v5:
- Mark with EXPERIMENTAL
- Update filename to rte_service_component.h
- Added Ack from ML
v4:
- fix rte_service.c filename
history. If the
original author performs a review, their Reviewed-by: or Acked-by: is
stored in git history (same as now).
Signed-off-by: Harry van Haaren
---
This fixline suggestion was proposed here:
http://dpdk.org/ml/archives/dev/2017-July/071107.html
Based on Thomas' feedback, improv
This commit allows the -S (captial 's') to be used to indicate
a corelist for Services. This is a "nice to have" patch, and does
not modify any of the service core functionality.
Suggested-by: Jerin Jacob
Suggested-by: Thomas Monjalon
Signed-off-by: Harry van Haaren
---
l
nt the northbound APIs")
Cc: jerin.ja...@caviumnetworks.com
Signed-off-by: Harry van Haaren
---
lib/librte_eventdev/rte_eventdev.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/librte_eventdev/rte_eventdev.c
b/lib/librte_eventdev/rte_eventdev.c
index ca2900c..bb
to compile.
Suggested-by: Jesse Bruni
Signed-off-by: Harry van Haaren
---
lib/librte_eventdev/rte_eventdev.c | 36 +---
lib/librte_eventdev/rte_eventdev.h | 36 ++--
test/test/test_eventdev_octeontx.c | 32
t formula is actually a uin64_t.
Simply defining a const uint64_t and using it ensures the compiler
is aware of the intention. The issue would only manifest if there
were greater than 31 services registered.
Fixes: 21698354c832 ("service: introduce service cores concept")
Signed-off-by: Harr
ice cores concept")
Signed-off-by: Harry van Haaren
---
v2:
- Use UINT64_C() instead of const uint64_t method (Gaetan)
- Refactored to keep checkpatch happy with line-lenghts
---
lib/librte_eal/common/rte_service.c | 14 --
1 file changed, 8 insertions(+), 6 deletions(-)
diff
The git fixline was updated in the dpdk.org repository to add the original
author of the line being "fixed", using Cc:
This patch updates the fixline here in the website. See patch for details:
http://dpdk.org/dev/patchwork/patch/26860/
Signed-off-by: Harry van Haaren
---
dev.html
1 - 100 of 610 matches
Mail list logo