Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/779721/?format=api
{ "id": 779721, "url": "http://patchwork.ozlabs.org/api/patches/779721/?format=api", "web_url": "http://patchwork.ozlabs.org/project/intel-wired-lan/patch/1498145811-7465-1-git-send-email-paul.greenwalt@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": "<1498145811-7465-1-git-send-email-paul.greenwalt@intel.com>", "list_archive_url": null, "date": "2017-06-22T15:36:51", "name": "ethtool: Add DMA Coalescing support", "commit_ref": null, "pull_url": null, "state": "changes-requested", "archived": false, "hash": "51f5831300b10c5040db496f46f3a63852553744", "submitter": { "id": 71166, "url": "http://patchwork.ozlabs.org/api/people/71166/?format=api", "name": "Paul Greenwalt", "email": "paul.greenwalt@intel.com" }, "delegate": { "id": 68, "url": "http://patchwork.ozlabs.org/api/users/68/?format=api", "username": "jtkirshe", "first_name": "Jeff", "last_name": "Kirsher", "email": "jeffrey.t.kirsher@intel.com" }, "mbox": "http://patchwork.ozlabs.org/project/intel-wired-lan/patch/1498145811-7465-1-git-send-email-paul.greenwalt@intel.com/mbox/", "series": [], "comments": "http://patchwork.ozlabs.org/api/patches/779721/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/779721/checks/", "tags": {}, "related": [], "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" ], "Received": [ "from silver.osuosl.org (smtp3.osuosl.org [140.211.166.136])\n\t(using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))\n\t(No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3wtxYQ2rCmz9s82\n\tfor <incoming@patchwork.ozlabs.org>;\n\tFri, 23 Jun 2017 08:47:38 +1000 (AEST)", "from localhost (localhost [127.0.0.1])\n\tby silver.osuosl.org (Postfix) with ESMTP id E70E426665;\n\tThu, 22 Jun 2017 22:47:36 +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 Z8On1j4hBxlj; Thu, 22 Jun 2017 22:47:36 +0000 (UTC)", "from ash.osuosl.org (ash.osuosl.org [140.211.166.34])\n\tby silver.osuosl.org (Postfix) with ESMTP id 0B11C2312C;\n\tThu, 22 Jun 2017 22:47:36 +0000 (UTC)", "from hemlock.osuosl.org (smtp2.osuosl.org [140.211.166.133])\n\tby ash.osuosl.org (Postfix) with ESMTP id 8E5081C0FD1\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tThu, 22 Jun 2017 22:47:34 +0000 (UTC)", "from localhost (localhost [127.0.0.1])\n\tby hemlock.osuosl.org (Postfix) with ESMTP id 8722982657\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tThu, 22 Jun 2017 22:47:34 +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 SehYx9Cx3psM for <intel-wired-lan@lists.osuosl.org>;\n\tThu, 22 Jun 2017 22:47:32 +0000 (UTC)", "from mga07.intel.com (mga07.intel.com [134.134.136.100])\n\tby hemlock.osuosl.org (Postfix) with ESMTPS id 0DAD58219E\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tThu, 22 Jun 2017 22:47:31 +0000 (UTC)", "from orsmga003.jf.intel.com ([10.7.209.27])\n\tby orsmga105.jf.intel.com with ESMTP; 22 Jun 2017 15:47:31 -0700", "from unknown (HELO localhost.jf.intel.com) ([10.166.152.55])\n\tby orsmga003.jf.intel.com with ESMTP; 22 Jun 2017 15:47:31 -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-ExtLoop1": "1", "X-IronPort-AV": "E=Sophos;i=\"5.39,374,1493708400\"; d=\"scan'208\";a=\"984167014\"", "From": "Paul Greenwalt <paul.greenwalt@intel.com>", "To": "intel-wired-lan@lists.osuosl.org", "Date": "Thu, 22 Jun 2017 11:36:51 -0400", "Message-Id": "<1498145811-7465-1-git-send-email-paul.greenwalt@intel.com>", "X-Mailer": "git-send-email 2.7.4", "Subject": "[Intel-wired-lan] [PATCH] ethtool: Add DMA Coalescing support", "X-BeenThere": "intel-wired-lan@osuosl.org", "X-Mailman-Version": "2.1.18-1", "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>", "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": "Add support for DMA Coalescing (DMAC) hardware feature. The feature\nallows synchronization of port DMA activity across ports in order to\noptimize power consumption. DMAC is supported on igb and ixgbe\ndevices.\n\nSupport for enabling and configuring the DMAC watchdog timer is via\nthe ethtool coalesce [-c|-C] dmac option added with this patch.\nSince DMAC is disabled when interrupt moderation is disabled, placing\nthe dmac option in the coalesce command provides related -c 'show'\ninformation with a single command. The dmac option allows the users\nto disable DMAC, or enable and set the DMAC watchdog timer. When in\ncoalescing mode, this timer starts counting down when the first\ntransaction is batched. The controller moves to the not coalescing\nstate when the watchdog timer reaches zero.\n\nSet usage: ethtool -C DEVNAME dmac [0 | N]\n\nWhere 0 disables DMAC, and N is watchdog timer interval in usecs.\nThe device driver will check that N is within a valid range.\n\nExample:\nEnable and configure DMAC watchdog timer to 1000 usecs:\n # ethtool -C dmac 1000\n\nDisable DMAC:\n # ethtool -C dmac 0\n\nSigned-off-by: Paul Greenwalt <paul.greenwalt@intel.com>\n---\n ethtool-copy.h | 2 ++\n ethtool.8.in | 1 +\n ethtool.c | 8 +++++++-\n 3 files changed, 10 insertions(+), 1 deletion(-)", "diff": "diff --git a/ethtool-copy.h b/ethtool-copy.h\nindex 06fc04c..4bb91eb 100644\n--- a/ethtool-copy.h\n+++ b/ethtool-copy.h\n@@ -400,6 +400,7 @@ struct ethtool_modinfo {\n *\ta TX interrupt, when the packet rate is above @pkt_rate_high.\n * @rate_sample_interval: How often to do adaptive coalescing packet rate\n *\tsampling, measured in seconds. Must not be zero.\n+ * @dmac: How many usecs to store packets before moving to host memory.\n *\n * Each pair of (usecs, max_frames) fields specifies that interrupts\n * should be coalesced until\n@@ -450,6 +451,7 @@ struct ethtool_coalesce {\n \t__u32\ttx_coalesce_usecs_high;\n \t__u32\ttx_max_coalesced_frames_high;\n \t__u32\trate_sample_interval;\n+\t__u32\tdmac;\n };\n \n /**\ndiff --git a/ethtool.8.in b/ethtool.8.in\nindex 5bb3ae2..ed9ba7b 100644\n--- a/ethtool.8.in\n+++ b/ethtool.8.in\n@@ -165,6 +165,7 @@ ethtool \\- query or control network driver and hardware settings\n .BN tx\\-usecs\\-high\n .BN tx\\-frames\\-high\n .BN sample\\-interval\n+.BN dmac\n .HP\n .B ethtool \\-g|\\-\\-show\\-ring\n .I devname\ndiff --git a/ethtool.c b/ethtool.c\nindex 94b75a7..b62fa4e 100644\n--- a/ethtool.c\n+++ b/ethtool.c\n@@ -1337,6 +1337,7 @@ static int dump_coalesce(const struct ethtool_coalesce *ecoal)\n \t\t\"sample-interval: %u\\n\"\n \t\t\"pkt-rate-low: %u\\n\"\n \t\t\"pkt-rate-high: %u\\n\"\n+\t\t\"dmac: %u\\n\"\n \t\t\"\\n\"\n \t\t\"rx-usecs: %u\\n\"\n \t\t\"rx-frames: %u\\n\"\n@@ -1362,6 +1363,7 @@ static int dump_coalesce(const struct ethtool_coalesce *ecoal)\n \t\tecoal->rate_sample_interval,\n \t\tecoal->pkt_rate_low,\n \t\tecoal->pkt_rate_high,\n+\t\tecoal->dmac,\n \n \t\tecoal->rx_coalesce_usecs,\n \t\tecoal->rx_max_coalesced_frames,\n@@ -2068,6 +2070,7 @@ static int do_scoalesce(struct cmd_context *ctx)\n \tint coal_adaptive_rx_wanted = -1;\n \tint coal_adaptive_tx_wanted = -1;\n \ts32 coal_sample_rate_wanted = -1;\n+\ts32 coal_dmac_wanted = -1;\n \ts32 coal_pkt_rate_low_wanted = -1;\n \ts32 coal_pkt_rate_high_wanted = -1;\n \ts32 coal_rx_usec_wanted = -1;\n@@ -2093,6 +2096,8 @@ static int do_scoalesce(struct cmd_context *ctx)\n \t\t &ecoal.use_adaptive_tx_coalesce },\n \t\t{ \"sample-interval\", CMDL_S32, &coal_sample_rate_wanted,\n \t\t &ecoal.rate_sample_interval },\n+\t\t{ \"dmac\", CMDL_S32, &coal_dmac_wanted,\n+\t\t &ecoal.dmac },\n \t\t{ \"stats-block-usecs\", CMDL_S32, &coal_stats_wanted,\n \t\t &ecoal.stats_block_coalesce_usecs },\n \t\t{ \"pkt-rate-low\", CMDL_S32, &coal_pkt_rate_low_wanted,\n@@ -4815,7 +4820,8 @@ static const struct option {\n \t \"\t\t[rx-frames-high N]\\n\"\n \t \"\t\t[tx-usecs-high N]\\n\"\n \t \"\t\t[tx-frames-high N]\\n\"\n-\t \"\t\t[sample-interval N]\\n\" },\n+\t \"\t\t[sample-interval N]\\n\"\n+\t \"\t\t[dmac N]\\n\" },\n \t{ \"-g|--show-ring\", 1, do_gring, \"Query RX/TX ring parameters\" },\n \t{ \"-G|--set-ring\", 1, do_sring, \"Set RX/TX ring parameters\",\n \t \"\t\t[ rx N ]\\n\"\n", "prefixes": [] }