This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "".
The branch, api-next has been updated
via 77a27212b563299959fb2a609b86bb9117a8f918 (commit)
via ca7514cf4325838ca04c3a21a972cb963efd07a4 (commit)
via 9405b1770b78b774e7dbe6073f3f85d709541a26 (commit)
via 86939bf150967b4f2a9f0580aab9727388662496 (commit)
via 7f87f43fca88cac2cd36ed5fcffcea8ebee10694 (commit)
via 8b10c2fece805dd35b7396526ee0a09b8fee91c7 (commit)
via 43cad57aab56e07303514e6f8d2c85d773a3a2d4 (commit)
via fbe74cce0bbe02430de3439b594bf712e791419a (commit)
from 1e919d30be9ecf9683e30bba3f6109d9356b4638 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 77a27212b563299959fb2a609b86bb9117a8f918
Author: Barry Spinney <spinney(a)mellanox.com>
Date: Wed Jul 13 11:59:40 2016 -0500
api: tm: resolve todo
This todo just asks a question which is no longer important.
Signed-off-by: Barry Spinney <spinney(a)mellanox.com>
Signed-off-by: Bill Fischofer <bill.fischofer(a)linaro.org>
Signed-off-by: Maxim Uvarov <maxim.uvarov(a)linaro.org>
diff --git a/include/odp/api/spec/traffic_mngr.h b/include/odp/api/spec/traffic_mngr.h
index c9e6f8f..3473648 100644
--- a/include/odp/api/spec/traffic_mngr.h
+++ b/include/odp/api/spec/traffic_mngr.h
@@ -93,7 +93,6 @@ extern "C" {
* @def ODP_TM_MAX_TM_NODE_FANIN
* The largest number of fan-in "inputs" that can be simultaneously connected
* to a single tm_node.
- * @todo Does this need to be as large as ODP_TM_MAX_TM_QUEUES?
*/
/**
@@ -886,7 +885,7 @@ typedef struct {
/** In the case that sched_modes for a given strict priority level
* indicates the use of weighted scheduling, this field supplies the
* weighting factors. The weights - when defined - are used such that
- * the (adjusted) frame lengths are divided by these 8-bit weights
+ * the (adjusted) frame lengths are divided by these 8-bit weights
* (i.e. they are divisors and not multipliers). Consequently a
* weight of 0 (when sched_mode is ODP_TM_BYTE_BASED_WEIGHTS) is
* illegal. */
commit ca7514cf4325838ca04c3a21a972cb963efd07a4
Merge: 1e919d3 9405b17
Author: Maxim Uvarov <maxim.uvarov(a)linaro.org>
Date: Thu Jul 14 12:53:48 2016 +0300
Merge branch 'master' into api-next
Signed-off-by: Maxim Uvarov <maxim.uvarov(a)linaro.org>
-----------------------------------------------------------------------
Summary of changes:
doc/images/abi_llvm.svg | 125 ++++++
doc/images/abi_traditional.svg | 89 +++++
doc/implementers-guide/implementers-guide.adoc | 430 ++++++++++++++-------
include/odp/api/spec/traffic_mngr.h | 3 +-
.../include/odp_traffic_mngr_internal.h | 3 +
platform/linux-generic/odp_name_table.c | 2 +-
platform/linux-generic/odp_traffic_mngr.c | 37 +-
test/performance/odp_l2fwd.c | 3 +
8 files changed, 532 insertions(+), 160 deletions(-)
create mode 100644 doc/images/abi_llvm.svg
create mode 100644 doc/images/abi_traditional.svg
hooks/post-receive
--
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "".
The branch, master has been updated
via 9405b1770b78b774e7dbe6073f3f85d709541a26 (commit)
via 86939bf150967b4f2a9f0580aab9727388662496 (commit)
from 7f87f43fca88cac2cd36ed5fcffcea8ebee10694 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 9405b1770b78b774e7dbe6073f3f85d709541a26
Author: Barry Spinney <spinney(a)mellanox.com>
Date: Wed Jul 13 11:59:42 2016 -0500
linux-generic: tm: Add pthread_join call when destroying
Resolved a valgrind issue by adding pthread_join and pthread_attr_destroy
calls when destroying a tm_system.
Also resolve a todo by removing some code that was being #if'd out.
Signed-off-by: Barry Spinney <spinney(a)mellanox.com>
Signed-off-by: Bill Fischofer <bill.fischofer(a)linaro.org>
Signed-off-by: Maxim Uvarov <maxim.uvarov(a)linaro.org>
diff --git a/platform/linux-generic/include/odp_traffic_mngr_internal.h b/platform/linux-generic/include/odp_traffic_mngr_internal.h
index 85a31e9..15451ac 100644
--- a/platform/linux-generic/include/odp_traffic_mngr_internal.h
+++ b/platform/linux-generic/include/odp_traffic_mngr_internal.h
@@ -19,6 +19,7 @@
extern "C" {
#endif
+#include <pthread.h>
#include <odp/api/traffic_mngr.h>
#include <odp/api/packet_io.h>
#include <odp_name_table_internal.h>
@@ -352,6 +353,8 @@ typedef struct {
odp_barrier_t tm_system_destroy_barrier;
odp_atomic_u64_t destroying;
_odp_int_name_t name_tbl_id;
+ pthread_t thread;
+ pthread_attr_t attr;
void *trace_buffer;
uint32_t next_queue_num;
diff --git a/platform/linux-generic/odp_traffic_mngr.c b/platform/linux-generic/odp_traffic_mngr.c
index aa14b6b..7a8b647 100644
--- a/platform/linux-generic/odp_traffic_mngr.c
+++ b/platform/linux-generic/odp_traffic_mngr.c
@@ -2580,19 +2580,19 @@ static uint32_t tm_thread_cpu_select(void)
static int tm_thread_create(tm_system_t *tm_system)
{
- pthread_attr_t attr;
- pthread_t thread;
cpu_set_t cpu_set;
uint32_t cpu_num;
int rc;
- pthread_attr_init(&attr);
+ pthread_attr_init(&tm_system->attr);
cpu_num = tm_thread_cpu_select();
CPU_ZERO(&cpu_set);
CPU_SET(cpu_num, &cpu_set);
- pthread_attr_setaffinity_np(&attr, sizeof(cpu_set_t), &cpu_set);
+ pthread_attr_setaffinity_np(&tm_system->attr, sizeof(cpu_set_t),
+ &cpu_set);
- rc = pthread_create(&thread, &attr, tm_system_thread, tm_system);
+ rc = pthread_create(&tm_system->thread, &tm_system->attr,
+ tm_system_thread, tm_system);
if (rc != 0)
ODP_DBG("Failed to start thread on cpu num=%u\n", cpu_num);
@@ -2748,16 +2748,22 @@ int odp_tm_capability(odp_tm_t odp_tm, odp_tm_capabilities_t *capabilities)
int odp_tm_destroy(odp_tm_t odp_tm)
{
tm_system_t *tm_system;
+ int rc;
tm_system = GET_TM_SYSTEM(odp_tm);
- /* First mark the tm_system as being in the destroying state so that
- * all new pkts are prevented from coming in.
- */
+ /* First mark the tm_system as being in the destroying state so that
+ * all new pkts are prevented from coming in.
+ */
odp_barrier_init(&tm_system->tm_system_destroy_barrier, 2);
odp_atomic_inc_u64(&tm_system->destroying);
odp_barrier_wait(&tm_system->tm_system_destroy_barrier);
+ /* Next wait for the thread to exit. */
+ rc = pthread_join(tm_system->thread, NULL);
+ ODP_ASSERT(rc == 0);
+ pthread_attr_destroy(&tm_system->attr);
+
input_work_queue_destroy(tm_system->input_work_queue);
_odp_sorted_pool_destroy(tm_system->_odp_int_sorted_pool);
_odp_queue_pool_destroy(tm_system->_odp_int_queue_pool);
@@ -4104,21 +4110,6 @@ int odp_tm_enq_with_cnt(odp_tm_queue_t tm_queue, odp_packet_t pkt)
return pkt_cnt;
}
-#ifdef NOT_USED /* @todo use or delete */
-static uint32_t odp_tm_input_work_queue_fullness(odp_tm_t odp_tm ODP_UNUSED)
-{
- input_work_queue_t *input_work_queue;
- tm_system_t *tm_system;
- uint32_t queue_cnt, fullness;
-
- tm_system = GET_TM_SYSTEM(odp_tm);
- input_work_queue = tm_system->input_work_queue;
- queue_cnt = odp_atomic_load_u64(&input_work_queue->queue_cnt);
- fullness = (100 * queue_cnt) / INPUT_WORK_RING_SIZE;
- return fullness;
-}
-#endif
-
int odp_tm_node_info(odp_tm_node_t tm_node, odp_tm_node_info_t *info)
{
tm_queue_thresholds_t *threshold_params;
commit 86939bf150967b4f2a9f0580aab9727388662496
Author: Barry Spinney <spinney(a)mellanox.com>
Date: Wed Jul 13 11:59:41 2016 -0500
linux-generic: tm: resolve todo in odp_name_table.c
Resolved todo by just removing the comment.
Signed-off-by: Barry Spinney <spinney(a)mellanox.com>
Signed-off-by: Bill Fischofer <bill.fischofer(a)linaro.org>
Signed-off-by: Maxim Uvarov <maxim.uvarov(a)linaro.org>
diff --git a/platform/linux-generic/odp_name_table.c b/platform/linux-generic/odp_name_table.c
index 675d96d..b116904 100644
--- a/platform/linux-generic/odp_name_table.c
+++ b/platform/linux-generic/odp_name_table.c
@@ -956,7 +956,7 @@ uint64_t _odp_int_name_tbl_user_data(_odp_int_name_t odp_name)
name_tbl_entry = name_tbl_id_parse(odp_name, NULL);
if (!name_tbl_entry)
- return 0; /* @todo */
+ return 0;
else
return name_tbl_entry->user_data;
}
-----------------------------------------------------------------------
Summary of changes:
.../include/odp_traffic_mngr_internal.h | 3 ++
platform/linux-generic/odp_name_table.c | 2 +-
platform/linux-generic/odp_traffic_mngr.c | 37 ++++++++--------------
3 files changed, 18 insertions(+), 24 deletions(-)
hooks/post-receive
--
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "".
The branch, master has been updated
via 7f87f43fca88cac2cd36ed5fcffcea8ebee10694 (commit)
from 8b10c2fece805dd35b7396526ee0a09b8fee91c7 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 7f87f43fca88cac2cd36ed5fcffcea8ebee10694
Author: Matias Elo <matias.elo(a)nokia.com>
Date: Thu Jul 7 17:52:27 2016 +0300
test: l2fwd: prefetch packet data
Prefetch ethernet addresses. This is a no-op on odp-linux but improves
performance significantly on odp-dpdk implementation.
Signed-off-by: Matias Elo <matias.elo(a)nokia.com>
Signed-off-by: Maxim Uvarov <maxim.uvarov(a)linaro.org>
diff --git a/test/performance/odp_l2fwd.c b/test/performance/odp_l2fwd.c
index 164f7f5..e296b94 100644
--- a/test/performance/odp_l2fwd.c
+++ b/test/performance/odp_l2fwd.c
@@ -255,6 +255,9 @@ static inline void fill_eth_addrs(odp_packet_t pkt_tbl[],
for (i = 0; i < num; ++i) {
pkt = pkt_tbl[i];
+
+ odp_packet_prefetch(pkt, 0, ODPH_ETHHDR_LEN);
+
if (odp_packet_has_eth(pkt)) {
eth = (odph_ethhdr_t *)odp_packet_l2_ptr(pkt, NULL);
-----------------------------------------------------------------------
Summary of changes:
test/performance/odp_l2fwd.c | 3 +++
1 file changed, 3 insertions(+)
hooks/post-receive
--
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "".
The branch, master has been updated
via c03685af2895b20a5e8a046ea910254a96ab15c4 (commit)
from c6bf23e2794ec2a54fa1724cd9d833d84aa39270 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit c03685af2895b20a5e8a046ea910254a96ab15c4
Author: Bill Fischofer <bill.fischofer(a)linaro.org>
Date: Mon Jul 4 21:31:45 2016 -0500
linux-generic: schedule: simplify wait logic to avoid clang issues
Resolve Bug https://bugs.linaro.org/show_bug.cgi?id=2387 by ensuring that
t1 variable is seen as initialized in all paths in the SP Scheduler.
Previous logic failed due to an apparent issue with clang.
Signed-off-by: Bill Fischofer <bill.fischofer(a)linaro.org>
Reviewed-by: Petri Savolainen <petri.savolainen(a)nokia.com>
Signed-off-by: Maxim Uvarov <maxim.uvarov(a)linaro.org>
diff --git a/platform/linux-generic/odp_schedule_sp.c b/platform/linux-generic/odp_schedule_sp.c
index 8c45123..2e28aa4 100644
--- a/platform/linux-generic/odp_schedule_sp.c
+++ b/platform/linux-generic/odp_schedule_sp.c
@@ -364,9 +364,9 @@ static uint64_t schedule_wait_time(uint64_t ns)
}
static int schedule_multi(odp_queue_t *from, uint64_t wait,
- odp_event_t events[], int max_events)
+ odp_event_t events[], int max_events ODP_UNUSED)
{
- (void)max_events;
+ odp_time_t t1;
int update_t1 = 1;
if (sched_local.cmd) {
@@ -384,7 +384,6 @@ static int schedule_multi(odp_queue_t *from, uint64_t wait,
sched_cmd_t *cmd;
uint32_t qi;
int num;
- odp_time_t t1;
cmd = sched_cmd(NUM_PRIO);
-----------------------------------------------------------------------
Summary of changes:
platform/linux-generic/odp_schedule_sp.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
hooks/post-receive
--