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@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@nokia.com Reviewed-by: Bill Fischofer bill.fischofer@linaro.org Signed-off-by: Maxim Uvarov maxim.uvarov@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@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@nokia.com Signed-off-by: Zoltan Kiss zoltan.kiss@linaro.org Reviewed-by: Bill Fischofer bill.fischofer@linaro.org Signed-off-by: Maxim Uvarov maxim.uvarov@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