Show a cover letter.

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

{
    "id": 65304,
    "url": "http://patches.dpdk.org/api/covers/65304/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/cover/1580300467-7716-1-git-send-email-viacheslavo@mellanox.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": "<1580300467-7716-1-git-send-email-viacheslavo@mellanox.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/1580300467-7716-1-git-send-email-viacheslavo@mellanox.com",
    "date": "2020-01-29T12:21:05",
    "name": "[v2,0/2] mlx5/net: hint PMD not to inline packet",
    "submitter": {
        "id": 1102,
        "url": "http://patches.dpdk.org/api/people/1102/?format=api",
        "name": "Slava Ovsiienko",
        "email": "viacheslavo@mellanox.com"
    },
    "mbox": "http://patches.dpdk.org/project/dpdk/cover/1580300467-7716-1-git-send-email-viacheslavo@mellanox.com/mbox/",
    "series": [
        {
            "id": 8338,
            "url": "http://patches.dpdk.org/api/series/8338/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=8338",
            "date": "2020-01-29T12:21:05",
            "name": "mlx5/net: hint PMD not to inline packet",
            "version": 2,
            "mbox": "http://patches.dpdk.org/series/8338/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/covers/65304/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 E302EA052F;\n\tWed, 29 Jan 2020 13:21:14 +0100 (CET)",
            "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 711491BFC0;\n\tWed, 29 Jan 2020 13:21:13 +0100 (CET)",
            "from mellanox.co.il (mail-il-dmz.mellanox.com [193.47.165.129])\n by dpdk.org (Postfix) with ESMTP id 942DC1BFB5\n for <dev@dpdk.org>; Wed, 29 Jan 2020 13:21:11 +0100 (CET)",
            "from Internal Mail-Server by MTLPINE1 (envelope-from\n viacheslavo@mellanox.com)\n with ESMTPS (AES256-SHA encrypted); 29 Jan 2020 14:21:10 +0200",
            "from pegasus11.mtr.labs.mlnx (pegasus11.mtr.labs.mlnx\n [10.210.16.104])\n by labmailer.mlnx (8.13.8/8.13.8) with ESMTP id 00TCLAdd001018;\n Wed, 29 Jan 2020 14:21:10 +0200",
            "from pegasus11.mtr.labs.mlnx (localhost [127.0.0.1])\n by pegasus11.mtr.labs.mlnx (8.14.7/8.14.7) with ESMTP id 00TCLAI4008261;\n Wed, 29 Jan 2020 12:21:10 GMT",
            "(from viacheslavo@localhost)\n by pegasus11.mtr.labs.mlnx (8.14.7/8.14.7/Submit) id 00TCL90u008260;\n Wed, 29 Jan 2020 12:21:09 GMT"
        ],
        "X-Authentication-Warning": "pegasus11.mtr.labs.mlnx: viacheslavo set sender to\n viacheslavo@mellanox.com using -f",
        "From": "Viacheslav Ovsiienko <viacheslavo@mellanox.com>",
        "To": "dev@dpdk.org",
        "Cc": "matan@mellanox.com, rasland@mellanox.com, orika@mellanox.com,\n shahafs@mellanox.com, thomas@mellanox.net, olivier.matz@6wind.com,\n ferruh.yigit@intel.com",
        "Date": "Wed, 29 Jan 2020 12:21:05 +0000",
        "Message-Id": "<1580300467-7716-1-git-send-email-viacheslavo@mellanox.com>",
        "X-Mailer": "git-send-email 1.8.3.1",
        "In-Reply-To": "<1578907777-194921-1-git-send-email-orika@mellanox.com>",
        "References": "<1578907777-194921-1-git-send-email-orika@mellanox.com>",
        "Subject": "[dpdk-dev] [PATCH v2 0/2] mlx5/net: hint PMD not to inline packet",
        "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": "Some PMDs inline the mbuf data buffer directly to device transmit descriptor.\nThis is in order to save the overhead of the PCI headers imposed when the\ndevice DMA reads the data by buffer pointer. For some devices it is essential\nin order to provide the full bandwidth.\n\nHowever, there are cases where such inlining is in-efficient. For example, when\nthe data buffer resides on other device memory (like GPU or storage device).\nAttempt to inline such buffer will result in high PCI overhead for reading\nand copying the data from the remote device to the host memory.\n\nTo support a mixed traffic pattern (some buffers from local host memory, some\nbuffers from other devices) with high bandwidth, a hint flag is introduced in\nthe mbuf.\n\nApplication will hint the PMD whether or not it should try to inline the\ngiven mbuf data buffer. PMD should do the best effort to act upon this request.\n\nThe hint flag RTE_NET_MLX5_DYNFLAG_NO_INLINE_NAME is supposed to be dynamic,\nregistered by application with rte_mbuf_dynflag_register(). This flag is\npurely vendor specific and declared in PMD specific header rte_pmd_mlx5.h,\nwhich is intended to be used by specific application.\n\nTo query the supported specific flags in runtime the private routine is\nintroduced:\n\nint rte_pmd_mlx5_get_dyn_flag_names(\n        uint16_t port,\n\tchar *names[],\n        uint16_t n)\n\nIt returns the array of currently (over present hardware and configuration)\nsupported specific flags.\n\nThe \"not inline hint\" feature operating flow is the following one:\n- application start\n- probe the devices, ports are created\n- query the port capabilities\n- if port supporting the feature is found\n  - register dynamic flag RTE_NET_MLX5_DYNFLAG_NO_INLINE_NAME\n- application starts the ports\n- on dev_start() PMD checks whether the feature flag is registered and\n  enables the feature support in datapath\n- application might set this flag in ol_flags field of mbuf in the packets\n  being sent and PMD will handle ones appropriately.\n\nSigned-off-by: Shahaf Shuler <shahafs@mellanox.com>\nSigned-off-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>\n\n---\nRFC: https://patches.dpdk.org/patch/61348/\n\nThis patchset combines the parts of the following:\n\nv1/testpmd: http://patches.dpdk.org/cover/64541/\nv1/mlx5: http://patches.dpdk.org/patch/64622/\n\n---\nOri Kam (1):\n  net/mlx5: add fine grain dynamic flag support\n\nViacheslav Ovsiienko (1):\n  net/mlx5: update Tx datapath to support no inline hint\n\n drivers/net/mlx5/mlx5.c                   |  20 ++++++\n drivers/net/mlx5/mlx5_rxtx.c              | 106 +++++++++++++++++++++++++-----\n drivers/net/mlx5/mlx5_rxtx.h              |   3 +\n drivers/net/mlx5/mlx5_trigger.c           |   8 +++\n drivers/net/mlx5/rte_pmd_mlx5.h           |  35 ++++++++++\n drivers/net/mlx5/rte_pmd_mlx5_version.map |   7 ++\n 6 files changed, 163 insertions(+), 16 deletions(-)\n create mode 100644 drivers/net/mlx5/rte_pmd_mlx5.h"
}