Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/14785/?format=api
https://patches.dpdk.org/api/patches/14785/?format=api", "web_url": "https://patches.dpdk.org/project/dpdk/patch/5784D4DF.6070204@6wind.com/", "project": { "id": 1, "url": "https://patches.dpdk.org/api/projects/1/?format=api", "name": "DPDK", "link_name": "dpdk", "list_id": "dev.dpdk.org", "list_email": "dev@dpdk.org", "web_url": "http://core.dpdk.org", "scm_url": "git://dpdk.org/dpdk", "webscm_url": "http://git.dpdk.org/dpdk", "list_archive_url": "https://inbox.dpdk.org/dev", "list_archive_url_format": "https://inbox.dpdk.org/dev/{}", "commit_url_format": "" }, "msgid": "<5784D4DF.6070204@6wind.com>", "list_archive_url": "https://inbox.dpdk.org/dev/5784D4DF.6070204@6wind.com", "date": "2016-07-12T11:30:39", "name": "[dpdk-dev] mutli process C/S model example init failed on xen dom0 with dpdk-16.07 rc2 package", "commit_ref": null, "pull_url": null, "state": "not-applicable", "archived": true, "hash": "96a73f4ead921ad16059b14d4209e93b7f1bf83b", "submitter": { "id": 8, "url": "https://patches.dpdk.org/api/people/8/?format=api", "name": "Olivier Matz", "email": "olivier.matz@6wind.com" }, "delegate": null, "mbox": "https://patches.dpdk.org/project/dpdk/patch/5784D4DF.6070204@6wind.com/mbox/", "series": [], "comments": "https://patches.dpdk.org/api/patches/14785/comments/", "check": "pending", "checks": "https://patches.dpdk.org/api/patches/14785/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "<dev-bounces@dpdk.org>", "X-Original-To": "patchwork@dpdk.org", "Delivered-To": "patchwork@dpdk.org", "Received": [ "from [92.243.14.124] (localhost [IPv6:::1])\n\tby dpdk.org (Postfix) with ESMTP id DD613968;\n\tTue, 12 Jul 2016 13:30:41 +0200 (CEST)", "from proxy.6wind.com (host.76.145.23.62.rev.coltfrance.com\n\t[62.23.145.76]) by dpdk.org (Postfix) with ESMTP id 798C2914\n\tfor <dev@dpdk.org>; Tue, 12 Jul 2016 13:30:40 +0200 (CEST)", "from [10.16.0.195] (unknown [10.16.0.195])\n\tby proxy.6wind.com (Postfix) with ESMTP id 416FF273C3;\n\tTue, 12 Jul 2016 13:30:40 +0200 (CEST)" ], "To": "\"Xu, HuilongX\" <huilongx.xu@intel.com>, \"dev@dpdk.org\" <dev@dpdk.org>", "References": "<DF2A19295B96364286FEB7F3DDA27A4637B879F4@SHSMSX101.ccr.corp.intel.com>", "Cc": "\"Cao, Waterman\" <waterman.cao@intel.com>,\n\t\"Chen, WeichunX\" <weichunx.chen@intel.com>,\n\tSergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>,\n\tThomas Monjalon <thomas.monjalon@6wind.com>", "From": "Olivier MATZ <olivier.matz@6wind.com>", "Message-ID": "<5784D4DF.6070204@6wind.com>", "Date": "Tue, 12 Jul 2016 13:30:39 +0200", "User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101\n\tIcedove/38.6.0", "MIME-Version": "1.0", "In-Reply-To": "<DF2A19295B96364286FEB7F3DDA27A4637B879F4@SHSMSX101.ccr.corp.intel.com>", "Content-Type": "text/plain; charset=windows-1252; format=flowed", "Content-Transfer-Encoding": "7bit", "Subject": "Re: [dpdk-dev] mutli process C/S model example init failed on xen\n\tdom0 with dpdk-16.07 rc2 package", "X-BeenThere": "dev@dpdk.org", "X-Mailman-Version": "2.1.15", "Precedence": "list", "List-Id": "patches and discussions about DPDK <dev.dpdk.org>", "List-Unsubscribe": "<http://dpdk.org/ml/options/dev>,\n\t<mailto:dev-request@dpdk.org?subject=unsubscribe>", "List-Archive": "<http://dpdk.org/ml/archives/dev/>", "List-Post": "<mailto:dev@dpdk.org>", "List-Help": "<mailto:dev-request@dpdk.org?subject=help>", "List-Subscribe": "<http://dpdk.org/ml/listinfo/dev>,\n\t<mailto:dev-request@dpdk.org?subject=subscribe>", "Errors-To": "dev-bounces@dpdk.org", "Sender": "\"dev\" <dev-bounces@dpdk.org>" }, "content": "Hi Huilong,\n\n\nOn 07/12/2016 11:22 AM, Xu, HuilongX wrote:\n> Hi all,\n>\n> I run mutli procee C/S model example failed on xen dom0. Does anyone\n> give me some suggest how to debug it?\n>\n> Thanks a lot\n>\n> test environment:\n>\n> OS&kernel: 3.17.4-301.fc21.x86_64\n>\n> Gcc version: gcc version 4.9.2 20141101 (Red Hat 4.9.2-1) (GCC)\n>\n> Package :dpdk.16.07-rc1.tar.gz\n>\n> Target: x86_64-native-linuxapp-gcc\n>\n> Compile switch: enable CONFIG_RTE_LIBRTE_XEN_DOM0\n>\n> Xen version:4.4.1\n>\n> Test cmdline and result:\n>\n> /examples/multi_process/client_server_mp/mp_server/mp_server/x86_64-native-linuxapp-gcc/mp_server\n> -c f -n 4 --xen-dom0 -- -p 0x3 -n 2\n> EAL: Detected 72 lcore(s)\n> EAL: Probing VFIO support...\n> PMD: bnxt_rte_pmd_init() called for (null)\n> EAL: PCI device 0000:01:00.0 on NUMA socket 0\n> EAL: probe driver: 8086:1521 rte_igb_pmd\n> EAL: PCI device 0000:01:00.1 on NUMA socket 0\n> EAL: probe driver: 8086:1521 rte_igb_pmd\n> EAL: PCI device 0000:04:00.0 on NUMA socket 0\n> EAL: probe driver: 8086:10fb rte_ixgbe_pmd\n> EAL: PCI device 0000:04:00.1 on NUMA socket 0\n> EAL: probe driver: 8086:10fb rte_ixgbe_pmd\n> Creating mbuf pool 'MProc_pktmbuf_pool' [6144 mbufs] ...\n> Port 0 init ... Segmentation fault (core dumped)\n>\n\nI reproduced the issue on my platform. In my case, the crash occurs in \nrx_queue_setup():\n\n /* Free memory prior to re-allocation if needed. */\n if (dev->data->rx_queues[queue_idx] != NULL) {\n=> em_rx_queue_release(dev->data->rx_queues[queue_idx]);\n dev->data->rx_queues[queue_idx] = NULL;\n }\n\nI don't this we should go in that area for the first rx queue \ninitialization. I suspect it could be related to this commit:\nhttp://dpdk.org/browse/dpdk/commit/?id=ea0bddbd14e68f\n\nI think we cannot expect that memory is initialized at 0 when using Xen \ndom0. If I add the following (dirty) patch, I don't see a crash anymore:\n\n\n /*\n\n\nSergio, could you have a look at it?\n\nRegards,\nOlivier", "diff": "--- a/lib/librte_eal/common/eal_common_memzone.c\n+++ b/lib/librte_eal/common/eal_common_memzone.c\n@@ -258,6 +258,8 @@ memzone_reserve_aligned_thread_unsafe(const char \n*name, size_t len,\n mz->flags = 0;\n mz->memseg_id = elem->ms - \nrte_eal_get_configuration()->mem_config->memseg;\n\n+ memset(mz->addr, 0, mz->len);\n+\n return mz;\n }\n\n--- a/lib/librte_eal/common/rte_malloc.c\n+++ b/lib/librte_eal/common/rte_malloc.c\n@@ -123,7 +123,13 @@ rte_malloc(const char *type, size_t size, unsigned \nalign)\n void *\n rte_zmalloc_socket(const char *type, size_t size, unsigned align, int \nsocket)\n {\n- return rte_malloc_socket(type, size, align, socket);\n+ void *x = rte_malloc_socket(type, size, align, socket);\n+\n+ if (x == NULL)\n+ return NULL;\n+\n+ memset(x, 0, size);\n+ return x;\n }\n", "prefixes": [ "dpdk-dev" ] }{ "id": 14785, "url": "