get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 23436,
    "url": "http://patches.dpdk.org/api/patches/23436/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/1491839803-172566-1-git-send-email-harry.van.haaren@intel.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": "<1491839803-172566-1-git-send-email-harry.van.haaren@intel.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/1491839803-172566-1-git-send-email-harry.van.haaren@intel.com",
    "date": "2017-04-10T15:56:43",
    "name": "[dpdk-dev] event/sw: fix hashing of flow on ordered ingress",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": true,
    "hash": "bd4a5c2f8940f705c38135f45c05b525ddd6e2a3",
    "submitter": {
        "id": 317,
        "url": "http://patches.dpdk.org/api/people/317/?format=api",
        "name": "Van Haaren, Harry",
        "email": "harry.van.haaren@intel.com"
    },
    "delegate": {
        "id": 1,
        "url": "http://patches.dpdk.org/api/users/1/?format=api",
        "username": "tmonjalo",
        "first_name": "Thomas",
        "last_name": "Monjalon",
        "email": "thomas@monjalon.net"
    },
    "mbox": "http://patches.dpdk.org/project/dpdk/patch/1491839803-172566-1-git-send-email-harry.van.haaren@intel.com/mbox/",
    "series": [],
    "comments": "http://patches.dpdk.org/api/patches/23436/comments/",
    "check": "success",
    "checks": "http://patches.dpdk.org/api/patches/23436/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 BD9822B9B;\n\tMon, 10 Apr 2017 17:56:43 +0200 (CEST)",
            "from mga06.intel.com (mga06.intel.com [134.134.136.31])\n\tby dpdk.org (Postfix) with ESMTP id BA7F929C7\n\tfor <dev@dpdk.org>; Mon, 10 Apr 2017 17:56:41 +0200 (CEST)",
            "from fmsmga006.fm.intel.com ([10.253.24.20])\n\tby orsmga104.jf.intel.com with ESMTP; 10 Apr 2017 08:56:40 -0700",
            "from silpixa00398672.ir.intel.com ([10.237.223.128])\n\tby fmsmga006.fm.intel.com with ESMTP; 10 Apr 2017 08:56:39 -0700"
        ],
        "X-ExtLoop1": "1",
        "X-IronPort-AV": "E=Sophos;i=\"5.37,182,1488873600\"; d=\"scan'208\";a=\"87318738\"",
        "From": "Harry van Haaren <harry.van.haaren@intel.com>",
        "To": "dev@dpdk.org",
        "Cc": "jerin.jacob@caviumnetworks.com,\n\tHarry van Haaren <harry.van.haaren@intel.com>",
        "Date": "Mon, 10 Apr 2017 16:56:43 +0100",
        "Message-Id": "<1491839803-172566-1-git-send-email-harry.van.haaren@intel.com>",
        "X-Mailer": "git-send-email 2.7.4",
        "Subject": "[dpdk-dev] [PATCH] event/sw: fix hashing of flow on ordered ingress",
        "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": "The flow id of packets was not being hashed on ingress\non an ordered queue. Fix by applying same hashing as is\napplied in the atomic queue case. The hashing itself is\nbroken out into a macro to avoid duplication of code.\n\nFixes: 617995dfc5b2 (\"event/sw: add scheduling logic\")\n\nSigned-off-by: Harry van Haaren <harry.van.haaren@intel.com>\n---\n drivers/event/sw/sw_evdev_scheduler.c | 9 ++++-----\n 1 file changed, 4 insertions(+), 5 deletions(-)",
    "diff": "diff --git a/drivers/event/sw/sw_evdev_scheduler.c b/drivers/event/sw/sw_evdev_scheduler.c\nindex 77a16d7..e008b51 100644\n--- a/drivers/event/sw/sw_evdev_scheduler.c\n+++ b/drivers/event/sw/sw_evdev_scheduler.c\n@@ -51,6 +51,8 @@\n \n #define MAX_PER_IQ_DEQUEUE 48\n #define FLOWID_MASK (SW_QID_NUM_FIDS-1)\n+/* use cheap bit mixing, we only need to lose a few bits */\n+#define SW_HASH_FLOWID(f) (((f) ^ (f >> 10)) & FLOWID_MASK)\n \n static inline uint32_t\n sw_schedule_atomic_to_cq(struct sw_evdev *sw, struct sw_qid * const qid,\n@@ -72,9 +74,7 @@ sw_schedule_atomic_to_cq(struct sw_evdev *sw, struct sw_qid * const qid,\n \tiq_ring_dequeue_burst(qid->iq[iq_num], qes, count);\n \tfor (i = 0; i < count; i++) {\n \t\tconst struct rte_event *qe = &qes[i];\n-\t\t/* use cheap bit mixing, we only need to lose a few bits */\n-\t\tuint32_t flow_id32 = (qes[i].flow_id) ^ (qes[i].flow_id >> 10);\n-\t\tconst uint16_t flow_id = FLOWID_MASK & flow_id32;\n+\t\tconst uint16_t flow_id = SW_HASH_FLOWID(qes[i].flow_id);\n \t\tstruct sw_fid_t *fid = &qid->fids[flow_id];\n \t\tint cq = fid->cq;\n \n@@ -183,8 +183,7 @@ sw_schedule_parallel_to_cq(struct sw_evdev *sw, struct sw_qid * const qid,\n \t\tqid->stats.tx_pkts++;\n \n \t\tconst int head = (p->hist_head & (SW_PORT_HIST_LIST-1));\n-\n-\t\tp->hist_list[head].fid = qe->flow_id;\n+\t\tp->hist_list[head].fid = SW_HASH_FLOWID(qe->flow_id);\n \t\tp->hist_list[head].qid = qid_id;\n \n \t\tif (keep_order)\n",
    "prefixes": [
        "dpdk-dev"
    ]
}