Show a cover letter.

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

{
    "id": 55586,
    "url": "http://patches.dpdk.org/api/covers/55586/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/cover/20190628090124.16849-1-mattias.ronnblom@ericsson.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": "<20190628090124.16849-1-mattias.ronnblom@ericsson.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20190628090124.16849-1-mattias.ronnblom@ericsson.com",
    "date": "2019-06-28T09:01:19",
    "name": "[v4,0/5] Pseudo-random number generation improvements",
    "submitter": {
        "id": 1077,
        "url": "http://patches.dpdk.org/api/people/1077/?format=api",
        "name": "Mattias Rönnblom",
        "email": "mattias.ronnblom@ericsson.com"
    },
    "mbox": "http://patches.dpdk.org/project/dpdk/cover/20190628090124.16849-1-mattias.ronnblom@ericsson.com/mbox/",
    "series": [
        {
            "id": 5220,
            "url": "http://patches.dpdk.org/api/series/5220/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=5220",
            "date": "2019-06-28T09:01:20",
            "name": "Pseudo-random number generation improvements",
            "version": 4,
            "mbox": "http://patches.dpdk.org/series/5220/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/covers/55586/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 586281B9AC;\n\tFri, 28 Jun 2019 11:01:39 +0200 (CEST)",
            "from sesbmg22.ericsson.net (sesbmg22.ericsson.net [193.180.251.48])\n\tby dpdk.org (Postfix) with ESMTP id 776724C6C\n\tfor <dev@dpdk.org>; Fri, 28 Jun 2019 11:01:30 +0200 (CEST)",
            "from ESESBMB505.ericsson.se (Unknown_Domain [153.88.183.118])\n\tby sesbmg22.ericsson.net (Symantec Mail Security) with SMTP id\n\t4E.97.06164.967D51D5; Fri, 28 Jun 2019 11:01:29 +0200 (CEST)",
            "from ESESSMR501.ericsson.se (153.88.183.108) by\n\tESESBMB505.ericsson.se (153.88.183.118) with Microsoft SMTP Server\n\t(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id\n\t15.1.1713.5; Fri, 28 Jun 2019 11:01:29 +0200",
            "from ESESBMB502.ericsson.se (153.88.183.169) by\n\tESESSMR501.ericsson.se (153.88.183.108) with Microsoft SMTP Server\n\t(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id\n\t15.1.1713.5; Fri, 28 Jun 2019 11:01:29 +0200",
            "from selio1a020.lmera.ericsson.se (153.88.183.153) by\n\tsmtp.internal.ericsson.com (153.88.183.185) with Microsoft SMTP\n\tServer id\n\t15.1.1713.5 via Frontend Transport; Fri, 28 Jun 2019 11:01:29 +0200",
            "from breslau.lmera.ericsson.se (breslau.lmera.ericsson.se\n\t[150.132.109.241])\n\tby selio1a020.lmera.ericsson.se (8.15.1+Sun/8.15.1) with ESMTP id\n\tx5S91SYU019342; Fri, 28 Jun 2019 11:01:28 +0200 (CEST)"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; d=ericsson.com; s=mailgw201801;\n\tc=relaxed/relaxed; \n\tq=dns/txt; i=@ericsson.com; t=1561712489; x=1564304489;\n\th=From:Sender:Reply-To:Subject:Date:Message-ID:To:CC:MIME-Version:Content-Type:\n\tContent-Transfer-Encoding:Content-ID:Content-Description:Resent-Date:Resent-From:\n\tResent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References:List-Id:\n\tList-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive;\n\tbh=ZvSCKu33XY4zX5GCRmiYvfrQEqWjgeXkdq+Kgw3YBws=;\n\tb=VrwT6lBb+8iKE8r6g0dRDLuVyAxGRx4yQtaUgPFMY+0rKnNgL6GIMHvU1aa62/kn\n\t8B6xavb+RZVYKEFRi4vvxkin/GlWecAVDAj0V+nP9XluCKJz33XT/RT4rku8waER\n\tAR0eBXJHgGZcauIiFdA2Z/3jtfqO2WHiBLnW+Px1i6o=;",
        "X-AuditID": "c1b4fb30-6f5ff70000001814-81-5d15d769a26c",
        "From": "=?utf-8?q?Mattias_R=C3=B6nnblom?= <mattias.ronnblom@ericsson.com>",
        "To": "<dev@dpdk.org>",
        "CC": "<nhorman@tuxdriver.com>, <stephen@networkplumber.org>,\n\t<david.marchand@redhat.com>, <bruce.richardson@intel.com>,\n\t<thomas@monjalon.net>, =?utf-8?q?Mattias_R=C3=B6nnblom?=\n\t<mattias.ronnblom@ericsson.com>",
        "Date": "Fri, 28 Jun 2019 11:01:19 +0200",
        "Message-ID": "<20190628090124.16849-1-mattias.ronnblom@ericsson.com>",
        "X-Mailer": "git-send-email 2.17.1",
        "In-Reply-To": "<20190605104400.24484-1-mattias.ronnblom@ericsson.com>",
        "References": "<20190605104400.24484-1-mattias.ronnblom@ericsson.com>",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain; charset=\"UTF-8\"",
        "Content-Transfer-Encoding": "8bit",
        "X-Brightmail-Tracker": "H4sIAAAAAAAAA+NgFmpikeLIzCtJLcpLzFFi42KZGbG9TDfzumisQeNqY4sbq+wttq/oYrN4\n\t92k7k8Wt5pNsFovvyFl8enCCxYHN49eCpawei/e8ZPI4dnMau0fPyXlMHu/3XWXzuPJ9NWMA\n\tWxSXTUpqTmZZapG+XQJXRt/Zq0wF50QrOm/OZWtg3CnQxcjJISFgIvHu3iPmLkYuDiGBo4wS\n\tR3Z1MEI43xglNv5rYoVzHhzZwQLhXGSUeP71LFTZZUaJV/MOMIIMYxPwlJj8rpsFxBYREJJY\n\t+vEyO0gRs8A1Romvl14wgySEBVwkHk39CdbAIqAqcXj1FCCbg4NXwEli06p6iKPkJVZvOABW\n\tzingLPF4+n4mEFsIqKTr/0E2EJtXQFDi5MwnYLuYBTQlWrf/Zoew5SWat85mhqjXkri/5Avz\n\tBEbhWUhaZiFpmYWkZQEj8ypG0eLU4qTcdCMjvdSizOTi4vw8vbzUkk2MwJg5uOW3wQ7Gl88d\n\tDzEKcDAq8fAu2CMaK8SaWFZcmXuIUYKDWUmEV/KcSKwQb0piZVVqUX58UWlOavEhRmkOFiVx\n\t3vXe/2KEBNITS1KzU1MLUotgskwcnFINjAVtjWst2xdcFTYRl59uWPdBR33y7d+zn6mImx3n\n\ttuRtd19mmfnu6E8jTZXNQUXt1ZYJ/7hYOkKcLRXuREVs9ejjSN3WVhnyQP1H27KKyo8Ff/sj\n\tRK5PSAosKZt2PzzCtFFW/ZG5cuw76e+fL730U/zr8JE1rPmomqvSxKIb667vyY9U39OhxFKc\n\tkWioxVxUnAgA+o5uqJUCAAA=",
        "Subject": "[dpdk-dev] [PATCH v4 0/5] Pseudo-random number generation\n\timprovements",
        "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": "Fix bugs in DPDK pseudo-random number generation, make it multi-thread\nsafe, go faster and produce better-quality pseudo-random numbers.\n\nThanks to Stephen Hemminger, Bruce Richardson, Keith Wiles and Neil\nHorman for valuable feedback.\n\nPATCH v4:\n* Fold the MAINTAINERS update and release notes commit into the other\n  commits.\n* Add rte_rand() performance test to the meson build.\n\nPATCH v3:\n* Rebase\n\nPATCH v2:\n* Introduce the x86 rdseed machine instruction as a first fallback, in case\n  getentropy() is unavailable\n* Use meson to detect getentropy() and rdseed\n\nPATCH v1:\n* Added performance tests\n* Added __experimental to rte_rand_max() declaration\n* Introduced a PRNG section in the MAINTAINERS file\n* Added missing <rte_memory.h> include\n* Use getentropy() instead of rdtsc for seeding the internal LCG\n\nRFC v3:\n* Since rte_rand() and rte_srand() have been a part of the API since long,\n  the experimental attribute was removed and the symbols were moved out\n  of the experimental section of the version.map file.\n* rte_rand_max() performance improvements:\n  * Avoid repeated rte_lcore_id() calls.\n  * Handle a power-of-2 upper bound as a special case.\n* Added a Bugzilla reference to the rte_rand() MT safety bug.\n\nRFC v2:\n* Removed 32-bit version of rte_rand() and rte_rand_max().\n* Switched from a four-sequence LFSR (producing a 32-bit number)\n  to a five-sequence LFSR (producing a 64-bit number).\n* Added a note on generator not being cryptographically secure.\n\nMattias Rönnblom (5):\n  eal: replace libc-based random number generation with LFSR\n  eal: add pseudo-random number generation performance test\n  eal: improve entropy for initial PRNG seed\n  eal: introduce random generator function with upper bound\n  eal: add bounded PRNG performance tests\n\n MAINTAINERS                                |   6 +\n app/test/Makefile                          |   1 +\n app/test/meson.build                       |   2 +\n app/test/test_rand_perf.c                  |  92 +++++++++\n doc/guides/rel_notes/release_19_08.rst     |  14 +-\n lib/librte_eal/common/include/rte_random.h |  47 +++--\n lib/librte_eal/common/meson.build          |   1 +\n lib/librte_eal/common/rte_random.c         | 212 +++++++++++++++++++++\n lib/librte_eal/freebsd/eal/Makefile        |   1 +\n lib/librte_eal/freebsd/eal/eal.c           |   2 -\n lib/librte_eal/linux/eal/Makefile          |   1 +\n lib/librte_eal/linux/eal/eal.c             |   2 -\n lib/librte_eal/meson.build                 |   3 +\n lib/librte_eal/rte_eal_version.map         |   3 +\n 14 files changed, 364 insertions(+), 23 deletions(-)\n create mode 100644 app/test/test_rand_perf.c\n create mode 100644 lib/librte_eal/common/rte_random.c"
}