Show a cover letter.

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

{
    "id": 44265,
    "url": "http://patches.dpdk.org/api/covers/44265/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/cover/cover.1536072550.git.anatoly.burakov@intel.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": "<cover.1536072550.git.anatoly.burakov@intel.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/cover.1536072550.git.anatoly.burakov@intel.com",
    "date": "2018-09-04T15:01:53",
    "name": "[v2,0/9] Improve running DPDK without hugetlbfs mounpoint",
    "submitter": {
        "id": 4,
        "url": "http://patches.dpdk.org/api/people/4/?format=api",
        "name": "Burakov, Anatoly",
        "email": "anatoly.burakov@intel.com"
    },
    "mbox": "http://patches.dpdk.org/project/dpdk/cover/cover.1536072550.git.anatoly.burakov@intel.com/mbox/",
    "series": [
        {
            "id": 1176,
            "url": "http://patches.dpdk.org/api/series/1176/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=1176",
            "date": "2018-09-04T15:01:53",
            "name": "Improve running DPDK without hugetlbfs mounpoint",
            "version": 2,
            "mbox": "http://patches.dpdk.org/series/1176/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/covers/44265/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 EB931231E;\n\tTue,  4 Sep 2018 17:02:07 +0200 (CEST)",
            "from mga01.intel.com (mga01.intel.com [192.55.52.88])\n\tby dpdk.org (Postfix) with ESMTP id 216AB1BE0\n\tfor <dev@dpdk.org>; Tue,  4 Sep 2018 17:02:05 +0200 (CEST)",
            "from orsmga002.jf.intel.com ([10.7.209.21])\n\tby fmsmga101.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384;\n\t04 Sep 2018 08:02:04 -0700",
            "from irvmail001.ir.intel.com ([163.33.26.43])\n\tby orsmga002.jf.intel.com with ESMTP; 04 Sep 2018 08:02:03 -0700",
            "from sivswdev01.ir.intel.com (sivswdev01.ir.intel.com\n\t[10.237.217.45])\n\tby irvmail001.ir.intel.com (8.14.3/8.13.6/MailSET/Hub) with ESMTP id\n\tw84F22hd019989; Tue, 4 Sep 2018 16:02:02 +0100",
            "from sivswdev01.ir.intel.com (localhost [127.0.0.1])\n\tby sivswdev01.ir.intel.com with ESMTP id w84F220H008519;\n\tTue, 4 Sep 2018 16:02:02 +0100",
            "(from aburakov@localhost)\n\tby sivswdev01.ir.intel.com with LOCAL id w84F229F008515;\n\tTue, 4 Sep 2018 16:02:02 +0100"
        ],
        "X-Amp-Result": "SKIPPED(no attachment in message)",
        "X-Amp-File-Uploaded": "False",
        "X-ExtLoop1": "1",
        "X-IronPort-AV": "E=Sophos;i=\"5.53,329,1531810800\"; d=\"scan'208\";a=\"88860607\"",
        "From": "Anatoly Burakov <anatoly.burakov@intel.com>",
        "To": "dev@dpdk.org",
        "Cc": "tiwei.bie@intel.com, ray.kinsella@intel.com, zhihong.wang@intel.com,\n\tmaxime.coquelin@redhat.com, kuralamudhan.ramakrishnan@intel.com",
        "Date": "Tue,  4 Sep 2018 16:01:53 +0100",
        "Message-Id": "<cover.1536072550.git.anatoly.burakov@intel.com>",
        "X-Mailer": "git-send-email 1.7.0.7",
        "In-Reply-To": "<cover.1535041359.git.anatoly.burakov@intel.com>",
        "References": "<cover.1535041359.git.anatoly.burakov@intel.com>",
        "Subject": "[dpdk-dev] [PATCH v2 0/9] Improve running DPDK without hugetlbfs\n\tmounpoint",
        "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": "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\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 | 449 +++++++++++++++++----\n lib/librte_eal/linuxapp/eal/eal_memory.c   |  64 ++-\n lib/librte_eal/rte_eal_version.map         |   4 +\n 9 files changed, 669 insertions(+), 98 deletions(-)"
}