Show a cover letter.

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

{
    "id": 97081,
    "url": "http://patchwork.dpdk.org/api/covers/97081/?format=api",
    "web_url": "http://patchwork.dpdk.org/project/dpdk/cover/1629321579-10788-1-git-send-email-navasile@linux.microsoft.com/",
    "project": {
        "id": 1,
        "url": "http://patchwork.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": "<1629321579-10788-1-git-send-email-navasile@linux.microsoft.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/1629321579-10788-1-git-send-email-navasile@linux.microsoft.com",
    "date": "2021-08-18T21:19:33",
    "name": "[v4,0/6] Enable the internal EAL thread API",
    "submitter": {
        "id": 1668,
        "url": "http://patchwork.dpdk.org/api/people/1668/?format=api",
        "name": "Narcisa Ana Maria Vasile",
        "email": "navasile@linux.microsoft.com"
    },
    "mbox": "http://patchwork.dpdk.org/project/dpdk/cover/1629321579-10788-1-git-send-email-navasile@linux.microsoft.com/mbox/",
    "series": [
        {
            "id": 18338,
            "url": "http://patchwork.dpdk.org/api/series/18338/?format=api",
            "web_url": "http://patchwork.dpdk.org/project/dpdk/list/?series=18338",
            "date": "2021-08-18T21:19:34",
            "name": "Enable the internal EAL thread API",
            "version": 4,
            "mbox": "http://patchwork.dpdk.org/series/18338/mbox/"
        }
    ],
    "comments": "http://patchwork.dpdk.org/api/covers/97081/comments/",
    "headers": {
        "Return-Path": "<dev-bounces@dpdk.org>",
        "X-Original-To": "patchwork@inbox.dpdk.org",
        "Delivered-To": "patchwork@inbox.dpdk.org",
        "Received": [
            "from mails.dpdk.org (mails.dpdk.org [217.70.189.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id 7EE04A0C55;\n\tWed, 18 Aug 2021 23:19:52 +0200 (CEST)",
            "from [217.70.189.124] (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 9F525411DA;\n\tWed, 18 Aug 2021 23:19:47 +0200 (CEST)",
            "from linux.microsoft.com (linux.microsoft.com [13.77.154.182])\n by mails.dpdk.org (Postfix) with ESMTP id 496614067E\n for <dev@dpdk.org>; Wed, 18 Aug 2021 23:19:45 +0200 (CEST)",
            "by linux.microsoft.com (Postfix, from userid 1059)\n id 772F020C333B; Wed, 18 Aug 2021 14:19:44 -0700 (PDT)"
        ],
        "DKIM-Filter": "OpenDKIM Filter v2.11.0 linux.microsoft.com 772F020C333B",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.microsoft.com;\n s=default; t=1629321584;\n bh=h3RCQsTjycVpGa/OSV35KcGSZdEEhOdXHPCrj2SHpyg=;\n h=From:To:Cc:Subject:Date:In-Reply-To:References:From;\n b=iwippXkrZwW0SDD2T2N7cvkfV2AfqaM21JCPV6KNcJuHDcCtX/a42K958N6Nn8fvI\n dTpjWJrmmap8h57SJB+1LhI/QMkAEKNmE1M4hCpS0G7zmfGC+Cca8VN0jstNftPxzo\n kCSNe3yMgohK3iMC3nepmNoK2WHVwYJCRhJJ2iRM=",
        "From": "Narcisa Ana Maria Vasile <navasile@linux.microsoft.com>",
        "To": "dev@dpdk.org, thomas@monjalon.net, dmitry.kozliuk@gmail.com,\n khot@microsoft.com, navasile@microsoft.com, dmitrym@microsoft.com,\n roretzla@microsoft.com, talshn@nvidia.com, ocardona@microsoft.com",
        "Cc": "bruce.richardson@intel.com, david.marchand@redhat.com,\n pallavi.kadam@intel.com",
        "Date": "Wed, 18 Aug 2021 14:19:33 -0700",
        "Message-Id": "<1629321579-10788-1-git-send-email-navasile@linux.microsoft.com>",
        "X-Mailer": "git-send-email 1.8.3.1",
        "In-Reply-To": "<1629294247-5207-7-git-send-email-navasile@linux.microsoft.com>",
        "References": "<1629294247-5207-7-git-send-email-navasile@linux.microsoft.com>",
        "Subject": "[dpdk-dev] [PATCH v4 0/6] Enable the internal EAL thread API",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.29",
        "Precedence": "list",
        "List-Id": "DPDK patches and discussions <dev.dpdk.org>",
        "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n <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 <mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>"
    },
    "content": "From: Narcisa Vasile <navasile@microsoft.com>\n\nThis patchset enables the new EAL thread API.\nThe newly defined thread attributes, priority and affinity,\nare used in eal/windows when creating the threads. Similarly, \nsome changes have been done in eal/linux/eal.c and eal/freebsd/eal.c\nto initialize priority to a default value and set thread attributes.\n\nThe user is offered the option of either using the rte_thread_* API or\na 3rd party thread library, through a meson flag\ncalled \"use_external_thread_lib\".\nBy default, this flag is set to FALSE, which means Windows libraries\nand applications will use the EAL rte_thread_* API \ndefined in windows/rte_thread.c for managing threads.\nWhen the flag is set to TRUE, the common/rte_thread.c file is compiled\nand an external thread library is used.\n\nThis patchset adds a new function for creating control threads that\nuses the new thread API.\nIt enables the usage of the new function in Windows code and common code.\nThe old function is kept to avoid ABI break, however, its definition\nis commented away on Windows, since the pthread_t and pthread_attr_t\narguments that it receives have been replaced with the new API on Windows.\nThis allows testing the \"eal: Add EAL API for threading\" that this\npatchset depends on.\n\nThe ethdev lib also contains some changes that break the ABI.\nEnabling the new EAL thread API will probably require going through\nthe proper process of ABI changes.\n\nDepends-on: series-18172 (\"eal: Add EAL API for threading\")\n\nv4:\n- Free resources on error path\n- Use RTE_FINI to unload kernel32.dll\n\nv3:\n- use RTE_INIT to only load kernel32.dll once and get function\n  pointer to SetThreadDescription()\n- minor fixes\n\nv2:\n- fix typo in SetThreadDescription_type function pointer\n- add Depends-on on all patches to fix apply errors.\n- modify cover letter\n\nNarcisa Vasile (6):\n  eal: add function that sets thread name\n  eal: add function for control thread creation\n  Enable the new EAL thread API in app, drivers and examples\n  lib: enable the new EAL thread API\n  eal: set affinity and priority attributes\n  Allow choice between internal EAL thread API and external lib\n\n app/test/process.h                            |   8 +-\n app/test/test_lcores.c                        |  18 +-\n app/test/test_link_bonding.c                  |  14 +-\n app/test/test_lpm_perf.c                      |  12 +-\n config/meson.build                            |   1 -\n drivers/bus/dpaa/base/qbman/bman_driver.c     |   5 +-\n drivers/bus/dpaa/base/qbman/dpaa_sys.c        |  14 +-\n drivers/bus/dpaa/base/qbman/process.c         |   6 +-\n drivers/bus/dpaa/dpaa_bus.c                   |  14 +-\n drivers/bus/fslmc/portal/dpaa2_hw_dpio.c      |  19 +-\n drivers/common/dpaax/compat.h                 |   2 +-\n drivers/common/mlx5/windows/mlx5_common_os.h  |   1 +\n drivers/compress/mlx5/mlx5_compress.c         |  14 +-\n drivers/event/dlb2/dlb2.c                     |   2 +-\n drivers/event/dlb2/pf/base/dlb2_osdep.h       |   7 +-\n drivers/mempool/dpaa/dpaa_mempool.c           |   2 +-\n drivers/net/af_xdp/rte_eth_af_xdp.c           |  18 +-\n drivers/net/ark/ark_ethdev.c                  |   4 +-\n drivers/net/ark/ark_pktgen.c                  |   4 +-\n drivers/net/atlantic/atl_ethdev.c             |   4 +-\n drivers/net/atlantic/atl_types.h              |   4 +-\n .../net/atlantic/hw_atl/hw_atl_utils_fw2x.c   |  26 +--\n drivers/net/axgbe/axgbe_common.h              |   2 +-\n drivers/net/axgbe/axgbe_dev.c                 |   8 +-\n drivers/net/axgbe/axgbe_ethdev.c              |   8 +-\n drivers/net/axgbe/axgbe_ethdev.h              |   8 +-\n drivers/net/axgbe/axgbe_i2c.c                 |   4 +-\n drivers/net/axgbe/axgbe_mdio.c                |   8 +-\n drivers/net/axgbe/axgbe_phy_impl.c            |   6 +-\n drivers/net/bnxt/bnxt.h                       |  16 +-\n drivers/net/bnxt/bnxt_cpr.c                   |   4 +-\n drivers/net/bnxt/bnxt_ethdev.c                |  54 ++---\n drivers/net/bnxt/bnxt_irq.c                   |   8 +-\n drivers/net/bnxt/bnxt_reps.c                  |  10 +-\n drivers/net/bnxt/tf_ulp/bnxt_ulp.c            |  34 ++--\n drivers/net/bnxt/tf_ulp/bnxt_ulp.h            |   4 +-\n drivers/net/bnxt/tf_ulp/ulp_fc_mgr.c          |  28 +--\n drivers/net/bnxt/tf_ulp/ulp_fc_mgr.h          |   8 +-\n drivers/net/bnxt/tf_ulp/ulp_ha_mgr.c          |   4 +-\n drivers/net/bnxt/tf_ulp/ulp_ha_mgr.h          |   2 +-\n drivers/net/dpaa/dpaa_ethdev.c                |   2 +-\n drivers/net/dpaa/dpaa_rxtx.c                  |   2 +-\n drivers/net/ena/base/ena_plat_dpdk.h          |  15 +-\n drivers/net/enic/enic.h                       |   2 +-\n drivers/net/ice/ice_dcf_parent.c              |   8 +-\n drivers/net/ixgbe/ixgbe_ethdev.c              |   6 +-\n drivers/net/ixgbe/ixgbe_ethdev.h              |   2 +-\n drivers/net/mlx5/linux/mlx5_os.c              |   2 +-\n drivers/net/mlx5/mlx5.c                       |  20 +-\n drivers/net/mlx5/mlx5.h                       |   2 +-\n drivers/net/mlx5/mlx5_txpp.c                  |   8 +-\n drivers/net/mlx5/windows/mlx5_flow_os.c       |  10 +-\n drivers/net/mlx5/windows/mlx5_os.c            |   2 +-\n drivers/net/qede/base/bcm_osal.h              |   8 +-\n drivers/net/vhost/rte_eth_vhost.c             |  24 +--\n .../net/virtio/virtio_user/virtio_user_dev.c  |  30 +--\n .../net/virtio/virtio_user/virtio_user_dev.h  |   2 +-\n drivers/vdpa/ifc/ifcvf_vdpa.c                 |  49 +++--\n drivers/vdpa/mlx5/mlx5_vdpa.c                 |  24 +--\n drivers/vdpa/mlx5/mlx5_vdpa.h                 |   4 +-\n drivers/vdpa/mlx5/mlx5_vdpa_event.c           |  51 ++---\n examples/kni/main.c                           |   1 +\n .../pthread_shim/pthread_shim.h               |   1 +\n lib/eal/common/eal_common_options.c           |   6 +-\n lib/eal/common/eal_common_thread.c            | 105 +++++++++-\n lib/eal/common/eal_common_trace.c             |   1 +\n lib/eal/common/eal_private.h                  |   2 +-\n lib/eal/common/eal_thread.h                   |   6 +\n lib/eal/common/malloc_mp.c                    |   2 +\n lib/eal/common/rte_thread.c                   |  17 ++\n lib/eal/freebsd/eal.c                         |  53 +++--\n lib/eal/freebsd/eal_alarm.c                   |  12 +-\n lib/eal/freebsd/eal_interrupts.c              |   6 +-\n lib/eal/freebsd/eal_thread.c                  |  10 +-\n lib/eal/include/rte_lcore.h                   |   6 +\n lib/eal/include/rte_per_lcore.h               |   2 +-\n lib/eal/include/rte_thread.h                  |  43 ++++\n lib/eal/linux/eal.c                           |  55 +++--\n lib/eal/linux/eal_alarm.c                     |  10 +-\n lib/eal/linux/eal_interrupts.c                |   8 +-\n lib/eal/linux/eal_thread.c                    |  11 +-\n lib/eal/linux/eal_timer.c                     |   6 +-\n lib/eal/version.map                           |   6 +-\n lib/eal/windows/eal.c                         |  44 +++-\n lib/eal/windows/eal_interrupts.c              |   8 +-\n lib/eal/windows/eal_thread.c                  |  35 +---\n lib/eal/windows/eal_windows.h                 |  10 -\n lib/eal/windows/include/pthread.h             | 192 ------------------\n lib/eal/windows/include/rte_windows.h         |   1 +\n lib/eal/windows/meson.build                   |   7 +-\n lib/eal/windows/rte_thread.c                  |  76 +++++++\n lib/ethdev/rte_ethdev.c                       |   4 +-\n lib/ethdev/rte_ethdev_core.h                  |   4 +-\n lib/ethdev/rte_flow.c                         |   4 +-\n lib/eventdev/rte_event_eth_rx_adapter.c       |   1 +\n lib/vhost/vhost.c                             |   1 +\n meson_options.txt                             |   2 +\n 97 files changed, 785 insertions(+), 661 deletions(-)\n delete mode 100644 lib/eal/windows/include/pthread.h"
}