Show a cover letter.

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

{
    "id": 808602,
    "url": "http://patchwork.ozlabs.org/api/covers/808602/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/netdev/cover/150425790711.22227.12264977619066874632.stgit@firesoul/",
    "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": "<150425790711.22227.12264977619066874632.stgit@firesoul>",
    "list_archive_url": null,
    "date": "2017-09-01T09:26:03",
    "name": "[net,0/2] net: revert lib/percpu_counter API for fragmentation mem accounting",
    "submitter": {
        "id": 13625,
        "url": "http://patchwork.ozlabs.org/api/people/13625/?format=api",
        "name": "Jesper Dangaard Brouer",
        "email": "brouer@redhat.com"
    },
    "mbox": "http://patchwork.ozlabs.org/project/netdev/cover/150425790711.22227.12264977619066874632.stgit@firesoul/mbox/",
    "series": [
        {
            "id": 984,
            "url": "http://patchwork.ozlabs.org/api/series/984/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/netdev/list/?series=984",
            "date": "2017-09-01T09:26:03",
            "name": "net: revert lib/percpu_counter API for fragmentation mem accounting",
            "version": 1,
            "mbox": "http://patchwork.ozlabs.org/series/984/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/covers/808602/comments/",
    "headers": {
        "Return-Path": "<netdev-owner@vger.kernel.org>",
        "X-Original-To": "patchwork-incoming@ozlabs.org",
        "Delivered-To": "patchwork-incoming@ozlabs.org",
        "Authentication-Results": [
            "ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=netdev-owner@vger.kernel.org;\n\treceiver=<UNKNOWN>)",
            "ext-mx08.extmail.prod.ext.phx2.redhat.com;\n\tdmarc=none (p=none dis=none) header.from=redhat.com",
            "ext-mx08.extmail.prod.ext.phx2.redhat.com;\n\tspf=fail smtp.mailfrom=brouer@redhat.com"
        ],
        "Received": [
            "from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3xkDPw3s5tz9sPk\n\tfor <patchwork-incoming@ozlabs.org>;\n\tFri,  1 Sep 2017 19:26:12 +1000 (AEST)",
            "(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1751563AbdIAJ0J (ORCPT <rfc822;patchwork-incoming@ozlabs.org>);\n\tFri, 1 Sep 2017 05:26:09 -0400",
            "from mx1.redhat.com ([209.132.183.28]:56726 \"EHLO mx1.redhat.com\"\n\trhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP\n\tid S1751457AbdIAJ0I (ORCPT <rfc822;netdev@vger.kernel.org>);\n\tFri, 1 Sep 2017 05:26:08 -0400",
            "from smtp.corp.redhat.com\n\t(int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16])\n\t(using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))\n\t(No client certificate requested)\n\tby mx1.redhat.com (Postfix) with ESMTPS id 54B27C058EBE;\n\tFri,  1 Sep 2017 09:26:08 +0000 (UTC)",
            "from firesoul.localdomain (ovpn-200-42.brq.redhat.com\n\t[10.40.200.42])\n\tby smtp.corp.redhat.com (Postfix) with ESMTP id CE2AF6A554;\n\tFri,  1 Sep 2017 09:26:05 +0000 (UTC)",
            "from [192.168.5.1] (localhost [IPv6:::1])\n\tby firesoul.localdomain (Postfix) with ESMTP id 79AE73318E71C;\n\tFri,  1 Sep 2017 11:26:03 +0200 (CEST)"
        ],
        "DMARC-Filter": "OpenDMARC Filter v1.3.2 mx1.redhat.com 54B27C058EBE",
        "Subject": "[PATCH net 0/2] net: revert lib/percpu_counter API for\n\tfragmentation mem accounting",
        "From": "Jesper Dangaard Brouer <brouer@redhat.com>",
        "To": "netdev@vger.kernel.org",
        "Cc": "mkubecek@suse.cz, Florian Westphal <fw@strlen.de>,\n\tliujian56@huawei.com, Jesper Dangaard Brouer <brouer@redhat.com>",
        "Date": "Fri, 01 Sep 2017 11:26:03 +0200",
        "Message-ID": "<150425790711.22227.12264977619066874632.stgit@firesoul>",
        "User-Agent": "StGit/0.17.1-dirty",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain; charset=\"utf-8\"",
        "Content-Transfer-Encoding": "7bit",
        "X-Scanned-By": "MIMEDefang 2.79 on 10.5.11.16",
        "X-Greylist": "Sender IP whitelisted, not delayed by milter-greylist-4.5.16\n\t(mx1.redhat.com [10.5.110.32]);\n\tFri, 01 Sep 2017 09:26:08 +0000 (UTC)",
        "Sender": "netdev-owner@vger.kernel.org",
        "Precedence": "bulk",
        "List-ID": "<netdev.vger.kernel.org>",
        "X-Mailing-List": "netdev@vger.kernel.org"
    },
    "content": "There is a bug in fragmentation codes use of the percpu_counter API,\nthat can cause issues on systems with many CPUs, above 24 CPUs.\n\nAfter much consideration and different attempts at solving the API\nusage.  The conclusion is to revert to the simple atomic_t API instead.\n\nThe ratio between batch size and threshold size make it a bad use-case\nfor the lib/percpu_counter API.  As using the correct API calls will\nunfortunately cause systems with many CPUs to always execute an\nexpensive sum across all CPUs. Plus the added complexity is not worth it.\n\n---\n\nJesper Dangaard Brouer (2):\n      Revert \"net: use lib/percpu_counter API for fragmentation mem accounting\"\n      Revert \"net: fix percpu memory leaks\"\n\n\n include/net/inet_frag.h                 |   35 ++++++++-----------------------\n net/ieee802154/6lowpan/reassembly.c     |   11 +++-------\n net/ipv4/inet_fragment.c                |    4 +---\n net/ipv4/ip_fragment.c                  |   12 +++--------\n net/ipv6/netfilter/nf_conntrack_reasm.c |   12 +++--------\n net/ipv6/reassembly.c                   |   12 +++--------\n 6 files changed, 22 insertions(+), 64 deletions(-)\n\n--"
}