Show a cover letter.

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

{
    "id": 1035061,
    "url": "http://patchwork.ozlabs.org/api/covers/1035061/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/intel-wired-lan/cover/1549048453-3584-1-git-send-email-megha.dey@linux.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": "<1549048453-3584-1-git-send-email-megha.dey@linux.intel.com>",
    "list_archive_url": null,
    "date": "2019-02-01T19:14:07",
    "name": "[RFC,v4,0/6] Introduce dynamic allocation/freeing of MSI-X vectors",
    "submitter": {
        "id": 75876,
        "url": "http://patchwork.ozlabs.org/api/people/75876/?format=api",
        "name": "Dey, Megha",
        "email": "megha.dey@linux.intel.com"
    },
    "mbox": "http://patchwork.ozlabs.org/project/intel-wired-lan/cover/1549048453-3584-1-git-send-email-megha.dey@linux.intel.com/mbox/",
    "series": [
        {
            "id": 89594,
            "url": "http://patchwork.ozlabs.org/api/series/89594/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/intel-wired-lan/list/?series=89594",
            "date": "2019-02-01T19:14:07",
            "name": "Introduce dynamic allocation/freeing of MSI-X vectors",
            "version": 4,
            "mbox": "http://patchwork.ozlabs.org/series/89594/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/covers/1035061/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.138; helo=whitealder.osuosl.org;\n\tenvelope-from=intel-wired-lan-bounces@osuosl.org;\n\treceiver=<UNKNOWN>)",
            "ozlabs.org; dmarc=none (p=none dis=none)\n\theader.from=linux.intel.com"
        ],
        "Received": [
            "from whitealder.osuosl.org (smtp1.osuosl.org [140.211.166.138])\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 43rmzm3Fkcz9s4Z\n\tfor <incoming@patchwork.ozlabs.org>;\n\tSat,  2 Feb 2019 06:16:19 +1100 (AEDT)",
            "from localhost (localhost [127.0.0.1])\n\tby whitealder.osuosl.org (Postfix) with ESMTP id 7972B87A14;\n\tFri,  1 Feb 2019 19:16:17 +0000 (UTC)",
            "from whitealder.osuosl.org ([127.0.0.1])\n\tby localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024)\n\twith ESMTP id ZAP+iUirRyGW; Fri,  1 Feb 2019 19:16:16 +0000 (UTC)",
            "from ash.osuosl.org (ash.osuosl.org [140.211.166.34])\n\tby whitealder.osuosl.org (Postfix) with ESMTP id 6FA83879F2;\n\tFri,  1 Feb 2019 19:16:16 +0000 (UTC)",
            "from hemlock.osuosl.org (smtp2.osuosl.org [140.211.166.133])\n\tby ash.osuosl.org (Postfix) with ESMTP id 0A8B91BF369\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tFri,  1 Feb 2019 18:52:23 +0000 (UTC)",
            "from localhost (localhost [127.0.0.1])\n\tby hemlock.osuosl.org (Postfix) with ESMTP id 1140A83070\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tFri,  1 Feb 2019 18:51: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 2B1ITjt5H0Mj for <intel-wired-lan@lists.osuosl.org>;\n\tFri,  1 Feb 2019 18:51:43 +0000 (UTC)",
            "from mga03.intel.com (mga03.intel.com [134.134.136.65])\n\tby hemlock.osuosl.org (Postfix) with ESMTPS id 6735587F44\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tFri,  1 Feb 2019 18:50:55 +0000 (UTC)",
            "from orsmga003.jf.intel.com ([10.7.209.27])\n\tby orsmga103.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384;\n\t01 Feb 2019 10:50:52 -0800",
            "from megha-z97x-ud7-th.sc.intel.com ([143.183.85.162])\n\tby orsmga003.jf.intel.com with ESMTP; 01 Feb 2019 10:50:51 -0800"
        ],
        "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.56,549,1539673200\"; d=\"scan'208\";a=\"123233680\"",
        "From": "Megha Dey <megha.dey@linux.intel.com>",
        "To": "linux-drivers-review@linux.intel.com,\n\tintel-wired-lan@lists.osuosl.org",
        "Date": "Fri,  1 Feb 2019 11:14:07 -0800",
        "Message-Id": "<1549048453-3584-1-git-send-email-megha.dey@linux.intel.com>",
        "X-Mailer": "git-send-email 2.7.4",
        "X-Mailman-Approved-At": "Fri, 01 Feb 2019 19:16:15 +0000",
        "Subject": "[Intel-wired-lan] [RFC v4 0/6] Introduce dynamic allocation/freeing\n\tof MSI-X vectors",
        "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": "ravi.v.shankar@intel.com, ashok.raj@intel.com, kyung.min.park@intel.com, \n\tjacob.jun.pan@intel.com, Megha Dey <megha.dey@linux.intel.com>,\n\tmegha.dey@intel.com",
        "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": "Currently, MSI-X vector enabling and allocation for a PCIe device is static\ni.e. a device driver gets only one chance to enable a specific number of\nMSI-X vectors, usually during device probe. Also, in many cases, drivers\nusually reserve more than required number of vectors anticipating their\nuse, which unnecessarily blocks resources that could have been made available\nto other devices. Lastly, there is no way for drivers to reserve more vectors,\nif the MSI-x has already been enabled for that device.\n\nHence, a dynamic MSI-X kernel infrastructure can benefit drivers by deferring\nMSI-X allocation to post probe phase, where actual demand information is\navailable.\n\nThis patchset enables the dynamic allocation/de-allocation of MSI-X vectors\nby introducing 2 new APIs: pci_alloc_irq_vectors_dyn() and\npci_free_irq_vectors_grp().\n\nChanges V3->V4\n1. Initialised first_desc for MSI as well.\n\nChanges V2->V3\n1. Added a separate patch to include documentation\n2. Added a lookup function pci_irq_vector_group based on group id\n3. Added a 'one_shot' field to struct device\n4. Ensure msix table base gets mapped only once\n5. Removed redundant checks\n6. Use pointer for msi related data to reduce memory footprint of struct device\n7. Initialization of idrs used internally by MSI code done by the core code\n   instead of drivers/callers..\n\nChanges V1->V2\n1. Added relavant documentation\n2. Avoid code duplication by ensuring pci_alloc_irq_vectors_affinity calls\n   pci_alloc_irq_vectors_affinity_dyn function\n3. Add the pci_free_irq_vectors_grp API\n\nMegha Dey (6):\n  PCI/MSI: New structures/macros for dynamic MSI-X allocation\n  PCI/MSI: Dynamic allocation of MSI-X vectors by group\n  x86: Introduce the dynamic teardown function\n  PCI/MSI: Introduce new structure to manage MSI-x entries\n  PCI/MSI: Free MSI-X resources by group\n  Documentation: PCI/MSI: Document dynamic MSI-X infrastructure\n\n Documentation/PCI/MSI-HOWTO.txt |  36 +++++\n arch/x86/include/asm/x86_init.h |   1 +\n arch/x86/kernel/x86_init.c      |   6 +\n drivers/pci/msi.c               | 350 +++++++++++++++++++++++++++++++++++++---\n drivers/pci/probe.c             |  20 +++\n include/linux/device.h          |  14 ++\n include/linux/msi.h             |  11 ++\n include/linux/pci.h             |  56 +++++++\n kernel/irq/msi.c                |  37 ++++-\n 9 files changed, 503 insertions(+), 28 deletions(-)"
}