Show a cover letter.

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

{
    "id": 810924,
    "url": "http://patchwork.ozlabs.org/api/covers/810924/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/cover/20170907092010.3605-1-aik@ozlabs.ru/",
    "project": {
        "id": 14,
        "url": "http://patchwork.ozlabs.org/api/projects/14/?format=api",
        "name": "QEMU Development",
        "link_name": "qemu-devel",
        "list_id": "qemu-devel.nongnu.org",
        "list_email": "qemu-devel@nongnu.org",
        "web_url": "",
        "scm_url": "",
        "webscm_url": "",
        "list_archive_url": "",
        "list_archive_url_format": "",
        "commit_url_format": ""
    },
    "msgid": "<20170907092010.3605-1-aik@ozlabs.ru>",
    "list_archive_url": null,
    "date": "2017-09-07T09:20:06",
    "name": "[RFC,qemu,0/4] memory: Reduce memory use",
    "submitter": {
        "id": 7621,
        "url": "http://patchwork.ozlabs.org/api/people/7621/?format=api",
        "name": "Alexey Kardashevskiy",
        "email": "aik@ozlabs.ru"
    },
    "mbox": "http://patchwork.ozlabs.org/project/qemu-devel/cover/20170907092010.3605-1-aik@ozlabs.ru/mbox/",
    "series": [
        {
            "id": 1955,
            "url": "http://patchwork.ozlabs.org/api/series/1955/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/list/?series=1955",
            "date": "2017-09-07T09:20:10",
            "name": "memory: Reduce memory use",
            "version": 1,
            "mbox": "http://patchwork.ozlabs.org/series/1955/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/covers/810924/comments/",
    "headers": {
        "Return-Path": "<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>",
        "X-Original-To": "incoming@patchwork.ozlabs.org",
        "Delivered-To": "patchwork-incoming@bilbo.ozlabs.org",
        "Authentication-Results": "ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=nongnu.org\n\t(client-ip=2001:4830:134:3::11; helo=lists.gnu.org;\n\tenvelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n\treceiver=<UNKNOWN>)",
        "Received": [
            "from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11])\n\t(using TLSv1 with cipher AES256-SHA (256/256 bits))\n\t(No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3xnw3D4f4Qz9sNV\n\tfor <incoming@patchwork.ozlabs.org>;\n\tThu,  7 Sep 2017 19:22:48 +1000 (AEST)",
            "from localhost ([::1]:39516 helo=lists.gnu.org)\n\tby lists.gnu.org with esmtp (Exim 4.71) (envelope-from\n\t<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>)\n\tid 1dpt1K-0002NG-Jb\n\tfor incoming@patchwork.ozlabs.org; Thu, 07 Sep 2017 05:22:46 -0400",
            "from eggs.gnu.org ([2001:4830:134:3::10]:57226)\n\tby lists.gnu.org with esmtp (Exim 4.71)\n\t(envelope-from <aik@ozlabs.ru>) id 1dpszX-0001EW-Sw\n\tfor qemu-devel@nongnu.org; Thu, 07 Sep 2017 05:21:00 -0400",
            "from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)\n\t(envelope-from <aik@ozlabs.ru>) id 1dpszS-0007cR-Uz\n\tfor qemu-devel@nongnu.org; Thu, 07 Sep 2017 05:20:55 -0400",
            "from ozlabs.ru ([107.173.13.209]:51528)\n\tby eggs.gnu.org with esmtp (Exim 4.71)\n\t(envelope-from <aik@ozlabs.ru>) id 1dpszS-0007cA-Oj\n\tfor qemu-devel@nongnu.org; Thu, 07 Sep 2017 05:20:50 -0400",
            "from vpl1.ozlabs.ibm.com (localhost [IPv6:::1])\n\tby ozlabs.ru (Postfix) with ESMTP id 419B53A60024;\n\tThu,  7 Sep 2017 05:21:30 -0400 (EDT)"
        ],
        "From": "Alexey Kardashevskiy <aik@ozlabs.ru>",
        "To": "qemu-devel@nongnu.org",
        "Date": "Thu,  7 Sep 2017 19:20:06 +1000",
        "Message-Id": "<20170907092010.3605-1-aik@ozlabs.ru>",
        "X-Mailer": "git-send-email 2.11.0",
        "X-detected-operating-system": "by eggs.gnu.org: GNU/Linux 3.x [fuzzy]",
        "X-Received-From": "107.173.13.209",
        "Subject": "[Qemu-devel] [RFC PATCH qemu 0/4] memory: Reduce memory use",
        "X-BeenThere": "qemu-devel@nongnu.org",
        "X-Mailman-Version": "2.1.21",
        "Precedence": "list",
        "List-Id": "<qemu-devel.nongnu.org>",
        "List-Unsubscribe": "<https://lists.nongnu.org/mailman/options/qemu-devel>,\n\t<mailto:qemu-devel-request@nongnu.org?subject=unsubscribe>",
        "List-Archive": "<http://lists.nongnu.org/archive/html/qemu-devel/>",
        "List-Post": "<mailto:qemu-devel@nongnu.org>",
        "List-Help": "<mailto:qemu-devel-request@nongnu.org?subject=help>",
        "List-Subscribe": "<https://lists.nongnu.org/mailman/listinfo/qemu-devel>,\n\t<mailto:qemu-devel-request@nongnu.org?subject=subscribe>",
        "Cc": "Alexey Kardashevskiy <aik@ozlabs.ru>, Paolo Bonzini <pbonzini@redhat.com>,\n\tStefan Hajnoczi <stefanha@gmail.com>,\n\tPeter Maydell <peter.maydell@linaro.org>,\n\tDavid Gibson <david@gibson.dropbear.id.au>",
        "Errors-To": "qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org",
        "Sender": "\"Qemu-devel\"\n\t<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>"
    },
    "content": "This was inspired by https://bugzilla.redhat.com/show_bug.cgi?id=1481593\n\nWhat happens ithere is that every virtio block device creates 2 address\nspaces - for modern config space (called \"virtio-pci-cfg-as\") and\nfor busmaster (common pci thing, called after the device name,\nin my case \"virtio-blk-pci\").\n\nEach address_space_init() updates topology for every address space.\nEvery topology update (address_space_update_topology()) creates a new\ndispatch tree - AddressSpaceDispatch with nodes (1KB) and\nsections (48KB) and destroys the old one.\n\nHowever the dispatch destructor is postponed via RCU which does not\nget a chance to execute until the machine is initialized but before\nwe get there, memory is not returned to the pool, and this is a lot\nof memory which grows n^2.\n\nThese patches are trying to address the memory use and boot time\nissues but tbh only the first one provides visible outcome.\n\nThere are still things to polish and double check the use of RCU,\nI'd like to get any feedback before proceeding - is this going\nthe right way or way too ugly?\n\n\nThis is based on sha1\n1ab5eb4efb Peter Maydell \"Update version for v2.10.0 release\".\n\nPlease comment. Thanks.\n\n\n\nAlexey Kardashevskiy (4):\n  memory: Postpone flatview and dispatch tree building till all devices\n    are added\n  memory: Prepare for shared flat views\n  memory: Share flat views and dispatch trees between address spaces\n  memory: Add flat views to HMP \"info mtree\"\n\n include/exec/memory-internal.h |   6 +-\n include/exec/memory.h          |  93 +++++++++----\n exec.c                         | 242 +++++++++++++++++++--------------\n hw/alpha/typhoon.c             |   2 +-\n hw/dma/rc4030.c                |   4 +-\n hw/i386/amd_iommu.c            |   2 +-\n hw/i386/intel_iommu.c          |   9 +-\n hw/intc/openpic_kvm.c          |   2 +-\n hw/pci-host/apb.c              |   2 +-\n hw/pci/pci.c                   |   3 +-\n hw/ppc/spapr_iommu.c           |   4 +-\n hw/s390x/s390-pci-bus.c        |   2 +-\n hw/vfio/common.c               |   6 +-\n hw/virtio/vhost.c              |   6 +-\n memory.c                       | 299 +++++++++++++++++++++++++++--------------\n monitor.c                      |   3 +-\n vl.c                           |   4 +\n hmp-commands-info.hx           |   7 +-\n 18 files changed, 448 insertions(+), 248 deletions(-)"
}