get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 728,
    "url": "http://patchwork.ozlabs.org/api/patches/728/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/netdev/patch/1221933153-11874-16-git-send-email-ilpo.jarvinen@helsinki.fi/",
    "project": {
        "id": 7,
        "url": "http://patchwork.ozlabs.org/api/projects/7/?format=api",
        "name": "Linux network development",
        "link_name": "netdev",
        "list_id": "netdev.vger.kernel.org",
        "list_email": "netdev@vger.kernel.org",
        "web_url": null,
        "scm_url": null,
        "webscm_url": null,
        "list_archive_url": "",
        "list_archive_url_format": "",
        "commit_url_format": ""
    },
    "msgid": "<1221933153-11874-16-git-send-email-ilpo.jarvinen@helsinki.fi>",
    "list_archive_url": null,
    "date": "2008-09-20T17:52:33",
    "name": "[net-next,15/15] tcp: back retransmit_high when it over-estimated",
    "commit_ref": null,
    "pull_url": null,
    "state": "rejected",
    "archived": true,
    "hash": "4a53530360a1656978bece47e12f0e14e2418aff",
    "submitter": {
        "id": 255,
        "url": "http://patchwork.ozlabs.org/api/people/255/?format=api",
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi"
    },
    "delegate": null,
    "mbox": "http://patchwork.ozlabs.org/project/netdev/patch/1221933153-11874-16-git-send-email-ilpo.jarvinen@helsinki.fi/mbox/",
    "series": [],
    "comments": "http://patchwork.ozlabs.org/api/patches/728/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/728/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<netdev-owner@vger.kernel.org>",
        "X-Original-To": "patchwork-incoming@ozlabs.org",
        "Delivered-To": "patchwork-incoming@ozlabs.org",
        "Received": [
            "from vger.kernel.org (vger.kernel.org [209.132.176.167])\n\tby ozlabs.org (Postfix) with ESMTP id F1E19DDED8\n\tfor <patchwork-incoming@ozlabs.org>;\n\tSun, 21 Sep 2008 03:52:56 +1000 (EST)",
            "(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1751456AbYITRww (ORCPT <rfc822;patchwork-incoming@ozlabs.org>);\n\tSat, 20 Sep 2008 13:52:52 -0400",
            "(majordomo@vger.kernel.org) by vger.kernel.org id S1751400AbYITRwu\n\t(ORCPT <rfc822; netdev-outgoing>); Sat, 20 Sep 2008 13:52:50 -0400",
            "from courier.cs.helsinki.fi ([128.214.9.1]:39329 \"EHLO\n\tmail.cs.helsinki.fi\" rhost-flags-OK-OK-OK-OK) by vger.kernel.org\n\twith ESMTP id S1751112AbYITRwj (ORCPT\n\t<rfc822;netdev@vger.kernel.org>); Sat, 20 Sep 2008 13:52:39 -0400",
            "from wrl-59.cs.helsinki.fi (wrl-59.cs.helsinki.fi\n\t[128.214.166.179])\n\t(AUTH: PLAIN cs-relay, TLS: TLSv1/SSLv3,256bits,AES256-SHA)\n\tby mail.cs.helsinki.fi with esmtp; Sat, 20 Sep 2008 20:52:34 +0300\n\tid 0005BEE4.48D53862.00002DC7",
            "by wrl-59.cs.helsinki.fi (Postfix, from userid 50795)\n\tid B769FA00AD; Sat, 20 Sep 2008 20:52:34 +0300 (EEST)"
        ],
        "From": "\"=?ISO-8859-1?Q?Ilpo_J=E4rvinen?=\" <ilpo.jarvinen@helsinki.fi>",
        "To": "David Miller <davem@davemloft.net>",
        "Cc": "netdev@vger.kernel.org,\n\t\"=?utf-8?q?Ilpo=20J=E4rvinen?=\" <ilpo.jarvinen@helsinki.fi>",
        "Subject": "[PATCH net-next 15/15] tcp: back retransmit_high when it\n\tover-estimated",
        "Date": "Sat, 20 Sep 2008 20:52:33 +0300",
        "Message-Id": "<1221933153-11874-16-git-send-email-ilpo.jarvinen@helsinki.fi>",
        "X-Mailer": "git-send-email 1.5.4.2.156.ge3c5",
        "In-Reply-To": "<1221933153-11874-15-git-send-email-ilpo.jarvinen@helsinki.fi>",
        "References": "<1221933153-11874-1-git-send-email-ilpo.jarvinen@helsinki.fi>\n\t<1221933153-11874-2-git-send-email-ilpo.jarvinen@helsinki.fi>\n\t<1221933153-11874-3-git-send-email-ilpo.jarvinen@helsinki.fi>\n\t<1221933153-11874-4-git-send-email-ilpo.jarvinen@helsinki.fi>\n\t<1221933153-11874-5-git-send-email-ilpo.jarvinen@helsinki.fi>\n\t<1221933153-11874-6-git-send-email-ilpo.jarvinen@helsinki.fi>\n\t<1221933153-11874-7-git-send-email-ilpo.jarvinen@helsinki.fi>\n\t<1221933153-11874-8-git-send-email-ilpo.jarvinen@helsinki.fi>\n\t<1221933153-11874-9-git-send-email-ilpo.jarvinen@helsinki.fi>\n\t<1221933153-11874-10-git-send-email-ilpo.jarvinen@helsinki.fi>\n\t<1221933153-11874-11-git-send-email-ilpo.jarvinen@helsinki.fi>\n\t<1221933153-11874-12-git-send-email-ilpo.jarvinen@helsinki.fi>\n\t<1221933153-11874-13-git-send-email-ilpo.jarvinen@helsinki.fi>\n\t<1221933153-11874-14-git-send-email-ilpo.jarvinen@helsinki.fi>\n\t<1221933153-11874-15-git-send-email-ilpo.jarvinen@helsinki.fi>",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain; charset=ISO-8859-1",
        "Content-Transfer-Encoding": "8bit",
        "Sender": "netdev-owner@vger.kernel.org",
        "Precedence": "bulk",
        "List-ID": "<netdev.vger.kernel.org>",
        "X-Mailing-List": "netdev@vger.kernel.org"
    },
    "content": "If lost skb is sacked, we might have nothing to retransmit\nas high as the retransmit_high is pointing to, so place\nit lower to avoid unnecessary walking.\n\nThis is mainly for the case where high L'ed skbs gets sacked.\n\nSigned-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>\n---\n net/ipv4/tcp_output.c |   12 ++++++++++--\n 1 files changed, 10 insertions(+), 2 deletions(-)",
    "diff": "diff --git a/net/ipv4/tcp_output.c b/net/ipv4/tcp_output.c\nindex 01fb610..727522c 100644\n--- a/net/ipv4/tcp_output.c\n+++ b/net/ipv4/tcp_output.c\n@@ -2037,16 +2037,22 @@ void tcp_xmit_retransmit_queue(struct sock *sk)\n \tstruct tcp_sock *tp = tcp_sk(sk);\n \tstruct sk_buff *skb;\n \tstruct sk_buff *hole = NULL;\n+\tu32 last_lost;\n \tint mib_idx;\n \tint fwd_rexmitting = 0;\n \n \tif (!tp->lost_out)\n \t\ttp->retransmit_high = tp->snd_una;\n \n-\tif (tp->retransmit_skb_hint)\n+\tif (tp->retransmit_skb_hint) {\n \t\tskb = tp->retransmit_skb_hint;\n-\telse\n+\t\tlast_lost = TCP_SKB_CB(skb)->end_seq;\n+\t\tif (after(last_lost, tp->retransmit_high))\n+\t\t\tlast_lost = tp->retransmit_high;\n+\t} else {\n \t\tskb = tcp_write_queue_head(sk);\n+\t\tlast_lost = tp->snd_una;\n+\t}\n \n \t/* First pass: retransmit lost packets. */\n \ttcp_for_write_queue_from(skb, sk) {\n@@ -2075,6 +2081,7 @@ begin_fwd:\n \t\t\tmib_idx = LINUX_MIB_TCPFORWARDRETRANS;\n \n \t\t} else if (!before(TCP_SKB_CB(skb)->seq, tp->retransmit_high)) {\n+\t\t\ttp->retransmit_high = last_lost;\n \t\t\tif (!tcp_can_forward_retransmit(sk))\n \t\t\t\tbreak;\n \t\t\t/* Backtrack if necessary to non-L'ed skb */\n@@ -2091,6 +2098,7 @@ begin_fwd:\n \t\t\tcontinue;\n \n \t\t} else {\n+\t\t\tlast_lost = TCP_SKB_CB(skb)->end_seq;\n \t\t\tif (icsk->icsk_ca_state != TCP_CA_Loss)\n \t\t\t\tmib_idx = LINUX_MIB_TCPFASTRETRANS;\n \t\t\telse\n",
    "prefixes": [
        "net-next",
        "15/15"
    ]
}