X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=app%2Ftest-pmd%2Ftestpmd.c;h=e1da961311f847ad71d5d7ca01d93c5e294adb9b;hb=ff6db8829678396d2d10b3c29744d36149608982;hp=ba65342b6dd0a74d63977d6c316c482b7345b937;hpb=bb9be9a45e01e09caaf3e57b0c2c68c87a925b01;p=dpdk.git diff --git a/app/test-pmd/testpmd.c b/app/test-pmd/testpmd.c index ba65342b6d..e1da961311 100644 --- a/app/test-pmd/testpmd.c +++ b/app/test-pmd/testpmd.c @@ -84,7 +84,13 @@ #endif #define EXTMEM_HEAP_NAME "extmem" -#define EXTBUF_ZONE_SIZE RTE_PGSIZE_2M +/* + * Zone size with the malloc overhead (max of debug and release variants) + * must fit into the smallest supported hugepage size (2M), + * so that an IOVA-contiguous zone of this size can always be allocated + * if there are free 2M hugepages. + */ +#define EXTBUF_ZONE_SIZE (RTE_PGSIZE_2M - 4 * RTE_CACHE_LINE_SIZE) uint16_t verbose_level = 0; /**< Silent by default. */ int testpmd_logtype; /**< Log type for testpmd logs */ @@ -449,7 +455,7 @@ uint32_t bypass_timeout = RTE_PMD_IXGBE_BYPASS_TMT_OFF; uint8_t latencystats_enabled; /* - * Lcore ID to serive latency statistics. + * Lcore ID to service latency statistics. */ lcoreid_t latencystats_lcore_id = -1; @@ -581,25 +587,6 @@ eth_rx_metadata_negotiate_mp(uint16_t port_id) } } -static void -flow_pick_transfer_proxy_mp(uint16_t port_id) -{ - struct rte_port *port = &ports[port_id]; - int ret; - - port->flow_transfer_proxy = port_id; - - if (!is_proc_primary()) - return; - - ret = rte_flow_pick_transfer_proxy(port_id, &port->flow_transfer_proxy, - NULL); - if (ret != 0) { - fprintf(stderr, "Error picking flow transfer proxy for port %u: %s - ignore\n", - port_id, rte_strerror(-ret)); - } -} - static int eth_dev_configure_mp(uint16_t port_id, uint16_t nb_rx_q, uint16_t nb_tx_q, const struct rte_eth_conf *dev_conf) @@ -1080,12 +1067,11 @@ setup_extbuf(uint32_t nb_mbufs, uint16_t mbuf_sz, unsigned int socket_id, ext_num = 0; break; } - mz = rte_memzone_reserve_aligned(mz_name, EXTBUF_ZONE_SIZE, - socket_id, - RTE_MEMZONE_IOVA_CONTIG | - RTE_MEMZONE_1GB | - RTE_MEMZONE_SIZE_HINT_ONLY, - EXTBUF_ZONE_SIZE); + mz = rte_memzone_reserve(mz_name, EXTBUF_ZONE_SIZE, + socket_id, + RTE_MEMZONE_IOVA_CONTIG | + RTE_MEMZONE_1GB | + RTE_MEMZONE_SIZE_HINT_ONLY); if (mz == NULL) { /* * The caller exits on external buffer creation @@ -1574,7 +1560,6 @@ init_config_port_offloads(portid_t pid, uint32_t socket_id) int i; eth_rx_metadata_negotiate_mp(pid); - flow_pick_transfer_proxy_mp(pid); port->dev_conf.txmode = tx_mode; port->dev_conf.rxmode = rx_mode;