Show a cover letter.

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

{
    "id": 1120488,
    "url": "http://patchwork.ozlabs.org/api/covers/1120488/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/intel-wired-lan/cover/1561138108-12943-1-git-send-email-vedang.patel@intel.com/",
    "project": {
        "id": 46,
        "url": "http://patchwork.ozlabs.org/api/projects/46/?format=api",
        "name": "Intel Wired Ethernet development",
        "link_name": "intel-wired-lan",
        "list_id": "intel-wired-lan.osuosl.org",
        "list_email": "intel-wired-lan@osuosl.org",
        "web_url": "",
        "scm_url": "",
        "webscm_url": "",
        "list_archive_url": "",
        "list_archive_url_format": "",
        "commit_url_format": ""
    },
    "msgid": "<1561138108-12943-1-git-send-email-vedang.patel@intel.com>",
    "list_archive_url": null,
    "date": "2019-06-21T17:28:21",
    "name": "[net-next,v5,0/7] net/sched: Add txtime-assist support for taprio.",
    "submitter": {
        "id": 76208,
        "url": "http://patchwork.ozlabs.org/api/people/76208/?format=api",
        "name": "Vedang Patel",
        "email": "vedang.patel@intel.com"
    },
    "mbox": "http://patchwork.ozlabs.org/project/intel-wired-lan/cover/1561138108-12943-1-git-send-email-vedang.patel@intel.com/mbox/",
    "series": [
        {
            "id": 115440,
            "url": "http://patchwork.ozlabs.org/api/series/115440/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/intel-wired-lan/list/?series=115440",
            "date": "2019-06-21T17:28:21",
            "name": "net/sched: Add txtime-assist support for taprio.",
            "version": 5,
            "mbox": "http://patchwork.ozlabs.org/series/115440/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/covers/1120488/comments/",
    "headers": {
        "Return-Path": "<intel-wired-lan-bounces@osuosl.org>",
        "X-Original-To": [
            "incoming@patchwork.ozlabs.org",
            "intel-wired-lan@lists.osuosl.org"
        ],
        "Delivered-To": [
            "patchwork-incoming@bilbo.ozlabs.org",
            "intel-wired-lan@lists.osuosl.org"
        ],
        "Authentication-Results": [
            "ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=osuosl.org\n\t(client-ip=140.211.166.133; helo=hemlock.osuosl.org;\n\tenvelope-from=intel-wired-lan-bounces@osuosl.org;\n\treceiver=<UNKNOWN>)",
            "ozlabs.org;\n\tdmarc=fail (p=none dis=none) header.from=intel.com"
        ],
        "Received": [
            "from hemlock.osuosl.org (smtp2.osuosl.org [140.211.166.133])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 45VrVb52rxz9s7h\n\tfor <incoming@patchwork.ozlabs.org>;\n\tSat, 22 Jun 2019 06:52:55 +1000 (AEST)",
            "from localhost (localhost [127.0.0.1])\n\tby hemlock.osuosl.org (Postfix) with ESMTP id 539F488137;\n\tFri, 21 Jun 2019 20:52:53 +0000 (UTC)",
            "from hemlock.osuosl.org ([127.0.0.1])\n\tby localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024)\n\twith ESMTP id ABK6xfKscUD8; Fri, 21 Jun 2019 20:52:52 +0000 (UTC)",
            "from ash.osuosl.org (ash.osuosl.org [140.211.166.34])\n\tby hemlock.osuosl.org (Postfix) with ESMTP id 1FD8C88098;\n\tFri, 21 Jun 2019 20:52:52 +0000 (UTC)",
            "from silver.osuosl.org (smtp3.osuosl.org [140.211.166.136])\n\tby ash.osuosl.org (Postfix) with ESMTP id 59AAC1BF473\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tFri, 21 Jun 2019 17:28:48 +0000 (UTC)",
            "from localhost (localhost [127.0.0.1])\n\tby silver.osuosl.org (Postfix) with ESMTP id 5260C203F9\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tFri, 21 Jun 2019 17:28:48 +0000 (UTC)",
            "from silver.osuosl.org ([127.0.0.1])\n\tby localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024)\n\twith ESMTP id v0cpbOVje6Qr for <intel-wired-lan@lists.osuosl.org>;\n\tFri, 21 Jun 2019 17:28:47 +0000 (UTC)",
            "from mga14.intel.com (mga14.intel.com [192.55.52.115])\n\tby silver.osuosl.org (Postfix) with ESMTPS id 2C915203C9\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tFri, 21 Jun 2019 17:28:47 +0000 (UTC)",
            "from orsmga002.jf.intel.com ([10.7.209.21])\n\tby fmsmga103.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384;\n\t21 Jun 2019 10:28:46 -0700",
            "from vpatel-desk.jf.intel.com (HELO localhost.localdomain)\n\t([10.7.159.52])\n\tby orsmga002.jf.intel.com with ESMTP; 21 Jun 2019 10:28:46 -0700"
        ],
        "X-Virus-Scanned": [
            "amavisd-new at osuosl.org",
            "amavisd-new at osuosl.org"
        ],
        "X-Greylist": "domain auto-whitelisted by SQLgrey-1.7.6",
        "X-Amp-Result": "SKIPPED(no attachment in message)",
        "X-Amp-File-Uploaded": "False",
        "X-ExtLoop1": "1",
        "X-IronPort-AV": "E=Sophos;i=\"5.63,401,1557212400\"; d=\"scan'208\";a=\"171282951\"",
        "From": "Vedang Patel <vedang.patel@intel.com>",
        "To": "netdev@vger.kernel.org",
        "Date": "Fri, 21 Jun 2019 10:28:21 -0700",
        "Message-Id": "<1561138108-12943-1-git-send-email-vedang.patel@intel.com>",
        "X-Mailer": "git-send-email 2.7.3",
        "X-Mailman-Approved-At": "Fri, 21 Jun 2019 20:52:49 +0000",
        "Subject": "[Intel-wired-lan] [PATCH net-next v5 0/7] net/sched: Add\n\ttxtime-assist support for taprio.",
        "X-BeenThere": "intel-wired-lan@osuosl.org",
        "X-Mailman-Version": "2.1.29",
        "Precedence": "list",
        "List-Id": "Intel Wired Ethernet Linux Kernel Driver Development\n\t<intel-wired-lan.osuosl.org>",
        "List-Unsubscribe": "<https://lists.osuosl.org/mailman/options/intel-wired-lan>, \n\t<mailto:intel-wired-lan-request@osuosl.org?subject=unsubscribe>",
        "List-Archive": "<http://lists.osuosl.org/pipermail/intel-wired-lan/>",
        "List-Post": "<mailto:intel-wired-lan@osuosl.org>",
        "List-Help": "<mailto:intel-wired-lan-request@osuosl.org?subject=help>",
        "List-Subscribe": "<https://lists.osuosl.org/mailman/listinfo/intel-wired-lan>, \n\t<mailto:intel-wired-lan-request@osuosl.org?subject=subscribe>",
        "Cc": "jiri@resnulli.us, l@dorileo.org, sergei.shtylyov@cogentembedded.com,\n\tjakub.kicinski@netronome.com, jhs@mojatatu.com, m-karicheri2@ti.com, \n\tintel-wired-lan@lists.osuosl.org, xiyou.wangcong@gmail.com,\n\teric.dumazet@gmail.com, davem@davemloft.net",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain; charset=\"us-ascii\"",
        "Content-Transfer-Encoding": "7bit",
        "Errors-To": "intel-wired-lan-bounces@osuosl.org",
        "Sender": "\"Intel-wired-lan\" <intel-wired-lan-bounces@osuosl.org>"
    },
    "content": "Changes in v5:\n- Commit message improved for the igb patch (patch #1).\n- Fixed typo in commit message for etf patch (patch #2).\n\nChanges in v4:\n- Remove inline directive from functions in foo.c.\n- Fix spacing in pkt_sched.h (for etf patch).\n\nChanges in v3:\n- Simplify implementation for taprio flags. \n- txtime_delay can only be set if txtime-assist mode is enabled.\n- txtime_delay and flags will only be visible in tc output if set by user.\n- Minor changes in error reporting.\n\nChanges in v2:\n- Txtime-offload has now been renamed to txtime-assist mode.\n- Renamed the offload parameter to flags.\n- Removed the code which introduced the hardware offloading functionality.\n\nOriginal Cover letter (with above changes included)\n--------------------------------------------------\n\nCurrently, we are seeing packets being transmitted outside their\ntimeslices. We can confirm that the packets are being dequeued at the right\ntime. So, the delay is induced after the packet is dequeued, because\ntaprio, without any offloading, has no control of when a packet is actually\ntransmitted.\n\nIn order to solve this, we are making use of the txtime feature provided by\nETF qdisc. Hardware offloading needs to be supported by the ETF qdisc in\norder to take advantage of this feature. The taprio qdisc will assign\ntxtime (in skb->tstamp) for all the packets which do not have the txtime\nallocated via the SO_TXTIME socket option. For the packets which already\nhave SO_TXTIME set, taprio will validate whether the packet will be\ntransmitted in the correct interval.\n\nIn order to support this, the following parameters have been added:\n- flags (taprio): This is added in order to support different offloading\n  modes which will be added in the future.\n- txtime-delay (taprio): This indicates the minimum time it will take for\n  the packet to hit the wire after it reaches taprio_enqueue(). This is\n  useful in determining whether we can transmit the packet in the remaining\n  time if the gate corresponding to the packet is currently open.\n- skip_skb_check (ETF): ETF currently drops any packet which does not have\n  the SO_TXTIME socket option set. This check can be skipped by specifying\n  this option.\n\nFollowing is an example configuration:\n\ntc qdisc replace dev $IFACE parent root handle 100 taprio \\\\\n    num_tc 3 \\\\\n    map 2 2 1 0 2 2 2 2 2 2 2 2 2 2 2 2 \\\\\n    queues 1@0 1@0 1@0 \\\\\n    base-time $BASE_TIME \\\\\n    sched-entry S 01 300000 \\\\\n    sched-entry S 02 300000 \\\\\n    sched-entry S 04 400000 \\\\\n    flags 0x1 \\\\\n    txtime-delay 200000 \\\\\n    clockid CLOCK_TAI\n\ntc qdisc replace dev $IFACE parent 100:1 etf \\\\\n    offload delta 200000 clockid CLOCK_TAI skip_skb_check\n\nHere, the \"flags\" parameter is indicating that the txtime-assist mode is\nenabled. Also, all the traffic classes have been assigned the same queue.\nThis is to prevent the traffic classes in the lower priority queues from\ngetting starved. Note that this configuration is specific to the i210\nethernet card. Other network cards where the hardware queues are given the\nsame priority, might be able to utilize more than one queue.\n\nFollowing are some of the other highlights of the series:\n- Fix a bug where hardware timestamping and SO_TXTIME options cannot be\n  used together. (Patch 1)\n- Introduces the skip_skb_check option.  (Patch 2)\n- Make TxTime assist mode work with TCP packets (Patch 7).\n\nThe following changes are recommended to be done in order to get the best\nperformance from taprio in this mode:\n# TSN in general does not allow Jumbo frames.\nip link set dev enp1s0 mtu 1514\n# Disable segmentation offload. This is to prevent NIC from sending packets\n# after the gate for a traffic class has closed.\nethtool -K eth0 gso off \nethtool -K eth0 tso off\n# Disable energy efficient ethernet to make sure there are no latency\n# spikes when NIC is trying to wake up when the packet is supposed to be\n# sent.\nethtool --set-eee eth0 eee off\n\nThanks,\nVedang Patel\n\nVedang Patel (7):\n  igb: clear out skb->tstamp after reading the txtime\n  etf: Add skip_sock_check\n  taprio: calculate cycle_time when schedule is installed\n  taprio: Remove inline directive\n  taprio: Add support for txtime-assist mode\n  taprio: make clock reference conversions easier\n  taprio: Adjust timestamps for TCP packets\n\n drivers/net/ethernet/intel/igb/igb_main.c |   1 +\n include/uapi/linux/pkt_sched.h            |   5 +\n net/sched/sch_etf.c                       |  10 +\n net/sched/sch_taprio.c                    | 431 +++++++++++++++++++++++++++---\n 4 files changed, 413 insertions(+), 34 deletions(-)"
}