Show a cover letter.

GET /api/covers/42147/
Content-Type: application/json
Vary: Accept

    "id": 42147,
    "url": "",
    "web_url": "",
    "project": {
        "id": 1,
        "url": "",
        "name": "DPDK",
        "link_name": "dpdk",
        "list_id": "",
        "list_email": "",
        "web_url": "",
        "scm_url": "git://",
        "webscm_url": "",
        "list_archive_url": "",
        "list_archive_url_format": "{}",
        "commit_url_format": ""
    "msgid": "<>",
    "list_archive_url": "",
    "date": "2018-07-03T12:09:43",
    "name": "[v2,0/6] use IOVAs check based on DMA mask",
    "submitter": {
        "id": 270,
        "url": "",
        "name": "Alejandro Lucero",
        "email": ""
    "mbox": "",
    "series": [
            "id": 371,
            "url": "",
            "web_url": "",
            "date": "2018-07-03T12:09:43",
            "name": "use IOVAs check based on DMA mask",
            "version": 2,
            "mbox": ""
    "comments": "",
    "headers": {
        "X-BeenThere": "",
        "Return-Path": "<>",
        "Date": "Tue,  3 Jul 2018 13:09:43 +0100",
        "Sender": "\"dev\" <>",
        "From": "Alejandro Lucero <>",
        "Cc": ",,",
        "To": "",
        "Delivered-To": "",
        "List-Archive": "<>",
        "List-Subscribe": "<>,\n\t<>",
        "List-Id": "DPDK patches and discussions <>",
        "X-Mailer": "git-send-email 1.9.1",
        "List-Unsubscribe": "<>,\n\t<>",
        "Received": [
            "from [] (localhost [])\n\tby (Postfix) with ESMTP id DF91F1BE65;\n\tTue,  3 Jul 2018 14:10:00 +0200 (CEST)",
            "from (\n\t[]) by (Postfix) with ESMTP id CC1C41BB6F;\n\tTue,  3 Jul 2018 14:09:57 +0200 (CEST)",
            "from (localhost [])\n\tby (8.14.4/8.14.4/Debian-4.1ubuntu1) with ESMTP id\n\tw63C9rew033382; Tue, 3 Jul 2018 13:09:53 +0100",
            "(from alucero@localhost)\n\tby (8.14.4/8.14.4/Submit) id w63C9p7P033380;\n\tTue, 3 Jul 2018 13:09:51 +0100"
        "X-Original-To": "",
        "X-Mailman-Version": "2.1.15",
        "List-Help": "<>",
        "Subject": "[dpdk-dev] [PATCH v2 0/6] use IOVAs check based on DMA mask",
        "Errors-To": "",
        "Message-Id": "<>",
        "Precedence": "list",
        "List-Post": "<>"
    "content": "This patchset adds, mainly, a check for ensuring IOVAs are within a\nrestricted range due to addressing limitations with some devices. There\nare two known cases: NFP and IOMMU VT-d emulation.\n\nWith this check IOVAs out of range are detected and PMDs can abort\ninitialization. For the VT-d case, IOVA VA mode is allowed as long as\nIOVAs are within the supported range, avoiding to forbid IOVA VA by\ndefault.\n\nFor the addressing limitations known cases, there are just 40(NFP) or\n39(VT-d) bits for handling IOVAs. When using IOVA PA, those limitations\nimply 1TB(NFP) or 512M(VT-d) as upper limits, which is likely enough for\nmost systems. With machines using more memory, the added check will\nensure IOVAs within the range.\n\nWith IOVA VA, and because the way the Linux kernel serves mmap calls\nin 64 bits systems, 39 or 40 bits are not enough. It is possible to\ngive an address hint with a lower starting address than the default one\nused by the kernel, and then ensuring the mmap uses that hint or hint plus\nsome offset. With 64 bits systems, the process virtual address space is\nlarge enoguh for doing the hugepages mmaping within the supported range\nwhen those addressing limitations exist. This patchset also adds a change\nfor using such a hint making the use of IOVA VA a more than likely\npossibility when there are those addressing limitations.\n\nThe check is not done by default but just when it is required. This\npatchset adds the check for NFP initialization and for setting the IOVA\nmode is an emulated VT-d is detected.\n\nThis patchset applies on 17.11.3.\n\nSimilar changes will be submitted to main DPDK branch soon.\n\nv2:\n - add get_addr_hint function\n - call munmap when hint given and not used by mmap\n - create dma mask in one step\n - refactor logs"