get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/patches/31522/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 31522,
    "url": "http://patches.dpdk.org/api/patches/31522/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/56f12f53a5d18328af2fc44ca0f8b416e8e380a6.1511428846.git.nelio.laranjeiro@6wind.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": "<56f12f53a5d18328af2fc44ca0f8b416e8e380a6.1511428846.git.nelio.laranjeiro@6wind.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/56f12f53a5d18328af2fc44ca0f8b416e8e380a6.1511428846.git.nelio.laranjeiro@6wind.com",
    "date": "2017-11-23T09:22:33",
    "name": "[dpdk-dev,2/5] net/mlx5: fix secondary process verification",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": true,
    "hash": "8661b3a587fe2887491f56e0bf4a34648e96409b",
    "submitter": {
        "id": 243,
        "url": "http://patches.dpdk.org/api/people/243/?format=api",
        "name": "Nélio Laranjeiro",
        "email": "nelio.laranjeiro@6wind.com"
    },
    "delegate": {
        "id": 319,
        "url": "http://patches.dpdk.org/api/users/319/?format=api",
        "username": "fyigit",
        "first_name": "Ferruh",
        "last_name": "Yigit",
        "email": "ferruh.yigit@amd.com"
    },
    "mbox": "http://patches.dpdk.org/project/dpdk/patch/56f12f53a5d18328af2fc44ca0f8b416e8e380a6.1511428846.git.nelio.laranjeiro@6wind.com/mbox/",
    "series": [],
    "comments": "http://patches.dpdk.org/api/patches/31522/comments/",
    "check": "success",
    "checks": "http://patches.dpdk.org/api/patches/31522/checks/",
    "tags": {},
    "related": [],
    "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 3C7A62B82;\n\tThu, 23 Nov 2017 10:22:59 +0100 (CET)",
            "from mail-wm0-f68.google.com (mail-wm0-f68.google.com\n\t[74.125.82.68]) by dpdk.org (Postfix) with ESMTP id 7ACBC293B\n\tfor <dev@dpdk.org>; Thu, 23 Nov 2017 10:22:56 +0100 (CET)",
            "by mail-wm0-f68.google.com with SMTP id b189so15345063wmd.0\n\tfor <dev@dpdk.org>; Thu, 23 Nov 2017 01:22:56 -0800 (PST)",
            "from laranjeiro-vm.dev.6wind.com.\n\t(host.78.145.23.62.rev.coltfrance.com. [62.23.145.78])\n\tby smtp.gmail.com with ESMTPSA id\n\to15sm5688343edk.25.2017.11.23.01.22.54\n\t(version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);\n\tThu, 23 Nov 2017 01:22:55 -0800 (PST)"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=6wind-com.20150623.gappssmtp.com; s=20150623;\n\th=from:to:cc:subject:date:message-id:in-reply-to:references\n\t:in-reply-to:references;\n\tbh=Qu+sb8h7aRF6DnNXezl/ap9lBY21gkevqOOYwdmTlTs=;\n\tb=YnKxY7QK14GgaLMYeQ0Sc+aHit4Tqio/F6GZSOY25vd0oeCkOY/dhYiwLtTXmL3s7I\n\tzlxSEt+6OfsoEvan7rAPuICqHFF1hXtxomYxNVUoJbm0hQMCkHFDsLkDBpzibrWReMM4\n\tSySEg1XbqoLA01KZfoJbJb1PzFMeOX4SxRQkVvmX0n0IOVfaveXAqfZb4Lk+Fbg3zcGZ\n\tEUclE56l3WwZDdV5VO3C6iIinr3213Zycd1Up39R0fYmFUh0bDDjPiZXW1lxOxlSLrxQ\n\tkoeozozZgm679SpsNwoQh1iuCWp2nheNerqmKLMdi2DeeTAYeDKQZlcIGoeA9SbJv7Vi\n\tv6Yg==",
        "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to\n\t:references:in-reply-to:references;\n\tbh=Qu+sb8h7aRF6DnNXezl/ap9lBY21gkevqOOYwdmTlTs=;\n\tb=ftHrxL6S/mRhlvLEP9UmqH8XSod9u/J8x8dj365huxOea8I++N6mxRUS1a4up+q2Aj\n\toe56D8sFh3eclwJfBH5G4/EbpqSRoY5EGMKrTzmhfwjxgVd42eLlG8y80FffGfQmyLpa\n\tRpuRilF4o34IYC3cdHzZCLLVAh7U3/In5FYgsgEB0J7YPsMuwnz0arQsg3JgmVsPCkvk\n\tQnd6jv8m6vJOscIP5N9rus34mRAqLfrxe9CTOd+/efLV5k7PWr7vYKgUnMGGYuoP3CYy\n\tNlWsl0xAeLOMYFJov0qHCFBCTLeIy+DUPJ/922vLnds7Cs8893a436NAPP9Ec55ie+H4\n\t4GqQ==",
        "X-Gm-Message-State": "AJaThX7IbI79OXB0Z1JtqU94Ih7VTpqfkWq79vVe0M4v8VRd16ecVvuJ\n\tX2X6dUwUbxnKhma7iWvmJyi0kUzoDQ==",
        "X-Google-Smtp-Source": "AGs4zMZkZPZkAJkf3mlGZmE2ihx1YG0+GJytXcuJtAF8kwWmP6DAhA7KW9H66sH7pRMIVqQT3kdE2w==",
        "X-Received": "by 10.80.191.6 with SMTP id f6mr21020058edk.82.1511428975612;\n\tThu, 23 Nov 2017 01:22:55 -0800 (PST)",
        "From": "Nelio Laranjeiro <nelio.laranjeiro@6wind.com>",
        "To": "dev@dpdk.org",
        "Cc": "Yongseok Koh <yskoh@mellanox.com>,\n\tAdrien Mazarguil <adrien.mazarguil@6wind.com>, xuemingl@mellanox.com",
        "Date": "Thu, 23 Nov 2017 10:22:33 +0100",
        "Message-Id": "<56f12f53a5d18328af2fc44ca0f8b416e8e380a6.1511428846.git.nelio.laranjeiro@6wind.com>",
        "X-Mailer": "git-send-email 2.11.0",
        "In-Reply-To": [
            "<cover.1511428846.git.nelio.laranjeiro@6wind.com>",
            "<cover.1511428846.git.nelio.laranjeiro@6wind.com>"
        ],
        "References": [
            "<cover.1511428846.git.nelio.laranjeiro@6wind.com>",
            "<cover.1511428846.git.nelio.laranjeiro@6wind.com>"
        ],
        "Subject": "[dpdk-dev] [PATCH 2/5] net/mlx5: fix secondary process verification",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.15",
        "Precedence": "list",
        "List-Id": "DPDK patches and discussions <dev.dpdk.org>",
        "List-Unsubscribe": "<http://dpdk.org/ml/options/dev>,\n\t<mailto:dev-request@dpdk.org?subject=unsubscribe>",
        "List-Archive": "<http://dpdk.org/ml/archives/dev/>",
        "List-Post": "<mailto:dev@dpdk.org>",
        "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
        "List-Subscribe": "<http://dpdk.org/ml/listinfo/dev>,\n\t<mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>"
    },
    "content": "Since the secondary process has its own devops, function which cannot be\ncalled by the secondary don't need anymore to verify which process is\ncalling it.\n\nFixes: 87ec44ce1651 (\"net/mlx5: add operations for secondary process\")\nCc: xuemingl@mellanox.com\n\nSigned-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>\nAcked-by: Yongseok Koh <yskoh@mellanox.com>\n---\n drivers/net/mlx5/mlx5.c         |  4 +---\n drivers/net/mlx5/mlx5_ethdev.c  | 25 -------------------------\n drivers/net/mlx5/mlx5_mac.c     |  6 ------\n drivers/net/mlx5/mlx5_rss.c     |  1 -\n drivers/net/mlx5/mlx5_rxmode.c  |  8 --------\n drivers/net/mlx5/mlx5_rxq.c     |  6 ------\n drivers/net/mlx5/mlx5_trigger.c |  6 ------\n drivers/net/mlx5/mlx5_txq.c     |  6 ------\n 8 files changed, 1 insertion(+), 61 deletions(-)",
    "diff": "diff --git a/drivers/net/mlx5/mlx5.c b/drivers/net/mlx5/mlx5.c\nindex 9d0f5f069..cd66fe162 100644\n--- a/drivers/net/mlx5/mlx5.c\n+++ b/drivers/net/mlx5/mlx5.c\n@@ -158,7 +158,6 @@ mlx5_alloc_verbs_buf(size_t size, void *data)\n \tsize_t alignment = sysconf(_SC_PAGESIZE);\n \n \tassert(data != NULL);\n-\tassert(!mlx5_is_secondary());\n \tret = rte_malloc_socket(__func__, size, alignment,\n \t\t\t\tpriv->dev->device->numa_node);\n \tDEBUG(\"Extern alloc size: %lu, align: %lu: %p\", size, alignment, ret);\n@@ -177,7 +176,6 @@ static void\n mlx5_free_verbs_buf(void *ptr, void *data __rte_unused)\n {\n \tassert(data != NULL);\n-\tassert(!mlx5_is_secondary());\n \tDEBUG(\"Extern free request: %p\", ptr);\n \trte_free(ptr);\n }\n@@ -687,7 +685,7 @@ mlx5_pci_probe(struct rte_pci_driver *pci_drv, struct rte_pci_device *pci_dev)\n \n \t\tmlx5_dev[idx].ports |= test;\n \n-\t\tif (mlx5_is_secondary()) {\n+\t\tif (rte_eal_process_type() == RTE_PROC_SECONDARY) {\n \t\t\t/* from rte_ethdev.c */\n \t\t\tchar name[RTE_ETH_NAME_MAX_LEN];\n \ndiff --git a/drivers/net/mlx5/mlx5_ethdev.c b/drivers/net/mlx5/mlx5_ethdev.c\nindex 75be352cf..ca9ad0fef 100644\n--- a/drivers/net/mlx5/mlx5_ethdev.c\n+++ b/drivers/net/mlx5/mlx5_ethdev.c\n@@ -119,18 +119,6 @@ struct ethtool_link_settings {\n #endif\n \n /**\n- * Check if running as a secondary process.\n- *\n- * @return\n- *   Nonzero if running as a secondary process.\n- */\n-inline int\n-mlx5_is_secondary(void)\n-{\n-\treturn rte_eal_process_type() == RTE_PROC_SECONDARY;\n-}\n-\n-/**\n  * Get interface name from private structure.\n  *\n  * @param[in] priv\n@@ -634,9 +622,6 @@ mlx5_dev_configure(struct rte_eth_dev *dev)\n \tstruct priv *priv = dev->data->dev_private;\n \tint ret;\n \n-\tif (mlx5_is_secondary())\n-\t\treturn -E_RTE_SECONDARY;\n-\n \tpriv_lock(priv);\n \tret = dev_configure(dev);\n \tassert(ret >= 0);\n@@ -937,9 +922,6 @@ mlx5_dev_set_mtu(struct rte_eth_dev *dev, uint16_t mtu)\n \tuint16_t kern_mtu;\n \tint ret = 0;\n \n-\tif (mlx5_is_secondary())\n-\t\treturn -E_RTE_SECONDARY;\n-\n \tpriv_lock(priv);\n \tret = priv_get_mtu(priv, &kern_mtu);\n \tif (ret)\n@@ -987,9 +969,6 @@ mlx5_dev_get_flow_ctrl(struct rte_eth_dev *dev, struct rte_eth_fc_conf *fc_conf)\n \t};\n \tint ret;\n \n-\tif (mlx5_is_secondary())\n-\t\treturn -E_RTE_SECONDARY;\n-\n \tifr.ifr_data = (void *)&ethpause;\n \tpriv_lock(priv);\n \tif (priv_ifreq(priv, SIOCETHTOOL, &ifr)) {\n@@ -1038,9 +1017,6 @@ mlx5_dev_set_flow_ctrl(struct rte_eth_dev *dev, struct rte_eth_fc_conf *fc_conf)\n \t};\n \tint ret;\n \n-\tif (mlx5_is_secondary())\n-\t\treturn -E_RTE_SECONDARY;\n-\n \tifr.ifr_data = (void *)&ethpause;\n \tethpause.autoneg = fc_conf->autoneg;\n \tif (((fc_conf->mode & RTE_FC_FULL) == RTE_FC_FULL) ||\n@@ -1302,7 +1278,6 @@ priv_dev_interrupt_handler_install(struct priv *priv, struct rte_eth_dev *dev)\n {\n \tint rc, flags;\n \n-\tassert(!mlx5_is_secondary());\n \tassert(priv->ctx->async_fd > 0);\n \tflags = fcntl(priv->ctx->async_fd, F_GETFL);\n \trc = fcntl(priv->ctx->async_fd, F_SETFL, flags | O_NONBLOCK);\ndiff --git a/drivers/net/mlx5/mlx5_mac.c b/drivers/net/mlx5/mlx5_mac.c\nindex d17b991e4..9fb5ba5e7 100644\n--- a/drivers/net/mlx5/mlx5_mac.c\n+++ b/drivers/net/mlx5/mlx5_mac.c\n@@ -93,8 +93,6 @@ priv_get_mac(struct priv *priv, uint8_t (*mac)[ETHER_ADDR_LEN])\n void\n mlx5_mac_addr_remove(struct rte_eth_dev *dev, uint32_t index)\n {\n-\tif (mlx5_is_secondary())\n-\t\treturn;\n \tassert(index < MLX5_MAX_MAC_ADDRESSES);\n \tmemset(&dev->data->mac_addrs[index], 0, sizeof(struct ether_addr));\n \tif (!dev->data->promiscuous && !dev->data->all_multicast)\n@@ -124,8 +122,6 @@ mlx5_mac_addr_add(struct rte_eth_dev *dev, struct ether_addr *mac,\n \tint ret = 0;\n \n \t(void)vmdq;\n-\tif (mlx5_is_secondary())\n-\t\treturn 0;\n \tassert(index < MLX5_MAX_MAC_ADDRESSES);\n \t/* First, make sure this address isn't already configured. */\n \tfor (i = 0; (i != MLX5_MAX_MAC_ADDRESSES); ++i) {\n@@ -154,8 +150,6 @@ mlx5_mac_addr_add(struct rte_eth_dev *dev, struct ether_addr *mac,\n void\n mlx5_mac_addr_set(struct rte_eth_dev *dev, struct ether_addr *mac_addr)\n {\n-\tif (mlx5_is_secondary())\n-\t\treturn;\n \tDEBUG(\"%p: setting primary MAC address\", (void *)dev);\n \tmlx5_mac_addr_add(dev, mac_addr, 0, 0);\n }\ndiff --git a/drivers/net/mlx5/mlx5_rss.c b/drivers/net/mlx5/mlx5_rss.c\nindex f3de46de0..f4911359b 100644\n--- a/drivers/net/mlx5/mlx5_rss.c\n+++ b/drivers/net/mlx5/mlx5_rss.c\n@@ -274,7 +274,6 @@ mlx5_dev_rss_reta_update(struct rte_eth_dev *dev,\n \tint ret;\n \tstruct priv *priv = dev->data->dev_private;\n \n-\tassert(!mlx5_is_secondary());\n \tpriv_lock(priv);\n \tret = priv_dev_rss_reta_update(priv, reta_conf, reta_size);\n \tpriv_unlock(priv);\ndiff --git a/drivers/net/mlx5/mlx5_rxmode.c b/drivers/net/mlx5/mlx5_rxmode.c\nindex 0ef2cdf09..6fb245ba1 100644\n--- a/drivers/net/mlx5/mlx5_rxmode.c\n+++ b/drivers/net/mlx5/mlx5_rxmode.c\n@@ -60,8 +60,6 @@\n void\n mlx5_promiscuous_enable(struct rte_eth_dev *dev)\n {\n-\tif (mlx5_is_secondary())\n-\t\treturn;\n \tdev->data->promiscuous = 1;\n \tmlx5_traffic_restart(dev);\n }\n@@ -75,8 +73,6 @@ mlx5_promiscuous_enable(struct rte_eth_dev *dev)\n void\n mlx5_promiscuous_disable(struct rte_eth_dev *dev)\n {\n-\tif (mlx5_is_secondary())\n-\t\treturn;\n \tdev->data->promiscuous = 0;\n \tmlx5_traffic_restart(dev);\n }\n@@ -90,8 +86,6 @@ mlx5_promiscuous_disable(struct rte_eth_dev *dev)\n void\n mlx5_allmulticast_enable(struct rte_eth_dev *dev)\n {\n-\tif (mlx5_is_secondary())\n-\t\treturn;\n \tdev->data->all_multicast = 1;\n \tmlx5_traffic_restart(dev);\n }\n@@ -105,8 +99,6 @@ mlx5_allmulticast_enable(struct rte_eth_dev *dev)\n void\n mlx5_allmulticast_disable(struct rte_eth_dev *dev)\n {\n-\tif (mlx5_is_secondary())\n-\t\treturn;\n \tdev->data->all_multicast = 0;\n \tmlx5_traffic_restart(dev);\n }\ndiff --git a/drivers/net/mlx5/mlx5_rxq.c b/drivers/net/mlx5/mlx5_rxq.c\nindex a6eec2fa6..a4cdd374a 100644\n--- a/drivers/net/mlx5/mlx5_rxq.c\n+++ b/drivers/net/mlx5/mlx5_rxq.c\n@@ -242,8 +242,6 @@ mlx5_rx_queue_setup(struct rte_eth_dev *dev, uint16_t idx, uint16_t desc,\n \tint ret = 0;\n \n \t(void)conf;\n-\tif (mlx5_is_secondary())\n-\t\treturn -E_RTE_SECONDARY;\n \tpriv_lock(priv);\n \tif (!rte_is_power_of_2(desc)) {\n \t\tdesc = 1 << log2above(desc);\n@@ -294,9 +292,6 @@ mlx5_rx_queue_release(void *dpdk_rxq)\n \tstruct mlx5_rxq_ctrl *rxq_ctrl;\n \tstruct priv *priv;\n \n-\tif (mlx5_is_secondary())\n-\t\treturn;\n-\n \tif (rxq == NULL)\n \t\treturn;\n \trxq_ctrl = container_of(rxq, struct mlx5_rxq_ctrl, rxq);\n@@ -327,7 +322,6 @@ priv_rx_intr_vec_enable(struct priv *priv)\n \tunsigned int count = 0;\n \tstruct rte_intr_handle *intr_handle = priv->dev->intr_handle;\n \n-\tassert(!mlx5_is_secondary());\n \tif (!priv->dev->data->dev_conf.intr_conf.rxq)\n \t\treturn 0;\n \tpriv_rx_intr_vec_disable(priv);\ndiff --git a/drivers/net/mlx5/mlx5_trigger.c b/drivers/net/mlx5/mlx5_trigger.c\nindex 5de2d026e..ed80a6bee 100644\n--- a/drivers/net/mlx5/mlx5_trigger.c\n+++ b/drivers/net/mlx5/mlx5_trigger.c\n@@ -132,9 +132,6 @@ mlx5_dev_start(struct rte_eth_dev *dev)\n \tstruct mlx5_mr *mr = NULL;\n \tint err;\n \n-\tif (mlx5_is_secondary())\n-\t\treturn -E_RTE_SECONDARY;\n-\n \tdev->data->dev_started = 1;\n \tpriv_lock(priv);\n \terr = priv_flow_create_drop_queue(priv);\n@@ -213,9 +210,6 @@ mlx5_dev_stop(struct rte_eth_dev *dev)\n \tstruct priv *priv = dev->data->dev_private;\n \tstruct mlx5_mr *mr;\n \n-\tif (mlx5_is_secondary())\n-\t\treturn;\n-\n \tpriv_lock(priv);\n \tdev->data->dev_started = 0;\n \t/* Prevent crashes when queues are still in use. */\ndiff --git a/drivers/net/mlx5/mlx5_txq.c b/drivers/net/mlx5/mlx5_txq.c\nindex 9c5860ff4..84d37be19 100644\n--- a/drivers/net/mlx5/mlx5_txq.c\n+++ b/drivers/net/mlx5/mlx5_txq.c\n@@ -142,9 +142,6 @@ mlx5_tx_queue_setup(struct rte_eth_dev *dev, uint16_t idx, uint16_t desc,\n \t\tcontainer_of(txq, struct mlx5_txq_ctrl, txq);\n \tint ret = 0;\n \n-\tif (mlx5_is_secondary())\n-\t\treturn -E_RTE_SECONDARY;\n-\n \tpriv_lock(priv);\n \tif (desc <= MLX5_TX_COMP_THRESH) {\n \t\tWARN(\"%p: number of descriptors requested for TX queue %u\"\n@@ -203,9 +200,6 @@ mlx5_tx_queue_release(void *dpdk_txq)\n \tstruct priv *priv;\n \tunsigned int i;\n \n-\tif (mlx5_is_secondary())\n-\t\treturn;\n-\n \tif (txq == NULL)\n \t\treturn;\n \ttxq_ctrl = container_of(txq, struct mlx5_txq_ctrl, txq);\n",
    "prefixes": [
        "dpdk-dev",
        "2/5"
    ]
}