From: chunmei Liu Date: Fri, 5 Jan 2018 20:55:15 +0000 (-0800) Subject: osd: fix dpdk memzon mz_name setting issue X-Git-Tag: v13.0.2~603^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=623c6bd5b136ea3247c724c34809b1ee73f0a853;p=ceph-ci.git osd: fix dpdk memzon mz_name setting issue Signed-off-by: chunmei Liu --- diff --git a/src/msg/async/dpdk/DPDK.cc b/src/msg/async/dpdk/DPDK.cc index e7a4ceddafe..a191925ac28 100644 --- a/src/msg/async/dpdk/DPDK.cc +++ b/src/msg/async/dpdk/DPDK.cc @@ -496,9 +496,6 @@ bool DPDKQueuePair::init_rx_mbuf_pool() { std::string name = std::string(pktmbuf_pool_name) + std::to_string(_qid) + "_rx"; - int bufs_count = cct->_conf->ms_dpdk_rx_buffer_count_per_core - mbufs_per_queue_rx; - int mz_flags = RTE_MEMZONE_1GB|RTE_MEMZONE_SIZE_HINT_ONLY; - char mz_name[RTE_MEMZONE_NAMESIZE]; // reserve the memory for Rx buffers containers _rx_free_pkts.reserve(mbufs_per_queue_rx); _rx_free_bufs.reserve(mbufs_per_queue_rx); @@ -528,17 +525,12 @@ bool DPDKQueuePair::init_rx_mbuf_pool() } // - // 1) Pull all entries from the pool. - // 2) Bind data buffers to each of them. - // 3) Return them back to the pool. - // - int ret = snprintf(mz_name, sizeof(mz_name), - "%s", "rx_buffer_data" + std::to_string(_qid)); - if (ret < 0 || ret >= (int)sizeof(mz_name)) { - return false; - } - const struct rte_memzone *mz = rte_memzone_reserve_aligned(mz_name, mbuf_data_size*bufs_count, - _pktmbuf_pool_rx->socket_id, mz_flags, mbuf_data_size); + // allocate more data buffer + int bufs_count = cct->_conf->ms_dpdk_rx_buffer_count_per_core - mbufs_per_queue_rx; + int mz_flags = RTE_MEMZONE_1GB|RTE_MEMZONE_SIZE_HINT_ONLY; + std::string mz_name = "rx_buffer_data" + std::to_string(_qid); + const struct rte_memzone *mz = rte_memzone_reserve_aligned(mz_name.c_str(), + mbuf_data_size*bufs_count, _pktmbuf_pool_rx->socket_id, mz_flags, mbuf_data_size); assert(mz); void* m = mz->addr; for (int i = 0; i < bufs_count; i++) {