Show a cover letter.

GET /api/covers/44275/?format=api
Content-Type: application/json
Vary: Accept

    "id": 44275,
    "url": "",
    "web_url": "",
    "project": {
        "id": 1,
        "url": "",
        "name": "DPDK",
        "link_name": "dpdk",
        "list_id": "",
        "list_email": "",
        "web_url": "",
        "scm_url": "git://",
        "webscm_url": ""
    "msgid": "<>",
    "date": "2018-09-04T15:15:41",
    "name": "[v3,0/9] Improve running DPDK without hugetlbfs mounpoint",
    "submitter": {
        "id": 4,
        "url": "",
        "name": "Burakov, Anatoly",
        "email": ""
    "mbox": "",
    "series": [
            "id": 1177,
            "url": "",
            "web_url": "",
            "date": "2018-09-04T15:15:41",
            "name": "Improve running DPDK without hugetlbfs mounpoint",
            "version": 3,
            "mbox": ""
    "comments": "",
    "headers": {
        "Return-Path": "<>",
        "References": "<>",
        "X-Mailman-Version": "2.1.15",
        "X-IronPort-AV": "E=Sophos;i=\"5.53,329,1531810800\"; d=\"scan'208\";a=\"87062240\"",
        "From": "Anatoly Burakov <>",
        "List-Post": "<>",
        "List-Help": "<>",
        "X-ExtLoop1": "1",
        "X-BeenThere": "",
        "Message-Id": "<>",
        "X-Original-To": "",
        "Received": [
            "from [] (localhost [])\n\tby (Postfix) with ESMTP id AF0682BA3;\n\tTue,  4 Sep 2018 17:15:55 +0200 (CEST)",
            "from ( [])\n\tby (Postfix) with ESMTP id D098029CB\n\tfor <>; Tue,  4 Sep 2018 17:15:53 +0200 (CEST)",
            "from ([])\n\tby with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384;\n\t04 Sep 2018 08:15:53 -0700",
            "from ([])\n\tby with ESMTP; 04 Sep 2018 08:15:51 -0700",
            "from (\n\t[])\n\tby (8.14.3/8.13.6/MailSET/Hub) with ESMTP id\n\tw84FFoPK025460; Tue, 4 Sep 2018 16:15:50 +0100",
            "from (localhost [])\n\tby with ESMTP id w84FFo6x022154;\n\tTue, 4 Sep 2018 16:15:50 +0100",
            "(from aburakov@localhost)\n\tby with LOCAL id w84FFo8l022069;\n\tTue, 4 Sep 2018 16:15:50 +0100"
        "X-Mailer": "git-send-email",
        "Sender": "\"dev\" <>",
        "Subject": "[dpdk-dev] [PATCH v3 0/9] Improve running DPDK without hugetlbfs\n\tmounpoint",
        "Precedence": "list",
        "Date": "Tue,  4 Sep 2018 16:15:41 +0100",
        "List-Archive": "<>",
        "X-Amp-File-Uploaded": "False",
        "List-Subscribe": "<>,\n\t<>",
        "Cc": ",,,\n\,",
        "List-Id": "DPDK patches and discussions <>",
        "Delivered-To": "",
        "In-Reply-To": "<>",
        "List-Unsubscribe": "<>,\n\t<>",
        "To": "",
        "X-Amp-Result": "SKIPPED(no attachment in message)",
        "Errors-To": ""
    "content": "This patchset further improves DPDK support for running\nwithout hugetlbfs mountpoints.\n\nFirst of all, it enables using memfd-created hugepages in\nin-memory mode. This way, instead of anonymous hugepages, we\ncan get proper fd's for each page (or for the entire segment,\nif we're using single-file segments). Memfd will be used\nautomatically if support for it was compiled and is available\nat runtime, however DPDK will fall back to using anonymous\nhugepages if such support is not available.\n\nThe other thing this patchset does is exposing segment fd's\nthrough an external API. There is a lot of ugliness in current\nvirtio/vhost code that deals with finding hugepage files\nthrough procfs, while all virtio really needs are fd's\nreferring to the pages, and their offsets. Using this API,\nvirtio will be able to access segment fd's directly, without\nthe procfs magic.\n\nAs a bonus, because we enabled use of memfd (given that\nsufficiently recent kernel version is used), once virtio\nsupport for getting segment fd's using the new API is\nimplemented, virtio will also be able to work without having\nhugetlbfs mountpoints.\n\nVirtio support is not provided in this patchset, coordination\nand implementation of it is up to virtio maintainers.\n\nOnce virtio support for this is in place, DPDK will have one\nless barrier for adoption in container space.\n\nv2->v3:\n- Fixed single file segments mode for fd offsets\n\nv1->v2:\n- Added a new API to retrieve segment offset into its fd\n\nAnatoly Burakov (9):\n  fbarray: fix detach in noshconf mode\n  eal: don't allow legacy mode with in-memory mode\n  mem: raise maximum fd limit unconditionally\n  memalloc: rename lock list to fd list\n  memalloc: track page fd's in non-single file mode\n  memalloc: add EAL-internal API to get and set segment fd's\n  mem: add external API to retrieve page fd from EAL\n  mem: allow querying offset into segment fd\n  mem: support using memfd segments for in-memory mode\n\n lib/librte_eal/bsdapp/eal/eal_memalloc.c   |  19 +\n lib/librte_eal/common/eal_common_fbarray.c |   4 +\n lib/librte_eal/common/eal_common_memory.c  | 107 ++++-\n lib/librte_eal/common/eal_common_options.c |  12 +-\n lib/librte_eal/common/eal_memalloc.h       |  11 +\n lib/librte_eal/common/include/rte_memory.h |  97 +++++\n lib/librte_eal/linuxapp/eal/eal_memalloc.c | 452 +++++++++++++++++----\n lib/librte_eal/linuxapp/eal/eal_memory.c   |  64 ++-\n lib/librte_eal/         |   4 +\n 9 files changed, 672 insertions(+), 98 deletions(-)"