Show a cover letter.

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

{
    "id": 44114,
    "url": "http://patches.dpdk.org/api/covers/44114/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/cover/1535719857-19092-1-git-send-email-alejandro.lucero@netronome.com/",
    "project": {
        "id": 1,
        "url": "http://patches.dpdk.org/api/projects/1/?format=api",
        "name": "DPDK",
        "link_name": "dpdk",
        "list_id": "dev.dpdk.org",
        "list_email": "dev@dpdk.org",
        "web_url": "http://core.dpdk.org",
        "scm_url": "git://dpdk.org/dpdk",
        "webscm_url": "http://git.dpdk.org/dpdk",
        "list_archive_url": "https://inbox.dpdk.org/dev",
        "list_archive_url_format": "https://inbox.dpdk.org/dev/{}",
        "commit_url_format": ""
    },
    "msgid": "<1535719857-19092-1-git-send-email-alejandro.lucero@netronome.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/1535719857-19092-1-git-send-email-alejandro.lucero@netronome.com",
    "date": "2018-08-31T12:50:52",
    "name": "[v2,0/5] use IOVAs check based on DMA mask",
    "submitter": {
        "id": 270,
        "url": "http://patches.dpdk.org/api/people/270/?format=api",
        "name": "Alejandro Lucero",
        "email": "alejandro.lucero@netronome.com"
    },
    "mbox": "http://patches.dpdk.org/project/dpdk/cover/1535719857-19092-1-git-send-email-alejandro.lucero@netronome.com/mbox/",
    "series": [
        {
            "id": 1138,
            "url": "http://patches.dpdk.org/api/series/1138/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=1138",
            "date": "2018-08-31T12:50:52",
            "name": "use IOVAs check based on DMA mask",
            "version": 2,
            "mbox": "http://patches.dpdk.org/series/1138/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/covers/44114/comments/",
    "headers": {
        "Return-Path": "<dev-bounces@dpdk.org>",
        "X-Original-To": "patchwork@dpdk.org",
        "Delivered-To": "patchwork@dpdk.org",
        "Received": [
            "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 3660458FA;\n\tFri, 31 Aug 2018 14:51:55 +0200 (CEST)",
            "from netronome.com (host-79-78-33-110.static.as9105.net\n\t[79.78.33.110]) by dpdk.org (Postfix) with ESMTP id C7C0358F6;\n\tFri, 31 Aug 2018 14:51:53 +0200 (CEST)",
            "from netronome.com (localhost [127.0.0.1])\n\tby netronome.com (8.14.4/8.14.4/Debian-4.1ubuntu1) with ESMTP id\n\tw7VCp0Ko019135; Fri, 31 Aug 2018 13:51:00 +0100",
            "(from alucero@localhost)\n\tby netronome.com (8.14.4/8.14.4/Submit) id w7VCp0Kh019134;\n\tFri, 31 Aug 2018 13:51:00 +0100"
        ],
        "From": "Alejandro Lucero <alejandro.lucero@netronome.com>",
        "To": "dev@dpdk.org",
        "Cc": "stable@dpdk.org",
        "Date": "Fri, 31 Aug 2018 13:50:52 +0100",
        "Message-Id": "<1535719857-19092-1-git-send-email-alejandro.lucero@netronome.com>",
        "X-Mailer": "git-send-email 1.9.1",
        "Subject": "[dpdk-dev] [PATCH v2 0/5] use IOVAs check based on DMA mask",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.15",
        "Precedence": "list",
        "List-Id": "DPDK patches and discussions <dev.dpdk.org>",
        "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n\t<mailto:dev-request@dpdk.org?subject=unsubscribe>",
        "List-Archive": "<http://mails.dpdk.org/archives/dev/>",
        "List-Post": "<mailto:dev@dpdk.org>",
        "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
        "List-Subscribe": "<https://mails.dpdk.org/listinfo/dev>,\n\t<mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>"
    },
    "content": "I sent a patchset about this to be applied on 17.11 stable. The memory\ncode has had main changes since that version, so here it is the patchset\nadjusted to current master repo.\n\nThis 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. Also, because the recent patchset\nadding dynamic memory allocation, the check is also invoked for ensuring\nthe new memsegs are within the required range.\n\nThis patchset could be applied to stable 18.05.\n\nv2:\n - fix problem with max dma mask definition"
}