get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 43118,
    "url": "http://patchwork.dpdk.org/api/patches/43118/?format=api",
    "web_url": "http://patchwork.dpdk.org/project/dpdk/patch/9220e130edbd5d8ca1d7dc0a2e06c8dadcf3a22f.1531758221.git.anatoly.burakov@intel.com/",
    "project": {
        "id": 1,
        "url": "http://patchwork.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": "<9220e130edbd5d8ca1d7dc0a2e06c8dadcf3a22f.1531758221.git.anatoly.burakov@intel.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/9220e130edbd5d8ca1d7dc0a2e06c8dadcf3a22f.1531758221.git.anatoly.burakov@intel.com",
    "date": "2018-07-16T16:34:04",
    "name": "test: ensure EAL flags autotest works properly on BSD",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": true,
    "hash": "c1bc8c3df92eec0fec0cc76994a498e491ae7f89",
    "submitter": {
        "id": 4,
        "url": "http://patchwork.dpdk.org/api/people/4/?format=api",
        "name": "Anatoly Burakov",
        "email": "anatoly.burakov@intel.com"
    },
    "delegate": {
        "id": 1,
        "url": "http://patchwork.dpdk.org/api/users/1/?format=api",
        "username": "tmonjalo",
        "first_name": "Thomas",
        "last_name": "Monjalon",
        "email": "thomas@monjalon.net"
    },
    "mbox": "http://patchwork.dpdk.org/project/dpdk/patch/9220e130edbd5d8ca1d7dc0a2e06c8dadcf3a22f.1531758221.git.anatoly.burakov@intel.com/mbox/",
    "series": [
        {
            "id": 611,
            "url": "http://patchwork.dpdk.org/api/series/611/?format=api",
            "web_url": "http://patchwork.dpdk.org/project/dpdk/list/?series=611",
            "date": "2018-07-16T16:34:04",
            "name": "test: ensure EAL flags autotest works properly on BSD",
            "version": 1,
            "mbox": "http://patchwork.dpdk.org/series/611/mbox/"
        }
    ],
    "comments": "http://patchwork.dpdk.org/api/patches/43118/comments/",
    "check": "warning",
    "checks": "http://patchwork.dpdk.org/api/patches/43118/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 94D03255;\n\tMon, 16 Jul 2018 18:34:10 +0200 (CEST)",
            "from mga03.intel.com (mga03.intel.com [134.134.136.65])\n\tby dpdk.org (Postfix) with ESMTP id D95A2201;\n\tMon, 16 Jul 2018 18:34:07 +0200 (CEST)",
            "from fmsmga002.fm.intel.com ([10.253.24.26])\n\tby orsmga103.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384;\n\t16 Jul 2018 09:34:06 -0700",
            "from irvmail001.ir.intel.com ([163.33.26.43])\n\tby fmsmga002.fm.intel.com with ESMTP; 16 Jul 2018 09:34:05 -0700",
            "from sivswdev01.ir.intel.com (sivswdev01.ir.intel.com\n\t[10.237.217.45])\n\tby irvmail001.ir.intel.com (8.14.3/8.13.6/MailSET/Hub) with ESMTP id\n\tw6GGY4ZC010313; Mon, 16 Jul 2018 17:34:04 +0100",
            "from sivswdev01.ir.intel.com (localhost [127.0.0.1])\n\tby sivswdev01.ir.intel.com with ESMTP id w6GGY4MS015497;\n\tMon, 16 Jul 2018 17:34:04 +0100",
            "(from aburakov@localhost)\n\tby sivswdev01.ir.intel.com with LOCAL id w6GGY4q8015488;\n\tMon, 16 Jul 2018 17:34:04 +0100"
        ],
        "X-Amp-Result": "SKIPPED(no attachment in message)",
        "X-Amp-File-Uploaded": "False",
        "X-ExtLoop1": "1",
        "X-IronPort-AV": "E=Sophos;i=\"5.51,361,1526367600\"; d=\"scan'208\";a=\"67418199\"",
        "From": "Anatoly Burakov <anatoly.burakov@intel.com>",
        "To": "dev@dpdk.org",
        "Cc": "yu.y.liu@intel.com, bruce.richardson@intel.com,\n\tkonstantin.ananyev@intel.com, stable@dpdk.org",
        "Date": "Mon, 16 Jul 2018 17:34:04 +0100",
        "Message-Id": "<9220e130edbd5d8ca1d7dc0a2e06c8dadcf3a22f.1531758221.git.anatoly.burakov@intel.com>",
        "X-Mailer": "git-send-email 1.7.0.7",
        "Subject": "[dpdk-dev] [PATCH] test: ensure EAL flags autotest works properly\n\ton BSD",
        "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": "FreeBSD does not support running multiple primary processes\nconcurrently, because all DPDK instances will allocate memory\nfrom the same place (memory provided by contigmem driver).\nWhile it is technically possible to launch a DPDK process\nusing no-shconf switch, it will actually corrupt main process'\nfor the above reason.\n\nFix EAL flags autotest to not run primary processes unless\nboth no-shconf and no-huge are specified.\n\nCc: stable@dpdk.org\n\nSigned-off-by: Anatoly Burakov <anatoly.burakov@intel.com>\n---\n\nNotes:\n    Testing of this patch is a little tricky. The issue was\n    initially discovered because of a different patch:\n    \n    http://patches.dpdk.org/patch/36946/\n    \n    merged as:\n    \n    commit a3d6026711d00183e308f1dd79933f6161840e04\n    Author: Olivier Matz <olivier.matz@6wind.com>\n        ring: relax alignment constraint on ring structure\n    \n    On some machines with FreeBSD, this resulted in weird\n    behavior of EAL flags autotest [1], and, following\n    investigation it was discoevered that the root cause\n    was not that patch, but rather corrupted main memory\n    of the test process. The reason for this corruption was\n    eventially narrowed down to running one of the tests\n    with a primary process, with no-shconf, but without\n    no-huge, which resulted in second primary process\n    attaching to the same contigmem segments and corrupting\n    memory of the test process.\n    \n    After applying this patch, this issue goes away on my\n    FreeBSD machine. This patch applies directly atop of\n    that commit, so it can be tested against it.\n    \n    [1] http://patches.dpdk.org/patch/36946/#81432\n\n test/test/test_eal_flags.c | 33 +++++++++++++++++----------------\n 1 file changed, 17 insertions(+), 16 deletions(-)",
    "diff": "diff --git a/test/test/test_eal_flags.c b/test/test/test_eal_flags.c\nindex f840ca50b..8d1da2c60 100644\n--- a/test/test/test_eal_flags.c\n+++ b/test/test/test_eal_flags.c\n@@ -376,17 +376,17 @@ test_invalid_vdev_flag(void)\n #endif\n \n \t/* Test with invalid vdev option */\n-\tconst char *vdevinval[] = {prgname, prefix, \"-n\", \"1\",\n+\tconst char *vdevinval[] = {prgname, prefix, no_huge, \"-n\", \"1\",\n \t\t\t\t\"-c\", \"1\", vdev, \"eth_dummy\"};\n \n \t/* Test with valid vdev option */\n-\tconst char *vdevval1[] = {prgname, prefix, \"-n\", \"1\",\n+\tconst char *vdevval1[] = {prgname, prefix, no_huge, \"-n\", \"1\",\n \t\"-c\", \"1\", vdev, \"net_ring0\"};\n \n-\tconst char *vdevval2[] = {prgname, prefix, \"-n\", \"1\",\n+\tconst char *vdevval2[] = {prgname, prefix, no_huge, \"-n\", \"1\",\n \t\"-c\", \"1\", vdev, \"net_ring0,args=test\"};\n \n-\tconst char *vdevval3[] = {prgname, prefix, \"-n\", \"1\",\n+\tconst char *vdevval3[] = {prgname, prefix, no_huge, \"-n\", \"1\",\n \t\"-c\", \"1\", vdev, \"net_ring0,nodeaction=r1:0:CREATE\"};\n \n \tif (launch_proc(vdevinval) == 0) {\n@@ -849,13 +849,10 @@ test_misc_flags(void)\n \tconst char *argv4[] = {prgname, prefix, mp_flag, \"-c\", \"1\", \"--syslog\"};\n \t/* With invalid --syslog */\n \tconst char *argv5[] = {prgname, prefix, mp_flag, \"-c\", \"1\", \"--syslog\", \"error\"};\n-\t/* With no-sh-conf */\n+\t/* With no-sh-conf, also use no-huge to ensure this test runs on BSD */\n \tconst char *argv6[] = {prgname, \"-c\", \"1\", \"-n\", \"2\", \"-m\", DEFAULT_MEM_SIZE,\n-\t\t\tno_shconf, nosh_prefix };\n+\t\t\tno_shconf, nosh_prefix, no_huge};\n \n-#ifdef RTE_EXEC_ENV_BSDAPP\n-\treturn 0;\n-#endif\n \t/* With --huge-dir */\n \tconst char *argv7[] = {prgname, \"-c\", \"1\", \"-n\", \"2\", \"-m\", DEFAULT_MEM_SIZE,\n \t\t\t\"--file-prefix=hugedir\", \"--huge-dir\", hugepath};\n@@ -889,6 +886,7 @@ test_misc_flags(void)\n \tconst char *argv15[] = {prgname, \"--file-prefix=intr\",\n \t\t\t\"-c\", \"1\", \"-n\", \"2\", \"--vfio-intr=invalid\"};\n \n+\t/* run all tests also applicable to FreeBSD first */\n \n \tif (launch_proc(argv0) == 0) {\n \t\tprintf(\"Error - process ran ok with invalid flag\\n\");\n@@ -902,6 +900,16 @@ test_misc_flags(void)\n \t\tprintf(\"Error - process did not run ok with -v flag\\n\");\n \t\treturn -1;\n \t}\n+\tif (launch_proc(argv6) != 0) {\n+\t\tprintf(\"Error - process did not run ok with --no-shconf flag\\n\");\n+\t\treturn -1;\n+\t}\n+\n+#ifdef RTE_EXEC_ENV_BSDAPP\n+\t/* no more tests to be done on FreeBSD */\n+\treturn 0;\n+#endif\n+\n \tif (launch_proc(argv3) != 0) {\n \t\tprintf(\"Error - process did not run ok with --syslog flag\\n\");\n \t\treturn -1;\n@@ -914,13 +922,6 @@ test_misc_flags(void)\n \t\tprintf(\"Error - process run ok with invalid --syslog flag\\n\");\n \t\treturn -1;\n \t}\n-\tif (launch_proc(argv6) != 0) {\n-\t\tprintf(\"Error - process did not run ok with --no-shconf flag\\n\");\n-\t\treturn -1;\n-\t}\n-#ifdef RTE_EXEC_ENV_BSDAPP\n-\treturn 0;\n-#endif\n \tif (launch_proc(argv7) != 0) {\n \t\tprintf(\"Error - process did not run ok with --huge-dir flag\\n\");\n \t\treturn -1;\n",
    "prefixes": []
}