Show a cover letter.

GET /api/covers/82089/?format=api
HTTP 200 OK
Allow: GET, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 82089,
    "url": "http://patchwork.dpdk.org/api/covers/82089/?format=api",
    "web_url": "http://patchwork.dpdk.org/project/dpdk/cover/20201025054556.14277-1-honnappa.nagarahalli@arm.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": "<20201025054556.14277-1-honnappa.nagarahalli@arm.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20201025054556.14277-1-honnappa.nagarahalli@arm.com",
    "date": "2020-10-25T05:45:48",
    "name": "[v5,0/8] lib/ring: add zero copy APIs",
    "submitter": {
        "id": 1045,
        "url": "http://patchwork.dpdk.org/api/people/1045/?format=api",
        "name": "Honnappa Nagarahalli",
        "email": "honnappa.nagarahalli@arm.com"
    },
    "mbox": "http://patchwork.dpdk.org/project/dpdk/cover/20201025054556.14277-1-honnappa.nagarahalli@arm.com/mbox/",
    "series": [
        {
            "id": 13298,
            "url": "http://patchwork.dpdk.org/api/series/13298/?format=api",
            "web_url": "http://patchwork.dpdk.org/project/dpdk/list/?series=13298",
            "date": "2020-10-25T05:45:48",
            "name": "lib/ring: add zero copy APIs",
            "version": 5,
            "mbox": "http://patchwork.dpdk.org/series/13298/mbox/"
        }
    ],
    "comments": "http://patchwork.dpdk.org/api/covers/82089/comments/",
    "headers": {
        "Return-Path": "<dev-bounces@dpdk.org>",
        "X-Original-To": "patchwork@inbox.dpdk.org",
        "Delivered-To": "patchwork@inbox.dpdk.org",
        "Received": [
            "from dpdk.org (dpdk.org [92.243.14.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id 8797BA04B5;\n\tSun, 25 Oct 2020 06:46:10 +0100 (CET)",
            "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 72D311D9E;\n\tSun, 25 Oct 2020 06:46:08 +0100 (CET)",
            "from foss.arm.com (foss.arm.com [217.140.110.172])\n by dpdk.org (Postfix) with ESMTP id B1CCBF90\n for <dev@dpdk.org>; Sun, 25 Oct 2020 06:46:05 +0100 (CET)",
            "from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])\n by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 00212113E;\n Sat, 24 Oct 2020 22:46:04 -0700 (PDT)",
            "from qc2400f-1.austin.arm.com (qc2400f-1.austin.arm.com\n [10.118.12.27])\n by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id EBB913F66B;\n Sat, 24 Oct 2020 22:46:03 -0700 (PDT)"
        ],
        "From": "Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>",
        "To": "dev@dpdk.org, honnappa.nagarahalli@arm.com, konstantin.ananyev@intel.com,\n stephen@networkplumber.org",
        "Cc": "dharmik.thakkar@arm.com, ruifeng.wang@arm.com, olivier.matz@6wind.com,\n david.marchand@redhat.com, nd@arm.com",
        "Date": "Sun, 25 Oct 2020 00:45:48 -0500",
        "Message-Id": "<20201025054556.14277-1-honnappa.nagarahalli@arm.com>",
        "X-Mailer": "git-send-email 2.17.1",
        "In-Reply-To": "<20200224203931.21256-1-honnappa.nagarahalli@arm.com>",
        "References": "<20200224203931.21256-1-honnappa.nagarahalli@arm.com>",
        "Subject": "[dpdk-dev] [PATCH v5 0/8] lib/ring: add zero copy APIs",
        "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 <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 <mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>"
    },
    "content": "It is pretty common for the DPDK applications to be deployed in\nsemi-pipeline model. In these models, a small number of cores\n(typically 1) are designated as I/O cores. The I/O cores work\non receiving and transmitting packets from the NIC and several\npacket processing cores. The IO core and the packet processing\ncores exchange the packets over a ring. Typically, such applications\nreceive the mbufs in a temporary array and copy the mbufs on\nto the ring. Depending on the requirements the packets\ncould be copied in batches of 32, 64 etc resulting in 256B,\n512B etc memory copy.\n\nThe zero copy APIs help avoid intermediate copies by exposing\nthe space on the ring directly to the application.\n\nv5:\n1) Fixed CI compilation issues\n\nv4:\n1) Fixed multiple pointer issues\n2) Added documentation\n\nv3:\n1) Changed the name of the APIs to 'zero-copy (zc)'\n2) Made the address calculation simpler\n3) Structure to return the data to the user is aligned on\n   cache line boundary.\n4) Added functional and stress test cases\n\nv2: changed the patch to use the SP-SC and HTS modes\n\nv1: Initial version\n\nHonnappa Nagarahalli (8):\n  lib/ring: add zero copy APIs\n  test/ring: move common function to header file\n  test/ring: add functional tests for zero copy APIs\n  test/ring: add stress tests for zero copy APIs\n  doc/ring: add zero copy peek APIs\n  test/ring: fix the memory dump size\n  test/ring: remove unnecessary braces\n  test/ring: user uintptr_t instead of unsigned long\n\n app/test/meson.build                   |   2 +\n app/test/test_ring.c                   | 209 +++++++++-\n app/test/test_ring.h                   |  67 ++-\n app/test/test_ring_mt_peek_stress_zc.c |  56 +++\n app/test/test_ring_st_peek_stress_zc.c |  63 +++\n app/test/test_ring_stress.c            |   6 +\n app/test/test_ring_stress.h            |   2 +\n app/test/test_ring_stress_impl.h       |   2 +-\n doc/guides/prog_guide/ring_lib.rst     |  41 ++\n doc/guides/rel_notes/release_20_11.rst |   9 +\n lib/librte_ring/meson.build            |   1 +\n lib/librte_ring/rte_ring_elem.h        |   1 +\n lib/librte_ring/rte_ring_peek_zc.h     | 548 +++++++++++++++++++++++++\n 13 files changed, 988 insertions(+), 19 deletions(-)\n create mode 100644 app/test/test_ring_mt_peek_stress_zc.c\n create mode 100644 app/test/test_ring_st_peek_stress_zc.c\n create mode 100644 lib/librte_ring/rte_ring_peek_zc.h"
}