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 40fb071be7c22776a190d1c7fa32b100510e2b82 (commit)
from 6e95b8923cd013f9db4d7198a2add5cc4cdc9e28 (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 40fb071be7c22776a190d1c7fa32b100510e2b82
Author: Mike Holmes <mike.holmes(a)linaro.org>
Date: Mon Aug 29 12:15:50 2016 -0400
test: perf: add prime num threads to odp_scheduling
A recent bug showed the limitations of using powers of two, add a prime
number of threads as a new test case.
Signed-off-by: Mike Holmes <mike.holmes(a)linaro.org>
Reviewed-by: Bill Fischofer <bill.fischofer(a)linaro.org>
Signed-off-by: Maxim Uvarov <maxim.uvarov(a)linaro.org>
diff --git a/test/common_plat/performance/odp_scheduling.c b/test/common_plat/performance/odp_scheduling.c
index 1de79f7..9407636 100644
--- a/test/common_plat/performance/odp_scheduling.c
+++ b/test/common_plat/performance/odp_scheduling.c
@@ -723,7 +723,7 @@ static void print_usage(void)
{
printf("\n\nUsage: ./odp_example [options]\n");
printf("Options:\n");
- printf(" -c, --count <number> CPU count\n");
+ printf(" -c, --count <number> CPU count, 0=all available, default=0\n");
printf(" -h, --help this help\n");
printf(" -f, --fair collect fairness statistics\n");
printf("\n\n");
diff --git a/test/common_plat/performance/odp_scheduling_run.sh b/test/common_plat/performance/odp_scheduling_run.sh
index 755b0c1..a22326d 100755
--- a/test/common_plat/performance/odp_scheduling_run.sh
+++ b/test/common_plat/performance/odp_scheduling_run.sh
@@ -10,16 +10,20 @@
TEST_DIR="${TEST_DIR:-$(dirname $0)}"
ret=0
+ALL=0
run()
{
- echo odp_scheduling_run starts with $1 worker threads
+ echo odp_scheduling_run starts requesting $1 worker threads
echo ===============================================
$TEST_DIR/odp_scheduling${EXEEXT} -c $1 || ret=1
}
run 1
+run 5
run 8
+run 11
+run $ALL
exit $ret
diff --git a/test/linux-generic/performance/odp_scheduling_run_proc.sh b/test/linux-generic/performance/odp_scheduling_run_proc.sh
index b3ef26f..384017a 100755
--- a/test/linux-generic/performance/odp_scheduling_run_proc.sh
+++ b/test/linux-generic/performance/odp_scheduling_run_proc.sh
@@ -11,16 +11,20 @@
TEST_DIR="${TEST_DIR:-$(dirname $0)}"
PERFORMANCE="$TEST_DIR/../../common_plat/performance"
ret=0
+ALL=0
run()
{
- echo odp_scheduling_run_proc starts with $1 worker threads
+ echo odp_scheduling_run starts requesting $1 worker threads
echo =====================================================
$PERFORMANCE/odp_scheduling${EXEEXT} --odph_proc -c $1 || ret=1
}
run 1
+run 5
run 8
+run 11
+run $ALL
exit $ret
-----------------------------------------------------------------------
Summary of changes:
test/common_plat/performance/odp_scheduling.c | 2 +-
test/common_plat/performance/odp_scheduling_run.sh | 6 +++++-
test/linux-generic/performance/odp_scheduling_run_proc.sh | 6 +++++-
3 files changed, 11 insertions(+), 3 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 6e95b8923cd013f9db4d7198a2add5cc4cdc9e28 (commit)
from 972fef8f7202cc90e14d83a217fa19999fac0489 (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 6e95b8923cd013f9db4d7198a2add5cc4cdc9e28
Author: Barry Spinney <spinney(a)mellanox.com>
Date: Tue Aug 23 17:51:45 2016 -0400
linux-generic: tm: fix off by 1 bug accessing queue_num_tbl
Both odp_pkt_queue.c and odp_traffic_mngr.c has similar bugs where
an array was malloc'd but the valid indicies run from 1 to the number
of entries malloc'd. This is because queue_num == 0 is used as a special
value indicating an invalid queue_num. The value 0 is used for this
same special purpose throughout the traffic mngr.
The fix involved using "queue_num - 1" as the array index, but only
after checking that queue_num is not 0. Also in a few cases a common
function used to get and check the queue_num was used in a few more
cases.
Signed-off-by: Barry Spinney <spinney(a)mellanox.com>
Reviewed-and-tested-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_pkt_queue.c b/platform/linux-generic/odp_pkt_queue.c
index 7734ee9..7c6cd87 100644
--- a/platform/linux-generic/odp_pkt_queue.c
+++ b/platform/linux-generic/odp_pkt_queue.c
@@ -92,7 +92,7 @@ static int pkt_queue_free_list_add(queue_pool_t *pool,
queue_blks_t *queue_blks;
queue_blk_t *queue_blk;
uint32_t which_region, blks_added, num_blks, start_idx;
- uint32_t malloc_len, blks_to_add, cnt;
+ uint32_t malloc_len, blks_to_add, cnt, i;
which_region = pool->current_region;
blks_added = 0;
@@ -102,7 +102,6 @@ static int pkt_queue_free_list_add(queue_pool_t *pool,
num_blks = region_desc->num_blks;
queue_blks = region_desc->queue_blks;
if (!queue_blks) {
- uint32_t i;
malloc_len = num_blks * sizeof(queue_blk_t);
queue_blks = malloc(malloc_len);
@@ -263,13 +262,13 @@ int _odp_pkt_queue_append(_odp_int_queue_pool_t queue_pool,
return -3;
pool->total_pkt_appends++;
- first_blk_idx = pool->queue_num_tbl[queue_num];
+ first_blk_idx = pool->queue_num_tbl[queue_num - 1];
if (first_blk_idx == 0) {
first_blk = queue_blk_alloc(pool, &first_blk_idx);
if (!first_blk)
return -1;
- pool->queue_num_tbl[queue_num] = first_blk_idx;
+ pool->queue_num_tbl[queue_num - 1] = first_blk_idx;
init_queue_blk(first_blk);
first_blk->pkts[0] = pkt;
return 0;
@@ -316,7 +315,7 @@ int _odp_pkt_queue_remove(_odp_int_queue_pool_t queue_pool,
if ((queue_num == 0) || (pool->max_queue_num < queue_num))
return -2;
- first_blk_idx = pool->queue_num_tbl[queue_num];
+ first_blk_idx = pool->queue_num_tbl[queue_num - 1];
if (first_blk_idx == 0)
return 0; /* pkt queue is empty. */
@@ -344,7 +343,8 @@ int _odp_pkt_queue_remove(_odp_int_queue_pool_t queue_pool,
first_blk->tail_queue_blk_idx;
}
- pool->queue_num_tbl[queue_num] = next_blk_idx;
+ pool->queue_num_tbl[queue_num - 1] =
+ next_blk_idx;
queue_blk_free(pool, first_blk, first_blk_idx);
}
diff --git a/platform/linux-generic/odp_traffic_mngr.c b/platform/linux-generic/odp_traffic_mngr.c
index a5271ed..4fe07ef 100644
--- a/platform/linux-generic/odp_traffic_mngr.c
+++ b/platform/linux-generic/odp_traffic_mngr.c
@@ -109,7 +109,7 @@ static tm_queue_obj_t *get_tm_queue_obj(tm_system_t *tm_system,
return NULL;
queue_num = pkt_desc->queue_num;
- tm_queue_obj = tm_system->queue_num_tbl[queue_num];
+ tm_queue_obj = tm_system->queue_num_tbl[queue_num - 1];
return tm_queue_obj;
}
@@ -1596,11 +1596,10 @@ static odp_bool_t tm_consume_sent_pkt(tm_system_t *tm_system,
tm_queue_obj_t *tm_queue_obj;
odp_packet_t pkt;
pkt_desc_t *new_pkt_desc;
- uint32_t queue_num, pkt_len;
+ uint32_t pkt_len;
int rc;
- queue_num = sent_pkt_desc->queue_num;
- tm_queue_obj = tm_system->queue_num_tbl[queue_num];
+ tm_queue_obj = get_tm_queue_obj(tm_system, sent_pkt_desc);
if (!tm_queue_obj)
return false;
@@ -2088,15 +2087,11 @@ static void tm_send_pkt(tm_system_t *tm_system, uint32_t max_sends)
tm_queue_obj_t *tm_queue_obj;
odp_packet_t odp_pkt;
pkt_desc_t *pkt_desc;
- uint32_t cnt, queue_num;
+ uint32_t cnt;
for (cnt = 1; cnt <= max_sends; cnt++) {
pkt_desc = &tm_system->egress_pkt_desc;
- queue_num = pkt_desc->queue_num;
- if (queue_num == 0)
- return;
-
- tm_queue_obj = tm_system->queue_num_tbl[queue_num];
+ tm_queue_obj = get_tm_queue_obj(tm_system, pkt_desc);
if (!tm_queue_obj)
return;
@@ -2149,7 +2144,8 @@ static int tm_process_input_work_queue(tm_system_t *tm_system,
return rc;
}
- tm_queue_obj = tm_system->queue_num_tbl[work_item.queue_num];
+ tm_queue_obj =
+ tm_system->queue_num_tbl[work_item.queue_num - 1];
pkt = work_item.pkt;
if (!tm_queue_obj) {
odp_packet_free(pkt);
@@ -2204,7 +2200,7 @@ static int tm_process_expired_timers(tm_system_t *tm_system,
queue_num = (timer_context & 0xFFFFFFFF) >> 4;
timer_seq = timer_context >> 32;
- tm_queue_obj = tm_system->queue_num_tbl[queue_num];
+ tm_queue_obj = tm_system->queue_num_tbl[queue_num - 1];
if (!tm_queue_obj)
return work_done;
@@ -3904,7 +3900,7 @@ odp_tm_queue_t odp_tm_queue_create(odp_tm_t odp_tm,
tm_queue_obj->tm_qentry.s.enqueue = queue_tm_reenq;
tm_queue_obj->tm_qentry.s.enqueue_multi = queue_tm_reenq_multi;
- tm_system->queue_num_tbl[tm_queue_obj->queue_num] = tm_queue_obj;
+ tm_system->queue_num_tbl[tm_queue_obj->queue_num - 1] = tm_queue_obj;
odp_ticketlock_lock(&tm_system->tm_system_lock);
if (params->shaper_profile != ODP_TM_INVALID)
tm_shaper_config_set(tm_system, params->shaper_profile,
@@ -3972,7 +3968,7 @@ int odp_tm_queue_destroy(odp_tm_queue_t tm_queue)
/* Now that all of the checks are done, time to so some freeing. */
odp_ticketlock_lock(&tm_system->tm_system_lock);
- tm_system->queue_num_tbl[tm_queue_obj->queue_num] = NULL;
+ tm_system->queue_num_tbl[tm_queue_obj->queue_num - 1] = NULL;
/* First delete any associated tm_wred_node and then the tm_queue_obj
* itself */
@@ -4634,7 +4630,7 @@ void odp_tm_stats_print(odp_tm_t odp_tm)
max_queue_num = tm_system->next_queue_num;
for (queue_num = 1; queue_num < max_queue_num; queue_num++) {
- tm_queue_obj = tm_system->queue_num_tbl[queue_num];
+ tm_queue_obj = tm_system->queue_num_tbl[queue_num - 1];
if (tm_queue_obj && tm_queue_obj->pkts_rcvd_cnt != 0)
ODP_DBG("queue_num=%u priority=%u rcvd=%u enqueued=%u "
"dequeued=%u consumed=%u\n",
-----------------------------------------------------------------------
Summary of changes:
platform/linux-generic/odp_pkt_queue.c | 12 ++++++------
platform/linux-generic/odp_traffic_mngr.c | 26 +++++++++++---------------
2 files changed, 17 insertions(+), 21 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, next has been updated
via 972fef8f7202cc90e14d83a217fa19999fac0489 (commit)
via 99b5da310aded4ed933c848c11e00046c8aed766 (commit)
via 7528454aaab5c21356631515faf63117dbb9a66b (commit)
via f11a255716190184f8eaeef1888fd5b82773aa66 (commit)
via 84bc9a4cdc3569f79d894f4644a4e0051155be24 (commit)
via 35af07b2469e9f41769648b2d17b7d2be52ee270 (commit)
from e5492930c13b8b17a6333050fd5078c89b305c17 (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 -----------------------------------------------------------------
-----------------------------------------------------------------------
Summary of changes:
DEPENDENCIES | 4 +--
doc/process-guide/release-guide.adoc | 52 +++++++++++++++++++++++++++
example/l2fwd_simple/l2fwd_simple_run.sh | 6 ++--
example/l2fwd_simple/odp_l2fwd_simple.c | 39 ++++++++++++++++++--
platform/linux-generic/pktio/dpdk.c | 51 +++++++++++++++++++++-----
platform/linux-generic/pktio/socket_mmap.c | 1 -
scripts/build-pktio-dpdk | 3 +-
test/common_plat/performance/odp_scheduling.c | 12 +++----
8 files changed, 142 insertions(+), 26 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, api-next has been updated
via 8cc7373f536b86ca56a080f4a4bb67edd03bded3 (commit)
via 972fef8f7202cc90e14d83a217fa19999fac0489 (commit)
via 99b5da310aded4ed933c848c11e00046c8aed766 (commit)
via 7528454aaab5c21356631515faf63117dbb9a66b (commit)
via f11a255716190184f8eaeef1888fd5b82773aa66 (commit)
via 84bc9a4cdc3569f79d894f4644a4e0051155be24 (commit)
via 35af07b2469e9f41769648b2d17b7d2be52ee270 (commit)
from 9fcbfb975cdc500bf18117c31f54d2c9f77079c4 (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 8cc7373f536b86ca56a080f4a4bb67edd03bded3
Merge: 9fcbfb9 972fef8
Author: Maxim Uvarov <maxim.uvarov(a)linaro.org>
Date: Mon Aug 22 17:21:24 2016 +0300
Merge branch 'master' into api-next
-----------------------------------------------------------------------
Summary of changes:
DEPENDENCIES | 4 +--
doc/process-guide/release-guide.adoc | 52 +++++++++++++++++++++++++++
example/l2fwd_simple/l2fwd_simple_run.sh | 6 ++--
example/l2fwd_simple/odp_l2fwd_simple.c | 39 ++++++++++++++++++--
platform/linux-generic/pktio/dpdk.c | 51 +++++++++++++++++++++-----
platform/linux-generic/pktio/socket_mmap.c | 1 -
scripts/build-pktio-dpdk | 3 +-
test/common_plat/performance/odp_scheduling.c | 12 +++----
8 files changed, 142 insertions(+), 26 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, api-next has been updated
via 9fcbfb975cdc500bf18117c31f54d2c9f77079c4 (commit)
from a8d5848de4cd79122ebb2a831d465e05b77e52a3 (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 9fcbfb975cdc500bf18117c31f54d2c9f77079c4
Author: Christophe Milard <christophe.milard(a)linaro.org>
Date: Sat Aug 20 00:24:31 2016 +0200
drv: byteorder: added bitfield order
mostly to keep the symmetry with the API side
Signed-off-by: Christophe Milard <christophe.milard(a)linaro.org>
Reviewed-by: Bill Fischofer <bill.fischofer(a)linaro.org>
Signed-off-by: Maxim Uvarov <maxim.uvarov(a)linaro.org>
diff --git a/include/odp/drv/spec/byteorder.h b/include/odp/drv/spec/byteorder.h
index d3f5d7e..bf363f5 100644
--- a/include/odp/drv/spec/byteorder.h
+++ b/include/odp/drv/spec/byteorder.h
@@ -38,6 +38,9 @@ extern "C" {
*
* @def ODPDRV_BYTE_ORDER
* Selected byte order
+ *
+ * @def ODPDRV_BITFIELD_ORDER
+ * Selected bitfield order
*/
/**
diff --git a/platform/linux-generic/include/odp/drv/plat/byteorder_types.h b/platform/linux-generic/include/odp/drv/plat/byteorder_types.h
index cb7aec2..5dd182d 100644
--- a/platform/linux-generic/include/odp/drv/plat/byteorder_types.h
+++ b/platform/linux-generic/include/odp/drv/plat/byteorder_types.h
@@ -49,12 +49,16 @@ extern "C" {
#define ODPDRV_LITTLE_ENDIAN 1
#define ODPDRV_BIG_ENDIAN 0
#define ODPDRV_BYTE_ORDER ODPDRV_LITTLE_ENDIAN
- #define ODPDRV_LITTLE_ENDIAN_BITFIELD
+ #define ODPDRV_LITTLE_ENDIAN_BITFIELD 1
+ #define ODPDRV_BIG_ENDIAN_BITFIELD 0
+ #define ODPDRV_BITFIELD_ORDER ODPDRV_LITTLE_ENDIAN_BITFIELD
#else
#define ODPDRV_LITTLE_ENDIAN 0
#define ODPDRV_BIG_ENDIAN 1
- #define ODPDRV_BYTE_ORDER ODP_BIG_ENDIAN
- #define ODPDRV_BIG_ENDIAN_BITFIELD
+ #define ODPDRV_BYTE_ORDER ODPDRV_BIG_ENDIAN
+ #define ODPDRV_LITTLE_ENDIAN_BITFIELD 0
+ #define ODPDRV_BIG_ENDIAN_BITFIELD 1
+ #define ODPDRV_BITFIELD_ORDER ODPDRV_BIG_ENDIAN_BITFIELD
#endif
typedef uint16_t __odpdrv_bitwise odpdrv_u16le_t;
-----------------------------------------------------------------------
Summary of changes:
include/odp/drv/spec/byteorder.h | 3 +++
platform/linux-generic/include/odp/drv/plat/byteorder_types.h | 10 +++++++---
2 files changed, 10 insertions(+), 3 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 972fef8f7202cc90e14d83a217fa19999fac0489 (commit)
via 99b5da310aded4ed933c848c11e00046c8aed766 (commit)
from 7528454aaab5c21356631515faf63117dbb9a66b (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 972fef8f7202cc90e14d83a217fa19999fac0489
Author: Matias Elo <matias.elo(a)nokia.com>
Date: Wed Aug 17 12:59:21 2016 +0300
linux-gen: dpdk: free used mempool when closing pktio device
DPDK 16.07 finally supports freeing memory pools.
Signed-off-by: Matias Elo <matias.elo(a)nokia.com>
Reviewed-by: Bill Fischofer <bill.fischofer(a)linaro.org>
Signed-off-by: Maxim Uvarov <maxim.uvarov(a)linaro.org>
diff --git a/platform/linux-generic/pktio/dpdk.c b/platform/linux-generic/pktio/dpdk.c
index bf8b499..b45c9a8 100644
--- a/platform/linux-generic/pktio/dpdk.c
+++ b/platform/linux-generic/pktio/dpdk.c
@@ -390,6 +390,8 @@ static int dpdk_close(pktio_entry_t *pktio_entry)
if (pktio_entry->s.state != PKTIO_STATE_OPENED)
rte_eth_dev_close(pkt_dpdk->port_id);
+ rte_mempool_free(pkt_dpdk->pkt_pool);
+
return 0;
}
@@ -650,14 +652,9 @@ static int dpdk_open(odp_pktio_t id ODP_UNUSED,
else
pkt_dpdk->min_rx_burst = 0;
- /* Look for previously opened packet pool */
- pkt_pool = rte_mempool_lookup(pkt_dpdk->pool_name);
- if (pkt_pool == NULL)
- pkt_pool = rte_pktmbuf_pool_create(pkt_dpdk->pool_name,
- DPDK_NB_MBUF,
- DPDK_MEMPOOL_CACHE_SIZE, 0,
- DPDK_MBUF_BUF_SIZE,
- rte_socket_id());
+ pkt_pool = rte_pktmbuf_pool_create(pkt_dpdk->pool_name, DPDK_NB_MBUF,
+ DPDK_MEMPOOL_CACHE_SIZE, 0,
+ DPDK_MBUF_BUF_SIZE, rte_socket_id());
if (pkt_pool == NULL) {
ODP_ERR("Cannot init mbuf packet pool\n");
return -1;
commit 99b5da310aded4ed933c848c11e00046c8aed766
Author: Matias Elo <matias.elo(a)nokia.com>
Date: Wed Aug 17 12:59:20 2016 +0300
linux-gen: dpdk: bump target dpdk version to 16.07
Change target dpdk version to 16.07 and add init functions
for the new drivers. Update dpdk build script.
Signed-off-by: Matias Elo <matias.elo(a)nokia.com>
Signed-off-by: Zoltan Kiss <zoltan.kiss(a)linaro.org>
Reviewed-by: Bill Fischofer <bill.fischofer(a)linaro.org>
Signed-off-by: Maxim Uvarov <maxim.uvarov(a)linaro.org>
diff --git a/DEPENDENCIES b/DEPENDENCIES
index a5266c9..f1f0edd 100644
--- a/DEPENDENCIES
+++ b/DEPENDENCIES
@@ -165,7 +165,7 @@ Prerequisites for building the OpenDataPlane (ODP) API
3.4.1 Building DPDK and ODP with DPDK pktio support
- DPDK packet I/O has been tested to work with DPDK v16.04.
+ DPDK packet I/O has been tested to work with DPDK v16.07.
Follow steps in ./scripts/build-pktio-dpdk
@@ -179,7 +179,7 @@ Prerequisites for building the OpenDataPlane (ODP) API
Reserve and mount hugepages and bind supported interfaces to DPDK modules
following the DPDK documentation. ODP DPDK packet I/O has been tested with
512 x 2MB hugepages. All this can be done with the DPDK setup script
- (<dpdk-dir>/tools/setup.sh).
+ (<dpdk-dir>/tools/dpdk-setup.sh).
3.4.3 Running ODP with DPDK pktio
diff --git a/platform/linux-generic/pktio/dpdk.c b/platform/linux-generic/pktio/dpdk.c
index 1fad8a9..bf8b499 100644
--- a/platform/linux-generic/pktio/dpdk.c
+++ b/platform/linux-generic/pktio/dpdk.c
@@ -36,12 +36,14 @@ extern void devinitfn_##drv(void)
PMD_EXT(aesni_gcm_pmd_drv);
PMD_EXT(cryptodev_aesni_mb_pmd_drv);
+PMD_EXT(cryptodev_kasumi_pmd_drv);
PMD_EXT(cryptodev_null_pmd_drv);
PMD_EXT(cryptodev_snow3g_pmd_drv);
PMD_EXT(pmd_qat_drv);
PMD_EXT(pmd_af_packet_drv);
PMD_EXT(rte_bnx2x_driver);
PMD_EXT(rte_bnx2xvf_driver);
+PMD_EXT(bnxt_pmd_drv);
PMD_EXT(bond_drv);
PMD_EXT(rte_cxgbe_driver);
PMD_EXT(em_pmd_drv);
@@ -61,17 +63,30 @@ PMD_EXT(pmd_mpipe_gbe_drv);
PMD_EXT(rte_nfp_net_driver);
PMD_EXT(pmd_null_drv);
PMD_EXT(pmd_pcap_drv);
+PMD_EXT(rte_qede_driver);
+PMD_EXT(rte_qedevf_driver);
PMD_EXT(pmd_ring_drv);
PMD_EXT(pmd_szedata2_drv);
+PMD_EXT(rte_nicvf_driver);
PMD_EXT(pmd_vhost_drv);
PMD_EXT(rte_virtio_driver);
+PMD_EXT(virtio_user_driver);
PMD_EXT(rte_vmxnet3_driver);
PMD_EXT(pmd_xenvirt_drv);
+#define MEMPOOL_OPS(hdl) \
+extern void mp_hdlr_init_##hdl(void)
+
+MEMPOOL_OPS(ops_mp_mc);
+MEMPOOL_OPS(ops_sp_sc);
+MEMPOOL_OPS(ops_mp_sc);
+MEMPOOL_OPS(ops_sp_mc);
+MEMPOOL_OPS(ops_stack);
+
/*
* This function is not called from anywhere, it's only purpose is to make sure
* that if ODP and DPDK are statically linked to an application, the GCC
- * constuctors of the PMDs are linked as well. Otherwise the linker would omit
+ * constructors of the PMDs are linked as well. Otherwise the linker would omit
* them. It's not an issue with dynamic linking. */
void refer_constructors(void);
void refer_constructors(void)
@@ -82,6 +97,9 @@ void refer_constructors(void)
#ifdef RTE_LIBRTE_PMD_AESNI_MB
devinitfn_cryptodev_aesni_mb_pmd_drv();
#endif
+#ifdef RTE_LIBRTE_PMD_KASUMI
+ devinitfn_cryptodev_kasumi_pmd_drv();
+#endif
#ifdef RTE_LIBRTE_PMD_NULL_CRYPTO
devinitfn_cryptodev_null_pmd_drv();
#endif
@@ -98,6 +116,9 @@ void refer_constructors(void)
devinitfn_rte_bnx2x_driver();
devinitfn_rte_bnx2xvf_driver();
#endif
+#ifdef RTE_LIBRTE_BNXT_PMD
+ devinitfn_bnxt_pmd_drv();
+#endif
#ifdef RTE_LIBRTE_PMD_BOND
devinitfn_bond_drv();
#endif
@@ -147,24 +168,39 @@ void refer_constructors(void)
#ifdef RTE_LIBRTE_PMD_PCAP
devinitfn_pmd_pcap_drv();
#endif
+#ifdef RTE_LIBRTE_QEDE_PMD
+ devinitfn_rte_qede_driver();
+ devinitfn_rte_qedevf_driver();
+#endif
#ifdef RTE_LIBRTE_PMD_RING
devinitfn_pmd_ring_drv();
#endif
#ifdef RTE_LIBRTE_PMD_SZEDATA2
devinitfn_pmd_szedata2_drv();
#endif
+#ifdef RTE_LIBRTE_THUNDERX_NICVF_PMD
+ devinitfn_rte_nicvf_driver();
+#endif
#ifdef RTE_LIBRTE_PMD_VHOST
devinitfn_pmd_vhost_drv();
#endif
#ifdef RTE_LIBRTE_VIRTIO_PMD
devinitfn_rte_virtio_driver();
#endif
+#ifdef RTE_VIRTIO_USER
+ devinitfn_rte_virtio_driver();
+#endif
#ifdef RTE_LIBRTE_VMXNET3_PMD
devinitfn_rte_vmxnet3_driver();
#endif
#ifdef RTE_LIBRTE_PMD_XENVIRT
devinitfn_pmd_xenvirt_drv();
#endif
+ mp_hdlr_init_ops_mp_mc();
+ mp_hdlr_init_ops_sp_sc();
+ mp_hdlr_init_ops_mp_sc();
+ mp_hdlr_init_ops_sp_mc();
+ mp_hdlr_init_ops_stack();
}
/* Test if s has only digits or not. Dpdk pktio uses only digits.*/
diff --git a/scripts/build-pktio-dpdk b/scripts/build-pktio-dpdk
index 53f703a..280f518 100755
--- a/scripts/build-pktio-dpdk
+++ b/scripts/build-pktio-dpdk
@@ -12,12 +12,11 @@ fi
git clone http://dpdk.org/git/dpdk dpdk
pushd dpdk
-git checkout -b bv16.04 v16.04
+git checkout -b bv16.07 v16.07
#Make and edit DPDK configuration
make config T=${TARGET} O=${TARGET}
pushd ${TARGET}
-sed -ri 's,(CONFIG_RTE_BUILD_COMBINE_LIBS=).*,\1y,' .config
#To use I/O without DPDK supported NIC's enable pcap pmd:
sed -ri 's,(CONFIG_RTE_LIBRTE_PMD_PCAP=).*,\1y,' .config
popd
-----------------------------------------------------------------------
Summary of changes:
DEPENDENCIES | 4 +--
platform/linux-generic/pktio/dpdk.c | 51 ++++++++++++++++++++++++++++++-------
scripts/build-pktio-dpdk | 3 +--
3 files changed, 45 insertions(+), 13 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 f11a255716190184f8eaeef1888fd5b82773aa66 (commit)
from 84bc9a4cdc3569f79d894f4644a4e0051155be24 (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 f11a255716190184f8eaeef1888fd5b82773aa66
Author: Mike Holmes <mike.holmes(a)linaro.org>
Date: Thu Aug 18 10:09:50 2016 -0400
doc: release-guide: add LTS details
Signed-off-by: Mike Holmes <mike.holmes(a)linaro.org>
Reviewed-by: Bill Fischofer <bill.fischofer(a)linaro.org>
Signed-off-by: Maxim Uvarov <maxim.uvarov(a)linaro.org>
diff --git a/doc/process-guide/release-guide.adoc b/doc/process-guide/release-guide.adoc
index 788eb6b..8ea147a 100644
--- a/doc/process-guide/release-guide.adoc
+++ b/doc/process-guide/release-guide.adoc
@@ -83,6 +83,7 @@ repository.
All patches are acknowledged on the list as soon as they have been applied to
the repository.
+No patch may be accepted that knowingly breaks git bisect.
=== api-next ===
* api-next is always rebased on top of master when there is a release point in
@@ -115,6 +116,57 @@ atomically as possible
* the maintainer updates the version number
* the maintainer tags the master branch
+=== Long Term Support (LTS)
+ODP is portable at two levels, at a recompiled common API level for maximum
+performance, and in a more portable way at an ABI level which may sacrifice
+some performance.
+
+==== odp-linux API and APB compatibility
+In the odp-linux case, the Linux Operating System (OS) provides a mechanism for
+ensuring ABI compatibility with the .so naming for shared libraries. This OS
+specific number provides different definitions for the digits to the ODP API
+version definition and will likely differ. Other OS'es may use other schemes.
+
+==== Vendor implementations
+Vendors of ODP are said to be compatible with the ODP API if the implementation
+can pass the validation test suite for the API. This means that supporting the
+ABI mode is not required; a statically built and executed test suite is all that
+is required.
+
+==== API compatibility
+ODP allows implementations of the API to modify the structures. In this case
+application portability is maintained through access functions to the data rather
+than direct structure access. In an embedded use case this allows maximum
+performance with the hardware structures mapping directly to the data structures
+manipulated by the CPU. Applications are compiled for the target
+system directly and are usually statically linked.
+
+==== ABI compatibility
+In non-embedded environments where a possible performance penalty can be more
+acceptable a shared library is likely to be used and it must maintain ABI
+compatibility across that architecture. In this case applications do not require
+recompiling.
+
+===== Checking which .so version number is required on change
+To determine if the .so number should be changed the check-odp tool can provide
+the answer. This tool provides a command line summary and a detailed html
+analysis. This tool is based on the abi-compliance-checker
+
+[source,bash]
+----
+COMPARE_BRANCH=monarch_lts ./diff-abi.sh
+
+...
+preparation, please wait ...
+comparing ABIs ...
+comparing APIs ...
+creating compatibility report ...
+result: COMPATIBLE
+total "Binary" compatibility problems: 0, warnings: 0
+total "Source" compatibility problems: 0, warnings: 0
+....
+----
+
== Releases ==
All releases are from a tag in the master branch of the ODP git
repository. Recall that ODP consists of three separate components:
-----------------------------------------------------------------------
Summary of changes:
doc/process-guide/release-guide.adoc | 52 ++++++++++++++++++++++++++++++++++++
1 file changed, 52 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 84bc9a4cdc3569f79d894f4644a4e0051155be24 (commit)
from 35af07b2469e9f41769648b2d17b7d2be52ee270 (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 84bc9a4cdc3569f79d894f4644a4e0051155be24
Author: Maxim Uvarov <maxim.uvarov(a)linaro.org>
Date: Thu Aug 18 17:52:08 2016 +0300
linux-gen: socket mmap remove todo
socket mmap is not performance target for pktio. Improving
performance for it needs more profiling and understanding
it's work. Remove this todo because there is no plan to work
on performance for socket mmap.
https://bugs.linaro.org/show_bug.cgi?id=2409
Signed-off-by: Maxim Uvarov <maxim.uvarov(a)linaro.org>
Reviewed-by: Mike Holmes <mike.holmes(a)linaro.org>
diff --git a/platform/linux-generic/pktio/socket_mmap.c b/platform/linux-generic/pktio/socket_mmap.c
index 8b24c99..9655668 100644
--- a/platform/linux-generic/pktio/socket_mmap.c
+++ b/platform/linux-generic/pktio/socket_mmap.c
@@ -345,7 +345,6 @@ static inline unsigned pkt_mmap_v2_tx(int sock, struct ring *ring,
static void mmap_fill_ring(struct ring *ring, odp_pool_t pool_hdl, int fanout)
{
- /*@todo add Huge Pages support*/
int pz = getpagesize();
uint32_t pool_id;
pool_entry_t *pool_entry;
-----------------------------------------------------------------------
Summary of changes:
platform/linux-generic/pktio/socket_mmap.c | 1 -
1 file changed, 1 deletion(-)
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 annotated tag, v1.11.0.0_monarch has been created
at 404c77d50b76383cf3f3cd6c2275e7512eef8908 (tag)
tagging 01fc389137187cabd79a9e87319cd6c462cc6015 (commit)
replaces v1.10.1.0
tagged by Maxim Uvarov
on Thu Aug 18 15:08:35 2016 +0300
- Log -----------------------------------------------------------------
Monarch Long Term Stable v1.11.0.0
Signed-off-by: Maxim Uvarov <maxim.uvarov(a)linaro.org>
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQIcBAABCAAGBQJXtaWvAAoJEPxg70QZ7BuOcnEQALJdFBAjzAsesaN2BlnO4XYd
2hqTqQzQhYuTTeGWBW1dwoQCEOMgXggVcCcpUmkPpNbSBlYArdkakDtoMOc34iq/
OIDHs2ACQ9ytZ+LrM9Fd3MCO7gtNeLlvngYieyZzvZgu2t27OXvCx+JF9xabJrUw
mUWCvArosKEFbm0VxaEV4DUuc/0qS4g5jKfz0YYk08ffwyeoN6o4rf4AdXIDyCeQ
mBDlhuLxNmz7bSbDrhIbdV6/dq2x1lM9TxfaUZoPLl2L45Y7kJ+ZrL/ruCMxruah
FQRWsJtKIvIC3+zEKEgdlYyas9iq1Pf1A5TxhomxD0YL5KSqHHMC/DEdcClRd07e
jdKh6ca5IvldXxAjXUhCpJLzVyn5fliOtFIfMJDZ2lcnjyreATlRHV0PKwHSzCHz
eo4hMpudFeA2MMLWFPCQs4iLSTt9dgJh4m0WIkrKuyqBhZtXLGTU9b5pI1p0TiNq
sLILpuhQmHa+WcKCl0aeCupCHTBgFtvrDO1IXE46eFPjmlk2chYJFmFIohyJAqrq
5J0pa1PC8wIlqs8GThBBk0mf/9ZBv12Fz4sKDjM6LCdwEcRXsE2LPH5bsfRwd8nI
WjoxFYyrswF2Cg+jXlC25X5xnAZBgTxFbea7NjjQmwkHvGVbKJivFtzz/7pq6rx7
hyZ7dhqyXZI+w9XKkbb9
=edJ7
-----END PGP SIGNATURE-----
Anders Roxell (4):
configure: split up libodphelper SO-version from libodp
helper/test/Makefile: don't install tests
example/time/Makefile: remove incorrect postfix _test
example/ipsec: scope ipsec examples
Balasubramanian Manoharan (1):
api: traffic_mngr: Add pktio interface to odp_tm_egress_t struct
Barry Spinney (3):
linux-generic: tm: resolve todo in odp_name_table.c
linux-generic: tm: Add pthread_join call when destroying
api: tm: resolve todo
Bill Fischofer (11):
linux-generic: timer: correct definition of ODP_TIMEOUT_INVALID
validation: queue: avoid out of bounds references
validation: queue: use malloc to avoid limits on max_queues
linux-generic: packet: copy user area as part of odp_packet_copy()
validation: packet: ensure user area is copied correctly
linux-generic: schedule: simplify wait logic to avoid clang issues
doc: implguide: reformat text to conform with current doc standards
doc: image: add additional images for abi models
doc: implguide: add sections on typedefs and abi coniderations
linux-generic: pktio: remove doxygen for unused socket_id parameter
changelog: update for v1.11.0.0-monarch_lts
Brian Brooks (1):
linux-generic: internal cache line size
Matias Elo (4):
linux-gen: packet: add packet parser structure
linux-gen: packet: use packet_parser_t type argument with parser functions
linux-gen: pktio loop: improve classifying segmented packets
test: l2fwd: prefetch packet data
Maxim Uvarov (10):
test: pktio: correct mac addr len check
Revert "validation: queue: use malloc to avoid limits on max_queues"
example: remove reference from linux-generic internal envs
test: add termination path for l2fwd
linux-gen: scope ipc shared memory for packet pools only
example: odp_switch add termination path
test: odp_crypto add termination path
api: system: specify default huge page size
api: version update from 1.10.1 to 1.11.0
configure.ac update version
Mike Holmes (2):
doc: fix distribution build cases
doc: separate pure API guide and implementation guide
Nikhil Agarwal (2):
example:ipsec: removed invalid todos.
api:crypto: resolve todo items
Petri Savolainen (24):
helper: linux: correct pthread join retval check
linux-gen: sched: add ordered enq to schedule_fn_t
linux-gen: sched: add sched_cb_queue_empty call
linux-gen: pktio: added debug prints
vald: timer: add missing pool param init calls
vald: sched: bug corrections
linux-gen: sched: SP scheduler implementation
linux-gen: pktio: simplify state handling
linux-gen: sched: call pktio_start only once
linux-gen: sched: use pktio index in scheduler interface
test: validation: add missing pktio_stop calls
test: pktio: improve start_stop test
linux-gen: sched: add pktio_stop_finalize to scheduler interface
linux-gen: tm: correct invalid packet handle definitions
linux-gen: sched: remove dummy pool from SP scheduler
linux-gen: tm: use directly ODP_PACKET_INVALID
test: queue: add capability test
test: queue: add mode test
test: queue: cleanup variable naming
test: queue: do not dequeue from scheduled queue
linux-gen: cpumask: remove dependency to sched.h
linux-gen: byteorder: remove dependency to linux headers
linux-gen: std_types: remove extra c headers
example: hello: add hello world example application
Rizwan Ansari (1):
linux-generic: ticketlock: remove odp_sync_stores for octeon
Yi He (2):
linux-gen: move platform tests into test suite
linux-gen: remove all dependencies to helper
-----------------------------------------------------------------------
hooks/post-receive
--