get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 51759,
    "url": "http://patches.dpdk.org/api/patches/51759/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/20190327061935.19572-1-barbette@kth.se/",
    "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": "<20190327061935.19572-1-barbette@kth.se>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20190327061935.19572-1-barbette@kth.se",
    "date": "2019-03-27T06:19:32",
    "name": "[v2,0/3] Add rte_eth_read_clock API",
    "commit_ref": null,
    "pull_url": null,
    "state": null,
    "archived": false,
    "hash": null,
    "submitter": {
        "id": 1155,
        "url": "http://patches.dpdk.org/api/people/1155/?format=api",
        "name": "Tom Barbette",
        "email": "barbette@kth.se"
    },
    "delegate": null,
    "mbox": "http://patches.dpdk.org/project/dpdk/patch/20190327061935.19572-1-barbette@kth.se/mbox/",
    "series": [],
    "comments": "http://patches.dpdk.org/api/patches/51759/comments/",
    "check": "pending",
    "checks": "http://patches.dpdk.org/api/patches/51759/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 715C25A6A;\n\tWed, 27 Mar 2019 07:19:59 +0100 (CET)",
            "from smtp-4.sys.kth.se (smtp-4.sys.kth.se [130.237.48.193])\n\tby dpdk.org (Postfix) with ESMTP id 9F7215A44\n\tfor <dev@dpdk.org>; Wed, 27 Mar 2019 07:19:57 +0100 (CET)",
            "from smtp-4.sys.kth.se (localhost.localdomain [127.0.0.1])\n\tby smtp-4.sys.kth.se (Postfix) with ESMTP id 551BD266E;\n\tWed, 27 Mar 2019 07:19:57 +0100 (CET)",
            "from smtp-4.sys.kth.se ([127.0.0.1])\n\tby smtp-4.sys.kth.se (smtp-4.sys.kth.se [127.0.0.1]) (amavisd-new,\n\tport 10024)\n\twith LMTP id qkn8lVOmq6A2; Wed, 27 Mar 2019 07:19:56 +0100 (CET)",
            "from tom-kth-workstation.it.kth.se (s2587.it.kth.se\n\t[130.237.20.142])\n\tby smtp-4.sys.kth.se (Postfix) with ESMTPSA id 7E8956711;\n\tWed, 27 Mar 2019 07:19:54 +0100 (CET)"
        ],
        "X-Virus-Scanned": "by amavisd-new at kth.se",
        "X-KTH-Auth": "barbette [130.237.20.142]",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=kth.se; s=default;\n\tt=1553667596; bh=bzZz7nOqb6fccAeihmqrnP91tft+A/1ZAqprSY8cUU0=;\n\th=From:To:Cc:Subject:Date;\n\tb=FC+dKXDiq+/HHJiuqbuoJFGrhlkTMnbmrHSvcpLzFqrxPIK6DZse7uuXnQI6AcUFf\n\tT9/guC39ql6QODBT4wpk0/O2bmHTfpJa8sx5nhL1XRqD3LpIKbMroyHXgspLSlU1n1\n\t9mE+WD9HxiW2mBHTIJksUOIPfbLskby1HxeYSS5M=",
        "X-KTH-mail-from": "barbette@kth.se",
        "From": "Tom Barbette <barbette@kth.se>",
        "To": "dev@dpdk.org",
        "Cc": "bruce.richardson@intel.com, john.mcnamara@intel.com,\n\tThomas Monjalon <thomas@monjalon.net>,\n\tFerruh Yigit <ferruh.yigit@intel.com>,\n\tAndrew Rybchenko <arybchenko@solarflare.com>,\n\tShahaf Shuler <shahafs@mellanox.com>, Yongseok Koh <yskoh@mellanox.com>, \n\tTom Barbette <barbette@kth.se>",
        "Date": "Wed, 27 Mar 2019 07:19:32 +0100",
        "Message-Id": "<20190327061935.19572-1-barbette@kth.se>",
        "X-Mailer": "git-send-email 2.17.1",
        "Subject": "[dpdk-dev] [PATCH v2 0/3] Add rte_eth_read_clock API",
        "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": "Some NICs allow to timestamp packets, but do not support the full\nPTP synchronization process. Hence, the value set in the mbuf\ntimestamp field is only the raw value of an internal clock.\n\nTo make sense of this value, one at least needs to be able to query\nthe current hardware clock value. As with the TSC, from there\na frequency can be derieved by querying multiple time the current value of the\ninternal clock with some known delay between the queries (example\nprovided in the API doc).\n\nThis patch series adds support for MLX5.\n\nAn example app is provided in the rxtx_callback application.\nIt has been updated to display, on top of the software latency\nin cycles, the total latency since the packet was received in hardware.\nThe API is used to compute a delta in the TX callback. The raw amount of\nticks is converted to cycles using a variation of the technique describe above.\n\nAside from offloading timestamping, which relieve the\nsoftware from a few operations, this allows to get much more precision\nwhen studying the source of the latency in a system.\nEg. in our 100G, CX5 setup the rxtx callback application shows\nSW latency is around 74 cycles (TSC is 3.2Ghz), but the latency\nincluding NIC processing, PCIe, and queuing is around 196 cycles.\n\nOne may think at first this API is overlapping with te_eth_timesync_read_time.\nrte_eth_timesync_read_time is clearly identified as part of a set of functions\nto use PTP synchronization.\nThe device raw clock is not \"sync\" in any way. More importantly, the returned\nvalue is not a timeval, but an amount of ticks. We could have a cast-based\nsolution, but on top of being an ugly solution, some people seeing the timeval\ntype of rte_eth_timesync_read_time could use it blindly.\n\nChange in v2:\n  - Rebase on current master\n\nTom Barbette (3):\n  rte_ethdev: Add API function to read dev clock\n  mlx5: Implement support for read_clock\n  rxtx_callbacks: Add support for HW timestamp\n\n doc/guides/nics/features.rst                |  1 +\n doc/guides/sample_app_ug/rxtx_callbacks.rst |  9 ++-\n drivers/net/mlx5/mlx5.c                     |  1 +\n drivers/net/mlx5/mlx5.h                     |  1 +\n drivers/net/mlx5/mlx5_ethdev.c              | 29 +++++++\n drivers/net/mlx5/mlx5_glue.c                |  8 ++\n drivers/net/mlx5/mlx5_glue.h                |  2 +\n examples/rxtx_callbacks/Makefile            |  2 +\n examples/rxtx_callbacks/main.c              | 86 ++++++++++++++++++++-\n examples/rxtx_callbacks/meson.build         |  1 +\n lib/librte_ethdev/rte_ethdev.c              | 13 ++++\n lib/librte_ethdev/rte_ethdev.h              | 44 +++++++++++\n lib/librte_ethdev/rte_ethdev_core.h         |  6 ++\n lib/librte_ethdev/rte_ethdev_version.map    |  1 +\n lib/librte_mbuf/rte_mbuf.h                  |  2 +\n 15 files changed, 201 insertions(+), 5 deletions(-)",
    "diff": null,
    "prefixes": [
        "v2",
        "0/3"
    ]
}