get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/patches/44635/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 44635,
    "url": "https://patches.dpdk.org/api/patches/44635/?format=api",
    "web_url": "https://patches.dpdk.org/project/dpdk/patch/FD73C016-5F3F-49BD-865B-50444C1AEB1E@mellanox.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": "<FD73C016-5F3F-49BD-865B-50444C1AEB1E@mellanox.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/FD73C016-5F3F-49BD-865B-50444C1AEB1E@mellanox.com",
    "date": "2018-09-12T20:56:07",
    "name": "rte_memcpy() moves data incorrectly on Ubuntu 18.04 on Intel Skylake.",
    "commit_ref": null,
    "pull_url": null,
    "state": "not-applicable",
    "archived": true,
    "hash": "dbe963ed7f1e604e79cb7465b6a3cf95bd0fde2d",
    "submitter": {
        "id": 636,
        "url": "https://patches.dpdk.org/api/people/636/?format=api",
        "name": "Yongseok Koh",
        "email": "yskoh@mellanox.com"
    },
    "delegate": null,
    "mbox": "https://patches.dpdk.org/project/dpdk/patch/FD73C016-5F3F-49BD-865B-50444C1AEB1E@mellanox.com/mbox/",
    "series": [
        {
            "id": 1299,
            "url": "https://patches.dpdk.org/api/series/1299/?format=api",
            "web_url": "https://patches.dpdk.org/project/dpdk/list/?series=1299",
            "date": "2018-09-12T20:56:07",
            "name": "rte_memcpy() moves data incorrectly on Ubuntu 18.04 on Intel Skylake.",
            "version": 1,
            "mbox": "https://patches.dpdk.org/series/1299/mbox/"
        }
    ],
    "comments": "https://patches.dpdk.org/api/patches/44635/comments/",
    "check": "fail",
    "checks": "https://patches.dpdk.org/api/patches/44635/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 [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 1499E4CBD;\n\tWed, 12 Sep 2018 22:56:12 +0200 (CEST)",
            "from EUR02-VE1-obe.outbound.protection.outlook.com\n\t(mail-eopbgr20085.outbound.protection.outlook.com [40.107.2.85])\n\tby dpdk.org (Postfix) with ESMTP id 8FACC4CBB\n\tfor <dev@dpdk.org>; Wed, 12 Sep 2018 22:56:10 +0200 (CEST)",
            "from DB3PR0502MB3980.eurprd05.prod.outlook.com (52.134.72.27) by\n\tDB3PR0502MB4012.eurprd05.prod.outlook.com (52.134.72.141) with\n\tMicrosoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n\t15.20.1122.17; Wed, 12 Sep 2018 20:56:08 +0000",
            "from DB3PR0502MB3980.eurprd05.prod.outlook.com\n\t([fe80::452:cfe7:8363:61c1]) by\n\tDB3PR0502MB3980.eurprd05.prod.outlook.com\n\t([fe80::452:cfe7:8363:61c1%2]) with mapi id 15.20.1122.020;\n\tWed, 12 Sep 2018 20:56:08 +0000"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com;\n\ts=selector1;\n\th=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n\tbh=65cGAGyAKqNjuPuThJoP0zBuoKqHVG/hl6Sne74WWaA=;\n\tb=hv2DMCyZyMl9amLUHqKVN9sDf4txT9wpC/PLZVt2NHz4keUSW470KBn9t+USUvdwkeAzLR2eyG2DjrCVRK02nMC7vP2kDsdIBHX6Izd8s0v65/KlzQD8FS5p/UXaz7oJ2r/7aNIg5E34Usl+uwFRLUffGydYmklzGh0Yp1MZEJg=",
        "From": "Yongseok Koh <yskoh@mellanox.com>",
        "To": "Christian Ehrhardt <christian.ehrhardt@canonical.com>",
        "CC": "Shahaf Shuler <shahafs@mellanox.com>, Olga Shern <olgas@mellanox.com>,\n\tThomas Monjalon <thomasm@mellanox.com>,\n\tTalat Batheesh <talatb@mellanox.com>, \n\tNoa Spanier <noas@mellanox.com>, dev <dev@dpdk.org>",
        "Thread-Topic": "rte_memcpy() moves data incorrectly on Ubuntu 18.04 on Intel\n\tSkylake.",
        "Thread-Index": "AQHUStsHwxJwBzukgE2t66MTnwb4hQ==",
        "Date": "Wed, 12 Sep 2018 20:56:07 +0000",
        "Message-ID": "<FD73C016-5F3F-49BD-865B-50444C1AEB1E@mellanox.com>",
        "Accept-Language": "en-US",
        "Content-Language": "en-US",
        "X-MS-Has-Attach": "",
        "X-MS-TNEF-Correlator": "",
        "authentication-results": "spf=none (sender IP is )\n\tsmtp.mailfrom=yskoh@mellanox.com; ",
        "x-originating-ip": "[209.116.155.178]",
        "x-ms-publictraffictype": "Email",
        "x-microsoft-exchange-diagnostics": "1; DB3PR0502MB4012;\n\t6:AyFHBun4ALeZjGHrJpwDmp/7MjQhTBlO9faqBvG7D3CNe45TftNZncIZT2vT07rvZ7OWtHeBJsD95pBbP+TUrLvgDsOq/C8Cd9fu6xIlnpW5mT1DGpgqEOoAnCXr70CwoLHkL1Smafw+G6NIJMOsuLANBli9T3C48D6tQKquyjA0E13YoUVRrY/+a13rCoEq+fpTDtt8gPzX9AMfSTQolfKWDJG4nXhOID0TxVizb9Nz/FYUJnfod9v5R1oCQyaMXqSWeivhEsx8GAIQ5g1kbaB1afqRUA3Flu6dgXgRICSh/sXgygCtcANZNc4N3htltbfLgvvhljiIpGoWXffo45FaSRjJiYsIxgDUV9rVMOQnPw2fn+Kx2e/fh4izN4rT7AazVsp9G4k3R4Tq8tBJtDhV8uzS5q4Ins2572ZjeVs6Wm4SK4IW5KSmb2uN/yaDU3nmO9by8coT1d6eZRx1Qw==;\n\t5:wtg5pOP5s1URQ+/2w0hKp3EOy+nYwosKRuVl6bJytpza5nV/dp4dU6zKUmaq2JjwqAg8CwcRsU+/vya5qqrMHqApJ2IY+OGzdnxh5YadrEkkUbB2HhTZk6yGQnABvExj6X8TmbpFYeuF/tL674j+GUSR5XV76G87vS4Fbe4Xzk4=;\n\t7:nSMJTRWpAfUkDVu7K5ax74fMh7WoBh/2UDtRqrY3CLpaEamOFTA6OIZq5yrSAhbGLsPrMXS1x6Rjh8DnhFB1OuidiRIeu8easwtnq2CQOwXZAdTnD9e9BDpT817J6aGmExWRNXm2fiJXcuQEp6hBGblRltv0MruqrJTI6GVLHZ258DKqGaBRcNwHiicPAQVFEC+AwQMKE1Nbk7Zxx19Kl++bvbm/0f4xYnxubagUHqeCmv8iebIhrzitKJfAFCup",
        "x-ms-exchange-antispam-srfa-diagnostics": "SOS;",
        "x-ms-office365-filtering-correlation-id": "cfa43b9e-d475-4a97-6e6e-08d618f229c7",
        "x-ms-office365-filtering-ht": "Tenant",
        "x-microsoft-antispam": "BCL:0; PCL:0;\n\tRULEID:(7020095)(4652040)(8989137)(4534165)(4627221)(201703031133081)(201702281549075)(8990107)(5600074)(711020)(4618075)(2017052603328)(7153060)(7193020);\n\tSRVR:DB3PR0502MB4012; ",
        "x-ms-traffictypediagnostic": "DB3PR0502MB4012:",
        "x-microsoft-antispam-prvs": "<DB3PR0502MB40128106B8F96EA56333B158C31B0@DB3PR0502MB4012.eurprd05.prod.outlook.com>",
        "x-exchange-antispam-report-test": "UriScan:(158342451672863)(131327999870524)(155532106045638); ",
        "x-ms-exchange-senderadcheck": "1",
        "x-exchange-antispam-report-cfa-test": "BCL:0; PCL:0;\n\tRULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(823301075)(3002001)(10201501046)(3231311)(944501410)(52105095)(93006095)(93001095)(6055026)(149027)(150027)(6041310)(20161123562045)(20161123564045)(20161123560045)(20161123558120)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(201708071742011)(7699050);\n\tSRVR:DB3PR0502MB4012; BCL:0; PCL:0; RULEID:; SRVR:DB3PR0502MB4012; ",
        "x-forefront-prvs": "07935ACF08",
        "x-forefront-antispam-report": "SFV:NSPM;\n\tSFS:(10009020)(136003)(346002)(366004)(39860400002)(376002)(396003)(199004)(189003)(99286004)(6436002)(25786009)(14444005)(5024004)(5660300001)(105586002)(5250100002)(6916009)(86362001)(6512007)(81156014)(4326008)(476003)(8676002)(81166006)(6116002)(2616005)(3846002)(68736007)(8936002)(45954006)(256004)(106356001)(486006)(6486002)(53936002)(33656002)(6506007)(186003)(102836004)(82746002)(14454004)(2906002)(26005)(19627235002)(66066001)(97736004)(54906003)(478600001)(7736002)(305945005)(36756003)(316002)(83716003)(2900100001);\n\tDIR:OUT; SFP:1101; SCL:1; SRVR:DB3PR0502MB4012;\n\tH:DB3PR0502MB3980.eurprd05.prod.outlook.com; FPR:; SPF:None; LANG:en; \n\tPTR:InfoNoRecords; A:1; MX:1; ",
        "received-spf": "None (protection.outlook.com: mellanox.com does not designate\n\tpermitted sender hosts)",
        "x-microsoft-antispam-message-info": "sZpa109o+GR2lVKHT02JH2WHyO20/l7QC8piL9jtxFgMhwvyZO2OohgTCDgjWLIK3BelOfVoyMXk+WxxWeI3xlsYB/xDaVDkb/2BChsivzc2aeTc6d7Hx2OfcjdzBHkq07ieiHP7LaY9Scmven/AH6bO3jsRnpIpMq3rOpZP+vkR8DOoffX0czX6f/WCAOannMJGZvyXe018aUBjDwaXoyHy3a9dXP6BmB6bR5ws7ToK1D5x23YlEgpj9sZoKCX9F7gnLZNd65gYLnO1fKn2NAq3VpLOyBdqtUu0iy6vyR+C79v41RMWXEHR9+lCa4EzU//CxTnQ6T5dExyYA8P7FWku4rJ5NUZUzKAI09NIwVo=",
        "spamdiagnosticoutput": "1:99",
        "spamdiagnosticmetadata": "NSPM",
        "Content-Type": "text/plain; charset=\"us-ascii\"",
        "Content-ID": "<098D0F53CF9FE54A8CEC181BBCCB4131@eurprd05.prod.outlook.com>",
        "Content-Transfer-Encoding": "quoted-printable",
        "MIME-Version": "1.0",
        "X-OriginatorOrg": "Mellanox.com",
        "X-MS-Exchange-CrossTenant-Network-Message-Id": "cfa43b9e-d475-4a97-6e6e-08d618f229c7",
        "X-MS-Exchange-CrossTenant-originalarrivaltime": "12 Sep 2018 20:56:08.0185\n\t(UTC)",
        "X-MS-Exchange-CrossTenant-fromentityheader": "Hosted",
        "X-MS-Exchange-CrossTenant-id": "a652971c-7d2e-4d9b-a6a4-d149256f461b",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "DB3PR0502MB4012",
        "Subject": "[dpdk-dev] rte_memcpy() moves data incorrectly on Ubuntu 18.04 on\n\tIntel Skylake.",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.15",
        "Precedence": "list",
        "List-Id": "DPDK patches and discussions <dev.dpdk.org>",
        "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n\t<mailto:dev-request@dpdk.org?subject=unsubscribe>",
        "List-Archive": "<http://mails.dpdk.org/archives/dev/>",
        "List-Post": "<mailto:dev@dpdk.org>",
        "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
        "List-Subscribe": "<https://mails.dpdk.org/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, Christian\n\nWe've recently encountered a weird issue with Ubuntu 18.04 on the Skylake\nserver. I can always reproduce this crash and I could narrowed it down. I guess\nit could be a GCC issue.\n\n\n[1] How to reproduce\n- ConnectX-4Lx/ConnectX-5 with mlx5 PMD in DPDK 18.02.1\n- Ubuntu 18.04 on Intel Skylake server\n- gcc (Ubuntu 7.3.0-16ubuntu3) 7.3.0\n- Testpmd crashes when it starts to forward traffic. Easy to reproduce.\n- Only happens on the Skylake server.\n- DPDK 18.05 and later don't have such issue. git-bisect gives no clue.\n\n\n[2] Failure point\n\nThe attached patch gives an insight of why it crashes. The following is the\nresult of the patch and the GDB commands.\n\nIn summary, rte_memcpy() doesn't work as expected. In __mempool_generic_put(),\nthere's rte_memcpy() to move the array of objects to the lcore cache. If I run\nmemcmp() right after rte_memcpy(dst, src, n), data in dst differs from data in\nsrc. And it looks like some of data got shifted by a few bytes as you can see\nbelow.\n\n\t[GDB command]\n\t$dst = 0x7ffff4e09ea8\n\t$src = 0x7fffce3fb970\n\t$n = 256\n\tx/32gx 0x7ffff4e09ea8\n\tx/32gx 0x7fffce3fb970\n\ttestpmd: /home/mlnxtest/dpdk/build/include/rte_mempool.h:1140: __mempool_generic_put: Assertion `0' failed.\n\n\tThread 4 \"lcore-slave-1\" received signal SIGABRT, Aborted.\n\t[Switching to Thread 0x7fffce3ff700 (LWP 69913)]\n\t(gdb) x/32gx 0x7ffff4e09ea8\n\t0x7ffff4e09ea8: 0x00007fffaac38ec0      0x00007fffaac38500\n\t0x7ffff4e09eb8: 0x00007fffaac37b40      0x00007fffaac37180\n\t0x7ffff4e09ec8: 0x850000007fffaac3      0x7b4000007fffaac3\n\t0x7ffff4e09ed8: 0x00007fffaac35440      0x00007fffaac34a80\n\t0x7ffff4e09ee8: 0xaac3850000007fff      0xaac37b4000007fff\n\t0x7ffff4e09ef8: 0x00007fffaac32d40      0x00007fffaac32380\n\t0x7ffff4e09f08: 0x7fffaac385000000      0x7fffaac37b400000\n\t0x7ffff4e09f18: 0x00007fffaac30640      0x00007fffaac2fc80\n\t0x7ffff4e09f28: 0x00007fffaac2f2c0      0x00007fffaac2e900\n\t0x7ffff4e09f38: 0x00007fffaac2df40      0x00007fffaac2d580\n\t0x7ffff4e09f48: 0x00007fffaac2cbc0      0x00007fffaac2c200\n\t0x7ffff4e09f58: 0x00007fffaac2b840      0x00007fffaac2ae80\n\t0x7ffff4e09f68: 0x00007fffaac2a4c0      0x00007fffaac29b00\n\t0x7ffff4e09f78: 0x00007fffaac29140      0x00007fffaac28780\n\t0x7ffff4e09f88: 0x00007fffaac27dc0      0x00007fffaac27400\n\t0x7ffff4e09f98: 0x00007fffaac26a40      0x00007fffaac26080\n\t(gdb) x/32gx 0x7fffce3fb970\n\t0x7fffce3fb970: 0x00007fffaac38ec0      0x00007fffaac38500\n\t0x7fffce3fb980: 0x00007fffaac37b40      0x00007fffaac37180\n\t0x7fffce3fb990: 0x00007fffaac367c0      0x00007fffaac35e00\n\t0x7fffce3fb9a0: 0x00007fffaac35440      0x00007fffaac34a80\n\t0x7fffce3fb9b0: 0x00007fffaac340c0      0x00007fffaac33700\n\t0x7fffce3fb9c0: 0x00007fffaac32d40      0x00007fffaac32380\n\t0x7fffce3fb9d0: 0x00007fffaac319c0      0x00007fffaac31000\n\t0x7fffce3fb9e0: 0x00007fffaac30640      0x00007fffaac2fc80\n\t0x7fffce3fb9f0: 0x00007fffaac2f2c0      0x00007fffaac2e900\n\t0x7fffce3fba00: 0x00007fffaac2df40      0x00007fffaac2d580\n\t0x7fffce3fba10: 0x00007fffaac2cbc0      0x00007fffaac2c200\n\t0x7fffce3fba20: 0x00007fffaac2b840      0x00007fffaac2ae80\n\t0x7fffce3fba30: 0x00007fffaac2a4c0      0x00007fffaac29b00\n\t0x7fffce3fba40: 0x00007fffaac29140      0x00007fffaac28780\n\t0x7fffce3fba50: 0x00007fffaac27dc0      0x00007fffaac27400\n\t0x7fffce3fba60: 0x00007fffaac26a40      0x00007fffaac26080\n\n\nAFAIK, AVX512F support is disabled by default in DPDK as it is still\nexperimental (CONFIG_RTE_ENABLE_AVX512=n). But with gcc optimization, AVX2\nversion of rte_memcpy() seems to be optimized with 512b instructions. If I\ndisable it by adding EXTRA_CFLAGS=\"-mno-avx512f\", then it works fine and doesn't\ncrash.\n\nDo you have any idea regarding this issue or are you already aware of it?\n\n\nThanks,\nYongseok\n\n\n$ git diff",
    "diff": "diff --git a/config/common_base b/config/common_base\nindex ad03cf433..f512b5a88 100644\n--- a/config/common_base\n+++ b/config/common_base\n@@ -275,8 +275,8 @@ CONFIG_RTE_LIBRTE_MLX4_TX_MP_CACHE=8\n #\n # Compile burst-oriented Mellanox ConnectX-4 & ConnectX-5 (MLX5) PMD\n #\n-CONFIG_RTE_LIBRTE_MLX5_PMD=n\n-CONFIG_RTE_LIBRTE_MLX5_DEBUG=n\n+CONFIG_RTE_LIBRTE_MLX5_PMD=y\n+CONFIG_RTE_LIBRTE_MLX5_DEBUG=y\n CONFIG_RTE_LIBRTE_MLX5_DLOPEN_DEPS=n\n CONFIG_RTE_LIBRTE_MLX5_TX_MP_CACHE=8\n\n@@ -597,7 +597,7 @@ CONFIG_RTE_RING_USE_C11_MEM_MODEL=n\n #\n CONFIG_RTE_LIBRTE_MEMPOOL=y\n CONFIG_RTE_MEMPOOL_CACHE_MAX_SIZE=512\n-CONFIG_RTE_LIBRTE_MEMPOOL_DEBUG=n\n+CONFIG_RTE_LIBRTE_MEMPOOL_DEBUG=y\n\n #\n # Compile Mempool drivers\ndiff --git a/lib/librte_mempool/rte_mempool.h b/lib/librte_mempool/rte_mempool.h\nindex 8b1b7f7ed..9f48028d9 100644\n--- a/lib/librte_mempool/rte_mempool.h\n+++ b/lib/librte_mempool/rte_mempool.h\n@@ -39,6 +39,7 @@\n #include <errno.h>\n #include <inttypes.h>\n #include <sys/queue.h>\n+#include <assert.h>\n\n #include <rte_config.h>\n #include <rte_spinlock.h>\n@@ -1123,6 +1124,22 @@ __mempool_generic_put(struct rte_mempool *mp, void * const *obj_table,\n        /* Add elements back into the cache */\n        rte_memcpy(&cache_objs[0], obj_table, sizeof(void *) * n);\n\n+       if(memcmp(&cache_objs[0], obj_table, sizeof(void *) * n)) {\n+               printf(\"[GDB command] \\n\"\n+                      \"$dst = %p\\n\"\n+                      \"$src = %p\\n\"\n+                      \"$n = %ld\\n\"\n+                      \"x/%ldgx %p\\n\"\n+                      \"x/%ldgx %p\\n\",\n+                      (void *)&cache_objs[0],\n+                      (const void *)obj_table,\n+                      sizeof(void *) * n,\n+                      sizeof(void *) * n / 8, (void *)&cache_objs[0],\n+                      sizeof(void *) * n / 8, (const void *)obj_table\n+                      );\n+               assert(0);\n+       }\n+\n        cache->len += n;\n\n        if (cache->len >= cache->flushthresh) {\n",
    "prefixes": []
}