get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 21406,
    "url": "http://patches.dpdk.org/api/patches/21406/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/1488631615-5452-1-git-send-email-jerin.jacob@caviumnetworks.com/",
    "project": {
        "id": 1,
        "url": "http://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": "<1488631615-5452-1-git-send-email-jerin.jacob@caviumnetworks.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/1488631615-5452-1-git-send-email-jerin.jacob@caviumnetworks.com",
    "date": "2017-03-04T12:46:55",
    "name": "[dpdk-dev] net/thunderx: check data offset alignment requirement",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "dc92036266ead41e37173717ea7173bbfa408a5b",
    "submitter": {
        "id": 305,
        "url": "http://patches.dpdk.org/api/people/305/?format=api",
        "name": "Jerin Jacob",
        "email": "jerin.jacob@caviumnetworks.com"
    },
    "delegate": {
        "id": 319,
        "url": "http://patches.dpdk.org/api/users/319/?format=api",
        "username": "fyigit",
        "first_name": "Ferruh",
        "last_name": "Yigit",
        "email": "ferruh.yigit@amd.com"
    },
    "mbox": "http://patches.dpdk.org/project/dpdk/patch/1488631615-5452-1-git-send-email-jerin.jacob@caviumnetworks.com/mbox/",
    "series": [],
    "comments": "http://patches.dpdk.org/api/patches/21406/comments/",
    "check": "success",
    "checks": "http://patches.dpdk.org/api/patches/21406/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 5E8EE2952;\n\tSat,  4 Mar 2017 13:47:28 +0100 (CET)",
            "from NAM03-DM3-obe.outbound.protection.outlook.com\n\t(mail-dm3nam03on0077.outbound.protection.outlook.com [104.47.41.77])\n\tby dpdk.org (Postfix) with ESMTP id DD986FE5\n\tfor <dev@dpdk.org>; Sat,  4 Mar 2017 13:47:25 +0100 (CET)",
            "from localhost.localdomain.localdomain (14.140.2.178) by\n\tBY1PR0701MB1723.namprd07.prod.outlook.com (10.162.111.142) with\n\tMicrosoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.947.12;\n\tSat, 4 Mar 2017 12:47:22 +0000"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=CAVIUMNETWORKS.onmicrosoft.com; s=selector1-cavium-com;\n\th=From:Date:Subject:Message-ID:Content-Type:MIME-Version;\n\tbh=L+s9vTXPutd5TlJ6DXkU2gPGfxPIXwb7uABw3uI8tpc=;\n\tb=j4Wmu6+tGuofPG13gEAaFxZrlMn3DgDJDmlBx+umce+8rpIPwfRq60LPBNaYF+rXfWuIPr8y9qijF214FU7AZ3ZuUkFkr2lOdCgUxtF+gS4+r6JrTShWTvQUk/2EJz2tAKsmAu31br+kijdMuq0G9ySrF0bOde6pFj3CfYB3X6E=",
        "Authentication-Results": "dpdk.org; dkim=none (message not signed)\n\theader.d=none;dpdk.org; dmarc=none action=none\n\theader.from=caviumnetworks.com;",
        "From": "Jerin Jacob <jerin.jacob@caviumnetworks.com>",
        "To": "dev@dpdk.org",
        "Cc": "Jerin Jacob <jerin.jacob@caviumnetworks.com>",
        "Date": "Sat,  4 Mar 2017 18:16:55 +0530",
        "Message-Id": "<1488631615-5452-1-git-send-email-jerin.jacob@caviumnetworks.com>",
        "X-Mailer": "git-send-email 2.5.5",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain",
        "X-Originating-IP": "[14.140.2.178]",
        "X-ClientProxiedBy": "PN1PR01CA0072.INDPRD01.PROD.OUTLOOK.COM (10.174.144.140)\n\tTo\n\tBY1PR0701MB1723.namprd07.prod.outlook.com (10.162.111.142)",
        "X-MS-Office365-Filtering-Correlation-Id": "29e7bac9-94f8-46b7-3957-08d462fc9b38",
        "X-Microsoft-Antispam": "UriScan:; BCL:0; PCL:0; RULEID:(22001);\n\tSRVR:BY1PR0701MB1723; ",
        "X-Microsoft-Exchange-Diagnostics": [
            "1; BY1PR0701MB1723;\n\t3:AjgjMrMaet1X7tQ2241NNctRRKwQMfRZC3R+Sr1pSTs/houQQWgtALWA3z24iFRgG3dZ1ExQSTWVuSQLGsUyL0jZQEbkxr26F26y/aiYaDNB8L/aboCVkTJXr3IistEsqVyw5SYn4twGhhQmloZ7cCVDJywyBSS8j240UzgpV0WcAw+JSHTUqXQqYL5iI7oNACI0CR+ZKdbX6oiaxjVhOsCwix6SDqYQ082XGbiq7hCy0UgcBFCwa9lMvm72fzYvlkUs2C2QwgNKNKnLOph6zg==;\n\t25:eN3UYMdEFz9KgxhJuyISUeeYB4o+zhTNWoFrTy98s8sQKsZXS7ZhjodzDwC6ADM6QWsQF0gOkaAC2spqQBMx0hqiTBq4gJAQncJRPbjB9FJt4Y4BwV5XfzMSntteA34aVoeqoaUIIoBPD1rNmOWGD243+AOB+9It4N0f0fflDdify7GxDFhk5fHUYqaJ+dufAcBxHDvyB/ZLuFjsUvAoVXk6FTM0XWS5zo0N11TgNVt9lsQYwP90eFr0iYkxUwlrUw2mZKxQOJPpFJiEBvkKlP8HWMoc3459IjmOJO3Qw0XNP2Nm6EDghQEdGnIAF51VV0pX48/jWdBWpPzc79j5XheP0L4QJnrIsQjIX0d3BQ8HwOgMZGp2SMO0mjfnyNXgK6+hmr3zjS6ZTV6UWzd6euMCjNVWd5rjwUukFey0fZbVazBEyeT8SEnadTcpe9iv9+PUQcIE3i4MbyO7RnSB3Q==",
            "1; BY1PR0701MB1723;\n\t31:HuYYsxRuiAwwxIdhQscsPb4mpVgRMdcG0aE7LrYM7NMxUA+SGUQJkB5f7HfcyJ4UMr9h+63fyS0bNHja33LajoZWp/lpr+KwACkSPylmAPLrfDHcULMDAkcEhkkZk9OpGi2E8CdvH6YbC/g1cNwa++NWSTm9ZxjhP79W0na/FmPAiX42j4cX5JQLWMzHpD2EHv0x7U77VO8Sg67SWa8D8/elyk9P6d/frqGp699pfJBKaVr0ylN4O0gS8gAjJR0h;\n\t20:hz0gsM2fAbpEsG5/FXsCvqwsbYU+DJ8dWkYFiqZYey3OXBe0fL+kUU5GvfwUcH65OWoWTlXK64XYAtwp8NcjTg1lhtypD5w6qByhoQpsej6ayDUmSyMz/bGeWBY0vosHY35kzTZXiqXpcaORHC3fKQpmYJayAZgIdDS0moEPY+mDaaqPOL7EqeTWzU/vtElHKuREB4xXL2gzVc40amp4lU3Ew6uL/9tZey6iSiKHqED4hVRxOJ+1rT8Wobw8jOqUrhqoL1XrMgk3W3Yc/qTqc5I5nbGNnpgx3S80QojaNEIDUZbKV6hYrpmnDV++40eMgya9ZlHsyObVSe0js7r1xt3v6cL2OgLiNuYb3gJjQXS0fSMRyl1YvHP45aQuwrtW/smt+0Px09Ys1rH4zvnvL41ASbTKcplNKGXm52OaeXSaEz+bK2MZCgXnDDHaUuaYfKVe7hdZhzM8fjxt9o2kePTGC+UufHZ3SfXjhL+Jd0zvbjfFPtVC9JmqzaBG4w2fUh/WmqE50kIA+9z9Z1c2LQa9Dz+bc1ua9tEstZqphbfbTCceKsXK/mDypYmJq9+thPwZ645c0G2ZsB4JrrF/TBHkmLDjtNZHhJLbbpK2/xk=",
            "1; BY1PR0701MB1723;\n\t4:30TTktHJtTAvlrknfATxIWLnnTyJq/VuBEMwga5ODy4EeSh1urVuY7HXv5n+tK2PyFxz0bU5m7+d3E82PQvHFSXKLp5m7r+fzEfykNXvrC8hF1kDaxB0y0VtBhxzpVJTJCt7Y/0Ql4a6xlQamstAz7sMJjxhLf8+XyhPnOgVnLwAsg9ctRU/siTOeIBlNxbhD8x/yiv61tPqu1aSqDvfaiWwY6UQ80svWfg8ckqMNpte4+f04eqrl6mwyb1w/O6WMuTsqDSnnlBiLEHSmSDLE1RI+2xgTnVzG/5HhdPfClVPGaS2NNUw50z2f0pd3DfG2024ViIMU3gS5fD1ayHlYr+4anaJJVNufixCbLB/MQ2j6W7FkUh3+ysevUavtg4ywgF/56/9cya+rw+b+ywW4Msn2SSjDRvT8uBCn3zRiaZuXrwU3L4X0p1KW+LpJWz+aTVqnB0fr3pbAQBDqmxVJypL/Uv8b2AcXzaERjIXq09jOwYERFiCRKw85DMRbzWtHTWCjb0g3lsNGAHBwDF4Z7O7gKkXHeMw5xtarBDrlwpXaVQjFW56YJWv+fIwcydgXdmoZqJzyf1Jsc7jBQOJQ9kt7QNxXBGpDrJ8JdX4iGc=",
            "=?us-ascii?Q?1; BY1PR0701MB1723;\n\t23:x3PuIyWzbmPxPJmoLcQSqjOR8jU+TXQgjjHdUyz?=\n\txXkIyJXhS5h/IOxI3rPX0pnBU/8HHFoUaPPnOpwMd84k6K5j8EiSEhmwlc+r5u4Fy8+1mNwsrGNa9LRXzJINKYhhf3PPADlKdUA0zcDG4E5T8MPR6kHBRQZzD3OHGGMw6d+SR36iW03+6bE/2lpOlJPk4kxh1btL9AP15PiAWDpID8qYRgNBpBAejZQZVQUK4czTw+Ug+AhfSfst/ZYRwOFz+4Y64NecMXxH+CbU/9ADATb0mmmbCDIGFcBQ0p4NHHGfoHbjG5zuyS46gPLVVcEyrMKLOTfTGCf+8R/1qITLDDRkMRzwXqkNC1UG7Rt0/ebf4GudxXwojuur8/yKsrGn/CLa5HJ9HZTO7btYtf2DLYTI7dLmaZsmXhL9ptNPB2y84S7yNNtC29jYnbLi3VKcjp8y9N+Bk+Z8M1/DLlNR4hsrbqABbHBEMRRBJLiWU7U1dd10YiG0eM9LebwN+spzYJYMPdHomR7818cuD8dKyoduIRbHnBjBnzUqGef+zwFZJkOZ1fIIEY7bxHOA320Ou2ejh44vktYDgXQOxJ2FoSMN+WxgdFxOQWE/WMDPa1fKPugwJEy4N0yfyytYLvo8twOuLJ9iOabYBP2jk1+j8FsGiRpVKOj6UpSIRPXthbTWy1ZXOe099seYP0PJ+ICFBNeH0yh8sE6/ih/zWI50+tvztxKRsm/M7onD55uERB0QEL1DHBzcM0Zr5FBwIgZYexDZuBUTHoRQ7Q6ZWwImIQyWIwEMYjWqmu1Yy1KzppTrUwg0BUeGTIp4LK37tM+kHETm6Z7D8P7mlPY7zX0KyPlaiadbngflH8fAMkKOc/OYVf6TDmtbMwFVgpMAlu2dVHiras+IDx7FJ4BS2iI+SKI4UMb26xY2tPFfD0aAwL9sv+SxEmlukXxAyGoDJfXhqoJ+DMqLu45bB5ToXI8hVBZme0gT+0LBNwUFskawH7iHsax08Yz//YgFh3Re1IuwlUKM+kcp+bGOEuUGhfSMuw1nzf18gUC0x+W75bMV5uJEWL7p5mi85R3OqBow/hww6P49CTjhT/r5EAgjpkZpyDg==",
            "1; BY1PR0701MB1723;\n\t6:9lsuWBMN/0nJrS+h/kfZ+JUoA3eFyE2MK8j+MvS/+lVsqiank5dQ0dshpv/N9y5IC7Pl9fxvaM1ILjeaIXPdCCfhkgxb8Cj1AYBqY64BAgIjaAAucesXMHcHnZU1CMz35apzUTilO5awZYURd6hF0Tarr7JhrIoY+8wlFhAr+u7qQNN2xsHPkSbct0EMPLRKb2OwZyl5fZ8oWDZrZ0+VhK8JhOzpR1hTXvPWWU20dGdhQQRg6EZ1KVMYp0MjI13cSwfA4VyhoMtVq0OIVviZnLNpE8t6REFSBvv5+UpPrwrdRVAmlkaDZZhKaW7E3dXbE3N1lQvN0KD+pktAlFwXi8LIuux/Tuw+ntxe64QVSK1gRzTlLv+pQ7DunJvhEcD1HsMuohBu7H3Sy2BL4sJkFA==;\n\t5:Bx7TCwWqkXhvUn5yhgoFayGUaeX5icLKTEbaZKOB/KHo5KWVof+czBl8kAMM3waDI8of4SVLK0dPUx7YyAGK6EZmuOrLFkiwYw4qFrP6XLHvsaBwFID+A4HvpHE2f8pvu8M8dPtq/f8u8A1KeZ1kyg==;\n\t24:pD5K6EgdIlVvHU6vCAuoRj2r0x+DYJSCeEBIJfFCqkiyJJOymv3txeYOFCMNfpi8fUDzsNB7pr3TCw18RDDqdEeN/gvSHLApFlEQ5W0aQ0E=",
            "1; BY1PR0701MB1723;\n\t7:FqoW5XmIvY/qkFu9YDNsJGR/WfCsFORlp8VKnv+svwEIjLisQVDJMOp7FAGsPBALZuO5qrOrEOFmjwlQYhOJEhxD68DO0lhDHBfjfzx8NYV24SpkmvGHPzkptyFPsfZS1vq4GK8aHN4uPwOHNL1QFCl0luVjEc3UTivRf9Keq+NkqsbScK+tqLBWOvhC1KetAj8ovWCIGePePKe4HnBg74o+l1+t2gD+Y0oBI3DFuQLp158Z5jcT4puY9C0+kg4bACgtVcIe+nr5uTh5I45BL+0RcwRgmo2XadUMYD45bCohAYR38krqGQ9xjouCZdftfvx7Sq1B5woC8PN2tZfddw=="
        ],
        "X-Microsoft-Antispam-PRVS": "<BY1PR0701MB1723CD23E978611A258E37AFE32A0@BY1PR0701MB1723.namprd07.prod.outlook.com>",
        "X-Exchange-Antispam-Report-Test": "UriScan:;",
        "X-Exchange-Antispam-Report-CFA-Test": "BCL:0; PCL:0;\n\tRULEID:(6040375)(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046)(6041248)(20161123558025)(20161123564025)(20161123562025)(20161123555025)(20161123560025)(6072148);\n\tSRVR:BY1PR0701MB1723; BCL:0; PCL:0; RULEID:; SRVR:BY1PR0701MB1723; ",
        "X-Forefront-PRVS": "0236114672",
        "X-Forefront-Antispam-Report": "SFV:NSPM;\n\tSFS:(10009020)(4630300001)(6069001)(6009001)(7916002)(39450400003)(3846002)(6116002)(47776003)(2906002)(6486002)(5003940100001)(50986999)(6506006)(25786008)(66066001)(5009440100003)(92566002)(106356001)(5660300001)(305945005)(42186005)(33646002)(6666003)(50226002)(8676002)(81166006)(2351001)(2361001)(6916009)(42882006)(4326008)(6512007)(50466002)(53936002)(189998001)(48376002)(7736002)(450100001)(36756003)(110136004)(107886003)(38730400002)(7099028)(110426004);\n\tDIR:OUT; SFP:1101; SCL:1; SRVR:BY1PR0701MB1723;\n\tH:localhost.localdomain.localdomain; FPR:; SPF:None; MLV:nov;\n\tPTR:InfoNoRecords; LANG:en; ",
        "SpamDiagnosticOutput": "1:99",
        "SpamDiagnosticMetadata": "NSPM",
        "X-OriginatorOrg": "caviumnetworks.com",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "04 Mar 2017 12:47:22.4171\n\t(UTC)",
        "X-MS-Exchange-CrossTenant-FromEntityHeader": "Hosted",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "BY1PR0701MB1723",
        "Subject": "[dpdk-dev] [PATCH] net/thunderx: check data offset alignment\n\trequirement",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.15",
        "Precedence": "list",
        "List-Id": "DPDK patches and discussions <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": "nicvf HW expects the DMA address of the packet data to be\naligned with cache line size.\n\nPacket data offset is a function of struct mbuf size,\nmbuf private size and headroom. mbuf private size can\nbe changed from the application in pool creation, this\ncheck detects HW alignment requirement constraint in pmd\nstart function.\n\nSigned-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>\n---\n drivers/net/thunderx/nicvf_ethdev.c | 13 ++++++++++---\n 1 file changed, 10 insertions(+), 3 deletions(-)",
    "diff": "diff --git a/drivers/net/thunderx/nicvf_ethdev.c b/drivers/net/thunderx/nicvf_ethdev.c\nindex 1060319..ad7b5d6 100644\n--- a/drivers/net/thunderx/nicvf_ethdev.c\n+++ b/drivers/net/thunderx/nicvf_ethdev.c\n@@ -1410,7 +1410,7 @@ static int\n nicvf_vf_start(struct rte_eth_dev *dev, struct nicvf *nic, uint32_t rbdrsz)\n {\n \tint ret;\n-\tuint16_t qidx;\n+\tuint16_t qidx, data_off;\n \tuint32_t total_rxq_desc, nb_rbdr_desc, exp_buffs;\n \tuint64_t mbuf_phys_off = 0;\n \tstruct nicvf_rxq *rxq;\n@@ -1451,10 +1451,17 @@ nicvf_vf_start(struct rte_eth_dev *dev, struct nicvf *nic, uint32_t rbdrsz)\n \t\t\t\t     nic->vf_id, qidx, rxq->pool->name);\n \t\t\treturn -ENOMEM;\n \t\t}\n-\t\trxq->mbuf_phys_off -= nicvf_mbuff_meta_length(mbuf);\n-\t\trxq->mbuf_phys_off -= RTE_PKTMBUF_HEADROOM;\n+\t\tdata_off = nicvf_mbuff_meta_length(mbuf);\n+\t\tdata_off += RTE_PKTMBUF_HEADROOM;\n \t\trte_pktmbuf_free(mbuf);\n \n+\t\tif (data_off % RTE_CACHE_LINE_SIZE) {\n+\t\t\tPMD_INIT_LOG(ERR, \"unaligned data_offset=%d delta=%d\\n\",\n+\t\t\t\tdata_off, data_off % RTE_CACHE_LINE_SIZE);\n+\t\t\treturn -EINVAL;\n+\t\t}\n+\t\trxq->mbuf_phys_off -= data_off;\n+\n \t\tif (mbuf_phys_off == 0)\n \t\t\tmbuf_phys_off = rxq->mbuf_phys_off;\n \t\tif (mbuf_phys_off != rxq->mbuf_phys_off) {\n",
    "prefixes": [
        "dpdk-dev"
    ]
}