Changes since RFC:
- addressed issues reported in RFC
- rewrote some functions for easier understanding
- added capability on all input queues
How to test:
sudo mkdir /var/run/odp/
start the ODP application
sudo dd if=/var/run/odp/"odp pid"-"inteface"-flow-"queue number" of=~/test.pcap
From: Ilias Apalodimas
Changes since RFC:
- Addressed issues reported in RFC
- rewrote some functions for easier understanding
- added capability on all input queues
How to test:
sudo mkdir /var/run/odp/
start the ODP application
sudo dd
https://bugs.linaro.org/show_bug.cgi?id=3632
Bill Fischofer changed:
What|Removed |Added
Resolution|--- |FIXED
https://bugs.linaro.org/show_bug.cgi?id=3517
Bill Fischofer changed:
What|Removed |Added
Resolution|--- |FIXED
Dmitry Eremin-Solenikov(lumag) replied on github web page:
m4/odp_libconfig.m4
line 28
@@ -0,0 +1,36 @@
+# ODP_LIBCONFIG([ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
+# -
+AC_DEFUN([ODP_LIBCONFIG],
+[dnl
Matias Elo(matiaselo) replied on github web page:
platform/linux-generic/include/odp_internal.h
line 15
@@ -55,10 +56,16 @@ struct odp_global_data_s {
odp_cpumask_t control_cpus;
odp_cpumask_t worker_cpus;
int num_cpus_installed;
+ config_t *libconfig_default;
+
Dmitry Eremin-Solenikov(lumag) replied on github web page:
m4/odp_libconfig.m4
line 28
@@ -0,0 +1,36 @@
+# ODP_LIBCONFIG([ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
+# -
+AC_DEFUN([ODP_LIBCONFIG],
+[dnl
Matias Elo(matiaselo) replied on github web page:
m4/odp_libconfig.m4
line 28
@@ -0,0 +1,36 @@
+# ODP_LIBCONFIG([ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
+# -
+AC_DEFUN([ODP_LIBCONFIG],
+[dnl
Matias Elo(matiaselo) replied on github web page:
m4/odp_libconfig.m4
line 28
@@ -0,0 +1,36 @@
+# ODP_LIBCONFIG([ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
+# -
+AC_DEFUN([ODP_LIBCONFIG],
+[dnl
Dmitry Eremin-Solenikov(lumag) replied on github web page:
platform/linux-generic/odp_libconfig.c
line 37
@@ -0,0 +1,82 @@
+/* Copyright (c) 2018, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ */
+
+#include "config.h"
+
+#include
+#include
+
From: Petri Savolainen
Optimize scheduler throughput with packet IO interfaces.
Special pktio poll commands are removed and event queue is
used instead to trigger packet input polling. Packet input is
polled when those queues are empty. Thus, these queues
connected
From: Petri Savolainen
When packet input queue is atomic, packets received from packet
input are passed directly to the application. Other queue types
may have events stashed on other threads, so for those incoming
packets are always enqueued (to maintain packet
Matias Elo(matiaselo) replied on github web page:
Makefile.am
line 5
@@ -20,7 +20,7 @@ SUBDIRS = \
@DX_RULES@
-EXTRA_DIST = bootstrap CHANGELOG config/README
+EXTRA_DIST = bootstrap CHANGELOG config/README config/odp-linux.conf
Comment:
A good point. Would this be OK?
Dmitry Eremin-Solenikov(lumag) replied on github web page:
m4/odp_libconfig.m4
line 29
@@ -0,0 +1,36 @@
+# ODP_LIBCONFIG([ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
+# -
+AC_DEFUN([ODP_LIBCONFIG],
+[dnl
Dmitry Eremin-Solenikov(lumag) replied on github web page:
m4/odp_libconfig.m4
line 11
@@ -0,0 +1,36 @@
+# ODP_LIBCONFIG([ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
+# -
+AC_DEFUN([ODP_LIBCONFIG],
+[dnl
Dmitry Eremin-Solenikov(lumag) replied on github web page:
platform/linux-generic/include/odp_internal.h
line 15
@@ -55,10 +56,16 @@ struct odp_global_data_s {
odp_cpumask_t control_cpus;
odp_cpumask_t worker_cpus;
int num_cpus_installed;
+ config_t
Dmitry Eremin-Solenikov(lumag) replied on github web page:
m4/odp_libconfig.m4
line 31
@@ -0,0 +1,36 @@
+# ODP_LIBCONFIG([ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
+# -
+AC_DEFUN([ODP_LIBCONFIG],
+[dnl
Dmitry Eremin-Solenikov(lumag) replied on github web page:
Makefile.am
line 5
@@ -20,7 +20,7 @@ SUBDIRS = \
@DX_RULES@
-EXTRA_DIST = bootstrap CHANGELOG config/README
+EXTRA_DIST = bootstrap CHANGELOG config/README config/odp-linux.conf
Comment:
Should ODP install this header file
Matias Elo(matiaselo) replied on github web page:
m4/odp_libconfig.m4
line 29
@@ -0,0 +1,36 @@
+# ODP_LIBCONFIG([ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
+# -
+AC_DEFUN([ODP_LIBCONFIG],
+[dnl
Dmitry Eremin-Solenikov(lumag) replied on github web page:
m4/odp_libconfig.m4
line 19
@@ -0,0 +1,36 @@
+# ODP_LIBCONFIG([ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
+# -
+AC_DEFUN([ODP_LIBCONFIG],
+[dnl
Dmitry Eremin-Solenikov(lumag) replied on github web page:
m4/odp_libconfig.m4
line 28
@@ -0,0 +1,36 @@
+# ODP_LIBCONFIG([ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
+# -
+AC_DEFUN([ODP_LIBCONFIG],
+[dnl
Dmitry Eremin-Solenikov(lumag) replied on github web page:
platform/linux-generic/odp_pcapng.c
line 382
@@ -0,0 +1,434 @@
+/* Copyright (c) 2018, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ */
+
+#include "config.h"
+
+#if defined(ODP_PCAPNG) &&
Ilias Apalodimas(apalos) replied on github web page:
platform/linux-generic/odp_pcapng.c
line 382
@@ -0,0 +1,434 @@
+/* Copyright (c) 2018, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ */
+
+#include "config.h"
+
+#if defined(ODP_PCAPNG) &&
Dmitry Eremin-Solenikov(lumag) replied on github web page:
platform/linux-generic/include/odp_internal.h
line 15
@@ -55,10 +56,16 @@ struct odp_global_data_s {
odp_cpumask_t control_cpus;
odp_cpumask_t worker_cpus;
int num_cpus_installed;
+ config_t
Dmitry Eremin-Solenikov(lumag) replied on github web page:
platform/linux-generic/libodp-linux.pc.in
line 5
@@ -7,5 +7,5 @@ Name: libodp-linux
Description: The ODP packet processing engine
Version: @PKGCONFIG_VERSION@
Libs: -L${libdir} -lodp-linux
-Libs.private: @OPENSSL_STATIC_LIBS@
Dmitry Eremin-Solenikov(lumag) replied on github web page:
platform/linux-generic/Makefile.am
line 14
@@ -94,6 +96,8 @@ noinst_HEADERS = \
include/odp_forward_typedefs_internal.h \
include/odp_internal.h \
include/odp_ipsec_internal.h \
+
Matias Elo(matiaselo) replied on github web page:
m4/odp_libconfig.m4
line 11
@@ -0,0 +1,36 @@
+# ODP_LIBCONFIG([ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
+# -
+AC_DEFUN([ODP_LIBCONFIG],
+[dnl
Matias Elo(matiaselo) replied on github web page:
platform/linux-generic/Makefile.am
line 14
@@ -94,6 +96,8 @@ noinst_HEADERS = \
include/odp_forward_typedefs_internal.h \
include/odp_internal.h \
include/odp_ipsec_internal.h \
+
Dmitry Eremin-Solenikov(lumag) replied on github web page:
m4/odp_libconfig.m4
line 29
@@ -0,0 +1,36 @@
+# ODP_LIBCONFIG([ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
+# -
+AC_DEFUN([ODP_LIBCONFIG],
+[dnl
Matias Elo(matiaselo) replied on github web page:
m4/odp_libconfig.m4
line 28
@@ -0,0 +1,36 @@
+# ODP_LIBCONFIG([ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
+# -
+AC_DEFUN([ODP_LIBCONFIG],
+[dnl
Dmitry Eremin-Solenikov(lumag) replied on github web page:
m4/odp_libconfig.m4
line 28
@@ -0,0 +1,36 @@
+# ODP_LIBCONFIG([ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
+# -
+AC_DEFUN([ODP_LIBCONFIG],
+[dnl
Dmitry Eremin-Solenikov(lumag) replied on github web page:
m4/odp_libconfig.m4
line 28
@@ -0,0 +1,36 @@
+# ODP_LIBCONFIG([ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
+# -
+AC_DEFUN([ODP_LIBCONFIG],
+[dnl
Dmitry Eremin-Solenikov(lumag) replied on github web page:
platform/linux-generic/odp_packet_io.c
@@ -485,6 +486,11 @@ int odp_pktio_start(odp_pktio_t hdl)
sched_fn->pktio_start(_odp_pktio_index(hdl), num, index, odpq);
}
+ if (ODP_PCAPNG) {
+ if
Matias Elo(matiaselo) replied on github web page:
m4/odp_libconfig.m4
line 31
@@ -0,0 +1,36 @@
+# ODP_LIBCONFIG([ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
+# -
+AC_DEFUN([ODP_LIBCONFIG],
+[dnl
Continue scheduler / queue optimization with pktin queue poll optimization.
Remove special packet IO poll command and use queue instead. Optimize atomic
pktin queue throughput by passing packets directly to application.
Atomic queue packet rate : +18 ... 100%
Parallel queue packet rate : + 7 ...
From: Petri Savolainen
Drop events when queue enqueue fails. Enqueue failure is more
likely now when queue has limited size.
Signed-off-by: Petri Savolainen
---
/** Email created from pull request 504 (psavol:master-sched-optim-2)
**
From: Dmitry Eremin-Solenikov
Signed-off-by: Dmitry Eremin-Solenikov
Reviewed-by: Petri Savolainen
Reviewed-by: Bill Fischofer
Signed-off-by: Maxim Uvarov
From: Dmitry Eremin-Solenikov
Signed-off-by: Dmitry Eremin-Solenikov
Reviewed-by: Petri Savolainen
Reviewed-by: Bill Fischofer
Signed-off-by: Maxim Uvarov
From: Dmitry Eremin-Solenikov
Signed-off-by: Dmitry Eremin-Solenikov
Reviewed-by: Bill Fischofer
Signed-off-by: Maxim Uvarov
---
/** Email created from pull request 505
From: Dmitry Eremin-Solenikov
Signed-off-by: Dmitry Eremin-Solenikov
Reviewed-by: Bill Fischofer
Signed-off-by: Maxim Uvarov
---
/** Email created from pull request 505
From: Dmitry Eremin-Solenikov
Signed-off-by: Dmitry Eremin-Solenikov
Reviewed-by: Bill Fischofer
Signed-off-by: Maxim Uvarov
---
/** Email created from pull request 505
From: Dmitry Eremin-Solenikov
Only override frag_mode if respective flag is set.
Signed-off-by: Dmitry Eremin-Solenikov
Reviewed-by: Bill Fischofer
Signed-off-by: Maxim Uvarov
From: Dmitry Eremin-Solenikov
Signed-off-by: Dmitry Eremin-Solenikov
Reviewed-by: Bill Fischofer
Signed-off-by: Maxim Uvarov
---
/** Email created from pull request 505
Bill Fischofer(Bill-Fischofer-Linaro) replied on github web page:
platform/linux-generic/odp_schedule_basic.c
@@ -720,9 +727,32 @@ static inline int poll_pktin(uint32_t qi)
if (num_pktin == 0)
sched_cb_pktio_stop_finalize(pktio_index);
+
+
From: Dmitry Eremin-Solenikov
Signed-off-by: Dmitry Eremin-Solenikov
Reviewed-by: Bill Fischofer
Signed-off-by: Maxim Uvarov
---
/** Email created from pull request 505
From: Dmitry Eremin-Solenikov
Signed-off-by: Dmitry Eremin-Solenikov
Reviewed-by: Bill Fischofer
Signed-off-by: Maxim Uvarov
---
/** Email created from pull request 505
From: Dmitry Eremin-Solenikov
Signed-off-by: Dmitry Eremin-Solenikov
Reviewed-by: Bill Fischofer
Signed-off-by: Maxim Uvarov
---
/** Email created from pull request 505
Matias Elo(matiaselo) replied on github web page:
platform/linux-generic/Makefile.am
line 14
@@ -94,6 +96,8 @@ noinst_HEADERS = \
include/odp_forward_typedefs_internal.h \
include/odp_internal.h \
include/odp_ipsec_internal.h \
+
Matias Elo(matiaselo) replied on github web page:
platform/linux-generic/Makefile.am
line 14
@@ -94,6 +96,8 @@ noinst_HEADERS = \
include/odp_forward_typedefs_internal.h \
include/odp_internal.h \
include/odp_ipsec_internal.h \
+
From: Maxim Uvarov
Signed-off-by: Maxim Uvarov
---
/** Email created from pull request 506 (muvarov:devel/version_update)
** https://github.com/Linaro/odp/pull/506
** Patch: https://github.com/Linaro/odp/pull/506.patch
** Base sha:
github
/** Email created from pull request 505 (muvarov:devel/master_merge_api-next)
** https://github.com/Linaro/odp/pull/505
** Patch: https://github.com/Linaro/odp/pull/505.patch
** Base sha: 284f52d72ec19df3774c7409780f1f9eea33b8e6
** Merge commit
Signed-off-by: Maxim Uvarov maxim.uva...@linaro.org
github
/** Email created from pull request 506 (muvarov:devel/version_update)
** https://github.com/Linaro/odp/pull/506
** Patch: https://github.com/Linaro/odp/pull/506.patch
** Base sha:
From: Dmitry Eremin-Solenikov
Signed-off-by: Dmitry Eremin-Solenikov
Reviewed-by: Bill Fischofer
Signed-off-by: Maxim Uvarov
---
/** Email created from pull request 505
From: Dmitry Eremin-Solenikov
Allow per-packet override of IP parameters.
Signed-off-by: Dmitry Eremin-Solenikov
Reviewed-by: Bill Fischofer
Signed-off-by: Maxim Uvarov
Bill Fischofer(Bill-Fischofer-Linaro) replied on github web page:
platform/linux-generic/odp_packet_io.c
line 117
@@ -720,12 +727,29 @@ int sched_cb_pktin_poll_one(int pktio_index,
return num_rx;
}
-int sched_cb_pktin_poll(int pktio_index, int num_queue, int index[])
+int
Bill Fischofer(Bill-Fischofer-Linaro) replied on github web page:
platform/linux-generic/odp_schedule_basic.c
@@ -805,17 +835,26 @@ static inline int do_schedule_grp(odp_queue_t *out_queue,
odp_event_t out_ev[],
* priorities. Stop scheduling queue when pktio
Bill Fischofer(Bill-Fischofer-Linaro) replied on github web page:
platform/linux-generic/odp_packet_io.c
line 50
@@ -638,8 +638,20 @@ static odp_buffer_hdr_t *pktin_dequeue(queue_t q_int)
if (pkts <= 0)
return NULL;
- if (pkts > 1)
-
From: Dmitry Eremin-Solenikov
Signed-off-by: Dmitry Eremin-Solenikov
Reviewed-by: Bill Fischofer
Signed-off-by: Maxim Uvarov
---
/** Email created from pull request 505
github
/** Email created from pull request 505 (muvarov:devel/master_merge_api-next)
** https://github.com/Linaro/odp/pull/505
** Patch: https://github.com/Linaro/odp/pull/505.patch
** Base sha: 284f52d72ec19df3774c7409780f1f9eea33b8e6
** Merge commit
From: Dmitry Eremin-Solenikov
Signed-off-by: Dmitry Eremin-Solenikov
Reviewed-by: Petri Savolainen
Reviewed-by: Bill Fischofer
Signed-off-by: Maxim Uvarov
From: Dmitry Eremin-Solenikov
Signed-off-by: Dmitry Eremin-Solenikov
Reviewed-by: Petri Savolainen
Reviewed-by: Bill Fischofer
Signed-off-by: Maxim Uvarov
From: Dmitry Eremin-Solenikov
Signed-off-by: Dmitry Eremin-Solenikov
Reviewed-by: Bill Fischofer
Signed-off-by: Maxim Uvarov
---
/** Email created from pull request 505
From: Dmitry Eremin-Solenikov
Signed-off-by: Dmitry Eremin-Solenikov
Reviewed-by: Bill Fischofer
Signed-off-by: Maxim Uvarov
---
/** Email created from pull request 505
From: Dmitry Eremin-Solenikov
Signed-off-by: Dmitry Eremin-Solenikov
Reviewed-by: Bill Fischofer
Signed-off-by: Maxim Uvarov
---
/** Email created from pull request 505
From: Dmitry Eremin-Solenikov
Only override frag_mode if respective flag is set.
Signed-off-by: Dmitry Eremin-Solenikov
Reviewed-by: Bill Fischofer
Signed-off-by: Maxim Uvarov
From: Dmitry Eremin-Solenikov
Signed-off-by: Dmitry Eremin-Solenikov
Reviewed-by: Bill Fischofer
Signed-off-by: Maxim Uvarov
---
/** Email created from pull request 505
From: Dmitry Eremin-Solenikov
Signed-off-by: Dmitry Eremin-Solenikov
Reviewed-by: Bill Fischofer
Signed-off-by: Maxim Uvarov
---
/** Email created from pull request 505
From: Dmitry Eremin-Solenikov
Allow per-packet override of IP parameters.
Signed-off-by: Dmitry Eremin-Solenikov
Reviewed-by: Bill Fischofer
Signed-off-by: Maxim Uvarov
From: Dmitry Eremin-Solenikov
Signed-off-by: Dmitry Eremin-Solenikov
Reviewed-by: Bill Fischofer
Signed-off-by: Maxim Uvarov
---
/** Email created from pull request 505
From: Dmitry Eremin-Solenikov
Signed-off-by: Dmitry Eremin-Solenikov
Reviewed-by: Bill Fischofer
Signed-off-by: Maxim Uvarov
---
/** Email created from pull request 505
From: Dmitry Eremin-Solenikov
Signed-off-by: Dmitry Eremin-Solenikov
Reviewed-by: Bill Fischofer
Signed-off-by: Maxim Uvarov
---
/** Email created from pull request 505
From: Dmitry Eremin-Solenikov
Signed-off-by: Dmitry Eremin-Solenikov
Reviewed-by: Bill Fischofer
Signed-off-by: Maxim Uvarov
---
/** Email created from pull request 505
72 matches
Mail list logo