List patch comments

GET /api/patches/73524/comments/?format=api
HTTP 200 OK
Allow: GET, HEAD, OPTIONS
Content-Type: application/json
Link: 
<https://patches.dpdk.org/api/patches/73524/comments/?format=api&page=1>; rel="first",
<https://patches.dpdk.org/api/patches/73524/comments/?format=api&page=1>; rel="last"
Vary: Accept
[ { "id": 115533, "web_url": "https://patches.dpdk.org/comment/115533/", "msgid": "<CAOFC0T2ZPONkjU4oUDmDXEJNQWoW=q5BcB0c7OfxGLg=xZP4iA@mail.gmail.com>", "list_archive_url": "https://inbox.dpdk.org/dev/CAOFC0T2ZPONkjU4oUDmDXEJNQWoW=q5BcB0c7OfxGLg=xZP4iA@mail.gmail.com", "date": "2020-07-08T14:11:25", "subject": "Re: [dpdk-dev] [PATCH] EAL: Called remove() of drivers for vdev and\n\tpci buses", "submitter": { "id": 1639, "url": "https://patches.dpdk.org/api/people/1639/?format=api", "name": "Muhammad Bilal", "email": "m.bilal@emumba.com" }, "content": "On Wed, Jul 8, 2020 at 5:04 PM Muhammad Bilal <m.bilal@emumba.com> wrote:\n>\n> while using memif with app, the resources are not cleaned on exit,\n> So an error occurred on running it second time. The cause of this problem\n> is that remove() of memif driver is not called by rte_eal_cleanup() which\n> is counterpart of probe() called from rte_eal_init(). This is a case for\n> all other divers e.g pci, so to solve this problem I have added the\n> functionality of calling remove() function of all the driver attached to\n> devices on vdev and pci buses.\n>\nLittle correction\nBugzilla ID: 437\n> Bugzilla ID: 353\n> Signed-off-by: Muhammad Bilal <m.bilal@emumba.com>\n> ---\n> drivers/bus/pci/pci_common.c | 23 +++++++++++++++++++++++\n> drivers/bus/vdev/vdev.c | 19 ++++++++++++++++++-\n> lib/librte_eal/common/eal_common_bus.c | 18 ++++++++++++++++++\n> lib/librte_eal/include/rte_bus.h | 23 +++++++++++++++++++++++\n> lib/librte_eal/linux/eal.c | 2 ++\n> 5 files changed, 84 insertions(+), 1 deletion(-)\n>\n> diff --git a/drivers/bus/pci/pci_common.c b/drivers/bus/pci/pci_common.c\n> index 245d94f59..203b32a23 100644\n> --- a/drivers/bus/pci/pci_common.c\n> +++ b/drivers/bus/pci/pci_common.c\n> @@ -320,6 +320,28 @@ pci_probe(void)\n> return (probed && probed == failed) ? -1 : 0;\n> }\n>\n> +/*\n> + * Scan the content of the PCI bus, and call the remove() function for\n> + * all registered drivers of devices that have already been probed.\n> + */\n> +static int\n> +pci_remove(void)\n> +{\n> + struct rte_pci_device *dev = NULL;\n> + int ret = 0;\n> +\n> + FOREACH_DEVICE_ON_PCIBUS(dev) {\n> + if (rte_dev_is_probed(&dev->device))\n> + if (rte_pci_detach_dev(dev) != 0) {\n> + RTE_LOG(INFO, EAL,\n> + \"failed to detach driver form %s\\n\",\n> + dev->device.name);\n> + ret = -1;\n> + }\n> + }\n> + return ret;\n> +}\n> +\n> /* dump one device */\n> static int\n> pci_dump_one_device(FILE *f, struct rte_pci_device *dev)\n> @@ -669,6 +691,7 @@ struct rte_pci_bus rte_pci_bus = {\n> .bus = {\n> .scan = rte_pci_scan,\n> .probe = pci_probe,\n> + .remove = pci_remove,\n> .find_device = pci_find_device,\n> .plug = pci_plug,\n> .unplug = pci_unplug,\n> diff --git a/drivers/bus/vdev/vdev.c b/drivers/bus/vdev/vdev.c\n> index a89ea2353..692c936b9 100644\n> --- a/drivers/bus/vdev/vdev.c\n> +++ b/drivers/bus/vdev/vdev.c\n> @@ -546,6 +546,22 @@ vdev_unplug(struct rte_device *dev)\n> return rte_vdev_uninit(dev->name);\n> }\n>\n> +static int\n> +vdev_remove(void)\n> +{\n> + struct rte_vdev_device *dev;\n> + int ret = 0;\n> +\n> + TAILQ_FOREACH(dev, &vdev_device_list, next) {\n> + if (vdev_remove_driver(dev) != 0) {\n> + VDEV_LOG(INFO, \"driver of %s is not removed\\n\",\n> + dev->device.name);\n> + ret = -1;\n> + }\n> + }\n> + return ret;\n> +}\n> +\n> static struct rte_bus rte_vdev_bus = {\n> .scan = vdev_scan,\n> .probe = vdev_probe,\n> @@ -554,7 +570,8 @@ static struct rte_bus rte_vdev_bus = {\n> .unplug = vdev_unplug,\n> .parse = vdev_parse,\n> .dev_iterate = rte_vdev_dev_iterate,\n> -};\n> + .remove = vdev_remove,\n> + };\n>\n> RTE_REGISTER_BUS(vdev, rte_vdev_bus);\n>\n> diff --git a/lib/librte_eal/common/eal_common_bus.c b/lib/librte_eal/common/eal_common_bus.c\n> index baa5b532a..bff95a0ae 100644\n> --- a/lib/librte_eal/common/eal_common_bus.c\n> +++ b/lib/librte_eal/common/eal_common_bus.c\n> @@ -85,6 +85,24 @@ rte_bus_probe(void)\n> return 0;\n> }\n>\n> +/* Remove all devices of all buses */\n> +int\n> +rte_bus_remove(void)\n> +{\n> + int ret;\n> + struct rte_bus *bus;\n> +\n> + TAILQ_FOREACH(bus, &rte_bus_list, next) {\n> + if (!strcmp(bus->name, \"vdev\") || !strcmp(bus->name, \"pci\")) {\n> + ret = bus->remove();\n> + if (ret)\n> + RTE_LOG(INFO, EAL, \"Bus (%s) remove failed.\\n\",\n> + bus->name);\n> + }\n> + }\n> + return 0;\n> +}\n> +\n> /* Dump information of a single bus */\n> static int\n> bus_dump_one(FILE *f, struct rte_bus *bus)\n> diff --git a/lib/librte_eal/include/rte_bus.h b/lib/librte_eal/include/rte_bus.h\n> index d3034d0ed..c3e7e62c9 100644\n> --- a/lib/librte_eal/include/rte_bus.h\n> +++ b/lib/librte_eal/include/rte_bus.h\n> @@ -67,6 +67,18 @@ typedef int (*rte_bus_scan_t)(void);\n> */\n> typedef int (*rte_bus_probe_t)(void);\n>\n> +/**\n> + * Implementation specific remove function which is responsible for unlinking\n> + * devices on that bus from attached drivers.\n> + *\n> + * This is called while iterating over each registered bus.\n> + *\n> + * @return\n> + * 0 for successful remove\n> + * !0 for any error while removing\n> + */\n> +typedef int (*rte_bus_remove_t)(void);\n> +\n> /**\n> * Device iterator to find a device on a bus.\n> *\n> @@ -248,6 +260,7 @@ struct rte_bus {\n> const char *name; /**< Name of the bus */\n> rte_bus_scan_t scan; /**< Scan for devices attached to bus */\n> rte_bus_probe_t probe; /**< Probe devices on bus */\n> + rte_bus_remove_t remove; /**< remove device on bus */\n> rte_bus_find_device_t find_device; /**< Find a device on the bus */\n> rte_bus_plug_t plug; /**< Probe single device for drivers */\n> rte_bus_unplug_t unplug; /**< Remove single device from driver */\n> @@ -301,6 +314,16 @@ int rte_bus_scan(void);\n> */\n> int rte_bus_probe(void);\n>\n> +/**\n> + * For each device on the buses,call the driver-specific remove\n> + * for device uninitialization.\n> + *\n> + * @return\n> + * 0 for successful match/probe\n> + * !0 otherwise\n> + */\n> +int rte_bus_remove(void);\n> +\n> /**\n> * Dump information of all the buses registered with EAL.\n> *\n> diff --git a/lib/librte_eal/linux/eal.c b/lib/librte_eal/linux/eal.c\n> index f162124a3..89a03d3bb 100644\n> --- a/lib/librte_eal/linux/eal.c\n> +++ b/lib/librte_eal/linux/eal.c\n> @@ -1330,6 +1330,8 @@ mark_freeable(const struct rte_memseg_list *msl, const struct rte_memseg *ms,\n> int\n> rte_eal_cleanup(void)\n> {\n> + /* Remove devices/drivers from all buses */\n> + rte_bus_remove();\n> /* if we're in a primary process, we need to mark hugepages as freeable\n> * so that finalization can release them back to the system.\n> */\n> --\n> 2.25.1\n>", "headers": { "Return-Path": "<dev-bounces@dpdk.org>", "X-Original-To": "patchwork@inbox.dpdk.org", "Delivered-To": "patchwork@inbox.dpdk.org", "Received": [ "from dpdk.org (dpdk.org [92.243.14.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id A377DA0526;\n\tWed, 8 Jul 2020 16:11:38 +0200 (CEST)", "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 846721DF90;\n\tWed, 8 Jul 2020 16:11:38 +0200 (CEST)", "from mail-io1-f68.google.com (mail-io1-f68.google.com\n [209.85.166.68]) by dpdk.org (Postfix) with ESMTP id 6D4811DB08\n for <dev@dpdk.org>; Wed, 8 Jul 2020 16:11:37 +0200 (CEST)", "by mail-io1-f68.google.com with SMTP id q74so23560995iod.1\n for <dev@dpdk.org>; Wed, 08 Jul 2020 07:11:37 -0700 (PDT)" ], "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=emumba-com.20150623.gappssmtp.com; s=20150623;\n h=mime-version:references:in-reply-to:from:date:message-id:subject:to\n :cc; bh=t1wRYBVuCVz0N2L6bOD6n4ucwUQA+JlIQj8guXGAhuQ=;\n b=Y8U8AnT/BN10Dx9pOwKYgJpPzjCNVnep3y4QOW/XC5r341vFKV2vJEA7uXsF+b1Ism\n tJ7m8J8s55mHS9fRHpJrmGQH0xquOEBwkLE9hVDTsD9tIJfQCoh5Ei3gFzCtmEOd2psN\n a6ZSazyabNy5ewkxtarCXegnkBqNCA6waAqGi2xuknVONXDp/2X4GkIGf8qKwz28n1PS\n pTtwSNzLIISL+tI0ncrsxEwbbBE5NMQ121H+z03k8UPA1lDGJ0zBLNym5mdkZIoWxl9U\n T/ZcqiVBQ68PxYm1lR6T764C1haRX+lfidrbFNpMnksOEpyAW101BYii+MxROJ8gTxJo\n jvIg==", "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20161025;\n h=x-gm-message-state:mime-version:references:in-reply-to:from:date\n :message-id:subject:to:cc;\n bh=t1wRYBVuCVz0N2L6bOD6n4ucwUQA+JlIQj8guXGAhuQ=;\n b=oSubDvt6RDyXKYvRYvQg8aEGNa9JyPx29drVxh4n/eBLr2hEEmiMvPZlskFyZqiuFO\n +ZkJIlJij/G4BT3RQg/5G+6mqsXrrMjrfYU0j9xsNSj1+DsQatquiV2dt/OxiNsIy6MP\n HzjugGFJ5hO9Om3AVmxc6DKA9lZm/39J/9+KAIuQ5VTX0fs3nUBR39EEUI9oRJ3uAfb2\n CnIMux5/YH7owGmbqkP6JmK2w7i3kXp6/5ZxDpRUx7MSzHatNJcd4CtrF3moKekB344+\n Fm2RiqPkUFU1i0dYhU6aNx/cDf6HQpfknvxp8LpLiuCs5CI73XerYL81QhtW0qpI45rE\n U59g==", "X-Gm-Message-State": "AOAM530kJFdZzqa09wKxrCSW+36meO2sGksXhKEc83kzl6tE52tZO/ND\n k8Si06H5OxYRZ15gEvI6yRaBeYHpnrRfaKRE5rNzxw==", "X-Google-Smtp-Source": "\n ABdhPJz6aPauhTQGhzxu6Rh4mKZtO4YC+UTwFzqWKvByluzoAyd9YS7VLMlKthiW57je0j38VDVLVLWQGCxIv6afet4=", "X-Received": "by 2002:a05:6602:134d:: with SMTP id\n i13mr38207243iov.113.1594217496640;\n Wed, 08 Jul 2020 07:11:36 -0700 (PDT)", "MIME-Version": "1.0", "References": "<20200708120329.103200-1-m.bilal@emumba.com>", "In-Reply-To": "<20200708120329.103200-1-m.bilal@emumba.com>", "From": "Muhammad Bilal <m.bilal@emumba.com>", "Date": "Wed, 8 Jul 2020 19:11:25 +0500", "Message-ID": "\n <CAOFC0T2ZPONkjU4oUDmDXEJNQWoW=q5BcB0c7OfxGLg=xZP4iA@mail.gmail.com>", "To": "ferruh.yigit@intel.com, anatoly.burakov@intel.com", "Cc": "vipin.varghese@intel.com, jgrajcia@cisco.com, jerinj@marvell.com,\n dev@dpdk.org, stable@dpdk.org", "Content-Type": "text/plain; charset=\"UTF-8\"", "Subject": "Re: [dpdk-dev] [PATCH] EAL: Called remove() of drivers for vdev and\n\tpci buses", "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 <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>" }, "addressed": null }, { "id": 118524, "web_url": "https://patches.dpdk.org/comment/118524/", "msgid": "<20200912195337.734ez2cumf6x7hxp@u256.net>", "list_archive_url": "https://inbox.dpdk.org/dev/20200912195337.734ez2cumf6x7hxp@u256.net", "date": "2020-09-12T19:53:37", "subject": "Re: [dpdk-dev] [PATCH] EAL: Called remove() of drivers for vdev and\n pci buses", "submitter": { "id": 1560, "url": "https://patches.dpdk.org/api/people/1560/?format=api", "name": "Gaëtan Rivet", "email": "grive@u256.net" }, "content": "On 08/07/20 17:03 +0500, Muhammad Bilal wrote:\n> while using memif with app, the resources are not cleaned on exit,\n> So an error occurred on running it second time. The cause of this problem\n> is that remove() of memif driver is not called by rte_eal_cleanup() which\n> is counterpart of probe() called from rte_eal_init(). This is a case for\n> all other divers e.g pci, so to solve this problem I have added the\n> functionality of calling remove() function of all the driver attached to\n> devices on vdev and pci buses.\n> \n\nHi Muhammad,\n\nreview inline.\n\n> Bugzilla ID: 353\n> Signed-off-by: Muhammad Bilal <m.bilal@emumba.com>\n> ---\n> drivers/bus/pci/pci_common.c | 23 +++++++++++++++++++++++\n> drivers/bus/vdev/vdev.c | 19 ++++++++++++++++++-\n> lib/librte_eal/common/eal_common_bus.c | 18 ++++++++++++++++++\n> lib/librte_eal/include/rte_bus.h | 23 +++++++++++++++++++++++\n> lib/librte_eal/linux/eal.c | 2 ++\n> 5 files changed, 84 insertions(+), 1 deletion(-)\n> \n> diff --git a/drivers/bus/pci/pci_common.c b/drivers/bus/pci/pci_common.c\n> index 245d94f59..203b32a23 100644\n> --- a/drivers/bus/pci/pci_common.c\n> +++ b/drivers/bus/pci/pci_common.c\n> @@ -320,6 +320,28 @@ pci_probe(void)\n> \treturn (probed && probed == failed) ? -1 : 0;\n> }\n> \n> +/*\n> + * Scan the content of the PCI bus, and call the remove() function for\n> + * all registered drivers of devices that have already been probed.\n> + */\n\nYou are not scanning the content of the PCI bus here.\nThe PCI bus referred in this comment is the actual, physical one.\nIt is only scanned during rte_pci_scan.\n\nYou are iterating registered PCI devices and removing them.\n\n> +static int\n> +pci_remove(void)\n> +{\n> +\tstruct rte_pci_device *dev = NULL;\n> +\tint ret = 0;\n> +\n> +\tFOREACH_DEVICE_ON_PCIBUS(dev) {\n> +\t\tif (rte_dev_is_probed(&dev->device))\n> +\t\t\tif (rte_pci_detach_dev(dev) != 0) {\n> +\t\t\t\tRTE_LOG(INFO, EAL,\n> +\t\t\t\t\t\"failed to detach driver form %s\\n\",\n\ns/form/from/\n\n> +\t\t\t\t\tdev->device.name);\n> +\t\t\t\tret = -1;\n> +\t\t\t}\n\nMemory is leaked from not freeing the rte_pci_device here.\nThe device iterator must be made safe (using TAILQ_FOREACH_SAFE)\nand the dev pointer removed from the list and freed.\n\nThere might be other resources still open.\n\n> +\t}\n> +\treturn ret;\n> +}\n> +\n> /* dump one device */\n> static int\n> pci_dump_one_device(FILE *f, struct rte_pci_device *dev)\n> @@ -669,6 +691,7 @@ struct rte_pci_bus rte_pci_bus = {\n> \t.bus = {\n> \t\t.scan = rte_pci_scan,\n> \t\t.probe = pci_probe,\n> +\t\t.remove = pci_remove,\n> \t\t.find_device = pci_find_device,\n> \t\t.plug = pci_plug,\n> \t\t.unplug = pci_unplug,\n> diff --git a/drivers/bus/vdev/vdev.c b/drivers/bus/vdev/vdev.c\n> index a89ea2353..692c936b9 100644\n> --- a/drivers/bus/vdev/vdev.c\n> +++ b/drivers/bus/vdev/vdev.c\n> @@ -546,6 +546,22 @@ vdev_unplug(struct rte_device *dev)\n> \treturn rte_vdev_uninit(dev->name);\n> }\n> \n> +static int\n> +vdev_remove(void)\n> +{\n> +\tstruct rte_vdev_device *dev;\n> +\tint ret = 0;\n> +\n> +\tTAILQ_FOREACH(dev, &vdev_device_list, next) {\n> +\t\tif (vdev_remove_driver(dev) != 0) {\n> +\t\t\tVDEV_LOG(INFO, \"driver of %s is not removed\\n\",\n> +\t\t\t\tdev->device.name);\n> +\t\t\tret = -1;\n> +\t\t}\n> +\t}\n\nSame as PCI bus, it should be made safe and the dev pointer removed\nfrom the TAILQ and freed as well.\n\n> +\treturn ret;\n> +}\n> +\n> static struct rte_bus rte_vdev_bus = {\n> \t.scan = vdev_scan,\n> \t.probe = vdev_probe,\n> @@ -554,7 +570,8 @@ static struct rte_bus rte_vdev_bus = {\n> \t.unplug = vdev_unplug,\n> \t.parse = vdev_parse,\n> \t.dev_iterate = rte_vdev_dev_iterate,\n> -};\n> +\t.remove = vdev_remove,\n> +\t};\n> \n> RTE_REGISTER_BUS(vdev, rte_vdev_bus);\n> \n> diff --git a/lib/librte_eal/common/eal_common_bus.c b/lib/librte_eal/common/eal_common_bus.c\n> index baa5b532a..bff95a0ae 100644\n> --- a/lib/librte_eal/common/eal_common_bus.c\n> +++ b/lib/librte_eal/common/eal_common_bus.c\n> @@ -85,6 +85,24 @@ rte_bus_probe(void)\n> \treturn 0;\n> }\n> \n> +/* Remove all devices of all buses */\n> +int\n> +rte_bus_remove(void)\n> +{\n> +\tint ret;\n> +\tstruct rte_bus *bus;\n> +\n> +\tTAILQ_FOREACH(bus, &rte_bus_list, next) {\n> +\t\tif (!strcmp(bus->name, \"vdev\") || !strcmp(bus->name, \"pci\")) {\n\nYou should only check that the bus sets the ops, not how the bus is named.\n\n> +\t\t\tret = bus->remove();\n> +\t\t\tif (ret)\n> +\t\t\t\tRTE_LOG(INFO, EAL, \"Bus (%s) remove failed.\\n\",\n> +\t\t\t\t\tbus->name);\n> +\t\t}\n> +\t}\n> +\treturn 0;\n> +}\n> +\n> /* Dump information of a single bus */\n> static int\n> bus_dump_one(FILE *f, struct rte_bus *bus)\n> diff --git a/lib/librte_eal/include/rte_bus.h b/lib/librte_eal/include/rte_bus.h\n> index d3034d0ed..c3e7e62c9 100644\n> --- a/lib/librte_eal/include/rte_bus.h\n> +++ b/lib/librte_eal/include/rte_bus.h\n> @@ -67,6 +67,18 @@ typedef int (*rte_bus_scan_t)(void);\n> */\n> typedef int (*rte_bus_probe_t)(void);\n> \n> +/**\n> + * Implementation specific remove function which is responsible for unlinking\n> + * devices on that bus from attached drivers.\n> + *\n> + * This is called while iterating over each registered bus.\n> + *\n> + * @return\n> + *\t0 for successful remove\n> + *\t!0 for any error while removing\n> + */\n> +typedef int (*rte_bus_remove_t)(void);\n> +\n> /**\n> * Device iterator to find a device on a bus.\n> *\n> @@ -248,6 +260,7 @@ struct rte_bus {\n> \tconst char *name; /**< Name of the bus */\n> \trte_bus_scan_t scan; /**< Scan for devices attached to bus */\n> \trte_bus_probe_t probe; /**< Probe devices on bus */\n> +\trte_bus_remove_t remove;\t /**< remove device on bus */\n\nMissing capital R from 'remove', 'device' should be plural.\n'Remove devices from the bus' would read a bit better.\n\n> \trte_bus_find_device_t find_device; /**< Find a device on the bus */\n> \trte_bus_plug_t plug; /**< Probe single device for drivers */\n> \trte_bus_unplug_t unplug; /**< Remove single device from driver */\n> @@ -301,6 +314,16 @@ int rte_bus_scan(void);\n> */\n> int rte_bus_probe(void);\n> \n> +/**\n> + * For each device on the buses,call the driver-specific remove\n\nMissing a space after the comma.\n\n> + * for device uninitialization.\n> + *\n> + * @return\n> + *\t 0 for successful match/probe\n\nYou missed replacing match/probe here.\n\n> + *\t!0 otherwise\n> + */\n> +int rte_bus_remove(void);\n> +\n> /**\n> * Dump information of all the buses registered with EAL.\n> *\n> diff --git a/lib/librte_eal/linux/eal.c b/lib/librte_eal/linux/eal.c\n> index f162124a3..89a03d3bb 100644\n> --- a/lib/librte_eal/linux/eal.c\n> +++ b/lib/librte_eal/linux/eal.c\n> @@ -1330,6 +1330,8 @@ mark_freeable(const struct rte_memseg_list *msl, const struct rte_memseg *ms,\n> int\n> rte_eal_cleanup(void)\n> {\n> +\t/* Remove devices/drivers from all buses */\n> +\trte_bus_remove();\n\nYou've made your API return an int, but ignored drivers return code and\nalways return 0. That could be fine, but you also ignore it here anyway.\nAt this point just make it void, unless some error handling can be done.\n\nThere are variable definitions following in this function, why is this\ncall first?\n\nIt seems to be called only from linux EAL, why not BSD and Windows as\nwell?\n\n> \t/* if we're in a primary process, we need to mark hugepages as freeable\n> \t * so that finalization can release them back to the system.\n> \t */\n> -- \n> 2.25.1\n>", "headers": { "Return-Path": "<dev-bounces@dpdk.org>", "X-Original-To": "patchwork@inbox.dpdk.org", "Delivered-To": "patchwork@inbox.dpdk.org", "Received": [ "from dpdk.org (dpdk.org [92.243.14.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id 20808A04CC;\n\tSat, 12 Sep 2020 21:53:48 +0200 (CEST)", "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 909394F9A;\n\tSat, 12 Sep 2020 21:53:46 +0200 (CEST)", "from relay7-d.mail.gandi.net (relay7-d.mail.gandi.net\n [217.70.183.200]) by dpdk.org (Postfix) with ESMTP id 1A5D1160;\n Sat, 12 Sep 2020 21:53:45 +0200 (CEST)", "from u256.net (lfbn-poi-1-843-59.w86-254.abo.wanadoo.fr\n [86.254.165.59]) (Authenticated sender: grive@u256.net)\n by relay7-d.mail.gandi.net (Postfix) with ESMTPSA id 1B78D20005;\n Sat, 12 Sep 2020 19:53:42 +0000 (UTC)" ], "X-Originating-IP": "86.254.165.59", "Date": "Sat, 12 Sep 2020 21:53:37 +0200", "From": "=?utf-8?q?Ga=C3=ABtan?= Rivet <grive@u256.net>", "To": "Muhammad Bilal <m.bilal@emumba.com>", "Cc": "ferruh.yigit@intel.com, anatoly.burakov@intel.com,\n vipin.varghese@intel.com, jgrajcia@cisco.com, jerinj@marvell.com,\n dev@dpdk.org, stable@dpdk.org", "Message-ID": "<20200912195337.734ez2cumf6x7hxp@u256.net>", "References": "<20200708120329.103200-1-m.bilal@emumba.com>", "MIME-Version": "1.0", "Content-Type": "text/plain; charset=utf-8", "Content-Disposition": "inline", "Content-Transfer-Encoding": "8bit", "In-Reply-To": "<20200708120329.103200-1-m.bilal@emumba.com>", "Subject": "Re: [dpdk-dev] [PATCH] EAL: Called remove() of drivers for vdev and\n pci buses", "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 <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>" }, "addressed": null }, { "id": 122137, "web_url": "https://patches.dpdk.org/comment/122137/", "msgid": "<CAJFAV8z3enGMcZPNHT972y_y2jVkYtXyb=JE5ekh1ByNVD1RAw@mail.gmail.com>", "list_archive_url": "https://inbox.dpdk.org/dev/CAJFAV8z3enGMcZPNHT972y_y2jVkYtXyb=JE5ekh1ByNVD1RAw@mail.gmail.com", "date": "2020-10-20T13:43:16", "subject": "Re: [dpdk-dev] [dpdk-stable] [PATCH] EAL: Called remove() of\n drivers for vdev and pci buses", "submitter": { "id": 1173, "url": "https://patches.dpdk.org/api/people/1173/?format=api", "name": "David Marchand", "email": "david.marchand@redhat.com" }, "content": "Hello,\n\nOn Sat, Sep 12, 2020 at 9:53 PM Gaëtan Rivet <grive@u256.net> wrote:\n>\n> On 08/07/20 17:03 +0500, Muhammad Bilal wrote:\n> > while using memif with app, the resources are not cleaned on exit,\n> > So an error occurred on running it second time. The cause of this problem\n> > is that remove() of memif driver is not called by rte_eal_cleanup() which\n> > is counterpart of probe() called from rte_eal_init(). This is a case for\n> > all other divers e.g pci, so to solve this problem I have added the\n> > functionality of calling remove() function of all the driver attached to\n> > devices on vdev and pci buses.\n> >\n>\n> Hi Muhammad,\n>\n> review inline.\n\nThere were comments from Gaetan, waiting for a v2.\nThanks.", "headers": { "Return-Path": "<dev-bounces@dpdk.org>", "X-Original-To": "patchwork@inbox.dpdk.org", "Delivered-To": "patchwork@inbox.dpdk.org", "Received": [ "from dpdk.org (dpdk.org [92.243.14.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id E9E7CA04DC;\n\tTue, 20 Oct 2020 15:43:34 +0200 (CEST)", "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id B9CA9BB04;\n\tTue, 20 Oct 2020 15:43:33 +0200 (CEST)", "from us-smtp-delivery-124.mimecast.com\n (us-smtp-delivery-124.mimecast.com [63.128.21.124])\n by dpdk.org (Postfix) with ESMTP id 50564BAD4\n for <dev@dpdk.org>; Tue, 20 Oct 2020 15:43:31 +0200 (CEST)", "from mail-vk1-f199.google.com (mail-vk1-f199.google.com\n [209.85.221.199]) (Using TLS) by relay.mimecast.com with ESMTP id\n us-mta-192-YKk8hUmhPwe_Z8DgjADNuw-1; Tue, 20 Oct 2020 09:43:28 -0400", "by mail-vk1-f199.google.com with SMTP id b14so507964vka.21\n for <dev@dpdk.org>; Tue, 20 Oct 2020 06:43:28 -0700 (PDT)" ], "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;\n s=mimecast20190719; t=1603201409;\n h=from:from:reply-to:subject:subject:date:date:message-id:message-id:\n to:to:cc:cc:mime-version:mime-version:content-type:content-type:\n content-transfer-encoding:content-transfer-encoding:\n in-reply-to:in-reply-to:references:references;\n bh=noXU9rAy9UrYT9qhpZOgKAyU3vRcuoREkKReXHa+7Bs=;\n b=Z4dgN2dN/J4F3CHZtwaoxDoWHt9CKEZ7NCa1YxNqcXUt19F4eUn8xp1ClUdffm8FfmKCLQ\n xnOjhwTBu9mS5btqfWLrhUNQsz9fgbluT+o3/y+uD57piDP7cy6IvAZMZ7pAy0VFFW1Plr\n VeCQGCPd2iBzTLGjH2QMBk2aMao3gtk=", "X-MC-Unique": "YKk8hUmhPwe_Z8DgjADNuw-1", "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20161025;\n h=x-gm-message-state:mime-version:references:in-reply-to:from:date\n :message-id:subject:to:cc:content-transfer-encoding;\n bh=noXU9rAy9UrYT9qhpZOgKAyU3vRcuoREkKReXHa+7Bs=;\n b=EFMRvzC0+xDn8unLbPJOvDIiPBrSqQlxiOU0am/OQSHE1SaPPY5icZgjDx/Gl/4pOu\n q1Q4KGew4fKswFJfKTLjscwYKEHaS3fylqva6x3sAhcfyJfugQUgnklhRxxEChwDA+a1\n N2G2OMZjiSOLBjYDzSr+w0Trkm5yVu/y02ZK7m7jZNpipIoxrz+eU6kDkqfvwyG2beTf\n 83MbMYiOIFAVjMWYDQVmtkVxH1bLX3XLF+nnyeV/PFzLQ1EwlEyahQROhYSSTD4+FFZP\n 5Pu+8Ebt3QV0eNOBmwmQQqFzSaIOi8PYoWl7wQNtNbH3e0lZX0AImfubMpQJY8qMZDf8\n iAcA==", "X-Gm-Message-State": "AOAM532yMxU6IY0yCJEYU7w2VG8daXBLuz3/ZybbRFK40gdSfJA0EJhP\n 4g2tiUv5S8BN/RdaxWEBsH5A1m9Av2c09SYTLDjkIKYuVary2YP+ZlGjei/khLJdl1YHXngfyO2\n CnEwlyziq0eBtT5do9VI=", "X-Received": [ "by 2002:a67:e2d5:: with SMTP id i21mr1664871vsm.18.1603201407707;\n Tue, 20 Oct 2020 06:43:27 -0700 (PDT)", "by 2002:a67:e2d5:: with SMTP id i21mr1664836vsm.18.1603201407445;\n Tue, 20 Oct 2020 06:43:27 -0700 (PDT)" ], "X-Google-Smtp-Source": "\n ABdhPJxvkAa531YI41bZvY+FML+0S+9n2mb1KVqk1YtrWiiJEofC01I91owsa58wGSWTDdVD+JCIcG7mqZcPTO4b2kk=", "MIME-Version": "1.0", "References": "<20200708120329.103200-1-m.bilal@emumba.com>\n <20200912195337.734ez2cumf6x7hxp@u256.net>", "In-Reply-To": "<20200912195337.734ez2cumf6x7hxp@u256.net>", "From": "David Marchand <david.marchand@redhat.com>", "Date": "Tue, 20 Oct 2020 15:43:16 +0200", "Message-ID": "\n <CAJFAV8z3enGMcZPNHT972y_y2jVkYtXyb=JE5ekh1ByNVD1RAw@mail.gmail.com>", "To": "Muhammad Bilal <m.bilal@emumba.com>", "Cc": "\"Yigit, Ferruh\" <ferruh.yigit@intel.com>, \"Burakov,\n Anatoly\" <anatoly.burakov@intel.com>,\n Vipin Varghese <vipin.varghese@intel.com>,\n Jakub Grajciar <jgrajcia@cisco.com>,\n Jerin Jacob Kollanukkaran <jerinj@marvell.com>, dev <dev@dpdk.org>,\n dpdk stable <stable@dpdk.org>, =?utf-8?q?Ga=C3=ABtan_Rivet?= <grive@u256.net>", "Authentication-Results": "relay.mimecast.com;\n auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=dmarchan@redhat.com", "X-Mimecast-Spam-Score": "0", "X-Mimecast-Originator": "redhat.com", "Content-Type": "text/plain; charset=\"UTF-8\"", "Content-Transfer-Encoding": "quoted-printable", "Subject": "Re: [dpdk-dev] [dpdk-stable] [PATCH] EAL: Called remove() of\n drivers for vdev and pci buses", "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 <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>" }, "addressed": null }, { "id": 122531, "web_url": "https://patches.dpdk.org/comment/122531/", "msgid": "<CAOFC0T11etrEHQBFcDL9nhJOaxv6oW_Cs+7dnpTBy45ZA=9txA@mail.gmail.com>", "list_archive_url": "https://inbox.dpdk.org/dev/CAOFC0T11etrEHQBFcDL9nhJOaxv6oW_Cs+7dnpTBy45ZA=9txA@mail.gmail.com", "date": "2020-10-25T21:28:10", "subject": "Re: [dpdk-dev] [dpdk-stable] [PATCH] EAL: Called remove() of\n drivers for vdev and pci buses", "submitter": { "id": 1639, "url": "https://patches.dpdk.org/api/people/1639/?format=api", "name": "Muhammad Bilal", "email": "m.bilal@emumba.com" }, "content": "On Tue, Oct 20, 2020 at 6:43 PM David Marchand\n<david.marchand@redhat.com> wrote:\n>\n> Hello,\nHi\n>\n> On Sat, Sep 12, 2020 at 9:53 PM Gaëtan Rivet <grive@u256.net> wrote:\n> >\n> > On 08/07/20 17:03 +0500, Muhammad Bilal wrote:\n> > > while using memif with app, the resources are not cleaned on exit,\n> > > So an error occurred on running it second time. The cause of this problem\n> > > is that remove() of memif driver is not called by rte_eal_cleanup() which\n> > > is counterpart of probe() called from rte_eal_init(). This is a case for\n> > > all other divers e.g pci, so to solve this problem I have added the\n> > > functionality of calling remove() function of all the driver attached to\n> > > devices on vdev and pci buses.\n> > >\n> >\n> > Hi Muhammad,\n> >\n> > review inline.\n>\n> There were comments from Gaetan, waiting for a v2.\nI am working on required changes, and will update it soon.\nThanks\n> Thanks.\n>\n>\n> --\n> David Marchand\n>", "headers": { "Return-Path": "<dev-bounces@dpdk.org>", "X-Original-To": "patchwork@inbox.dpdk.org", "Delivered-To": "patchwork@inbox.dpdk.org", "Received": [ "from dpdk.org (dpdk.org [92.243.14.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id 79BBDA04B5;\n\tSun, 25 Oct 2020 22:28:28 +0100 (CET)", "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 46A2D2AA0;\n\tSun, 25 Oct 2020 22:28:25 +0100 (CET)", "from mail-io1-f67.google.com (mail-io1-f67.google.com\n [209.85.166.67]) by dpdk.org (Postfix) with ESMTP id 32F8D160\n for <dev@dpdk.org>; Sun, 25 Oct 2020 22:28:23 +0100 (CET)", "by mail-io1-f67.google.com with SMTP id n6so7876125ioc.12\n for <dev@dpdk.org>; Sun, 25 Oct 2020 14:28:23 -0700 (PDT)" ], "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=emumba-com.20150623.gappssmtp.com; s=20150623;\n h=mime-version:references:in-reply-to:from:date:message-id:subject:to\n :cc:content-transfer-encoding;\n bh=CGq4wGNrFR7d/eAR9DdEc0JCvgrnF7W1WrT0DinlOyE=;\n b=K8L/FJD80Mk8s+RiPl/FiEvAQKbIc/ieoKIaViAhWUOvNMYKFUaWEE4GGlygYTsPew\n M+ilY0LFgL6V9ts1anDys/3+Ni9iBq9y0Gg+TI+E314nCDswPqp8lCtPW8GUJ5eTHF1Q\n wDIcCbaFAZemld0Jn6kMPA9xnxs60xZiwJmQ29tHC44YcaOJLWBnNWaJgCjzRetLxLeI\n TpcDCoNrZ+CazSiACyaHjmQjjlFocE8WZSn8Kn9bbgjLiapV/wlGE+0jKf/qIFFtNEdm\n nXY3WGG3VZeBW9gpOZt3Ojys3ObVcbMlNNL3WWMuiLUW6sS7eN+5SOaC4dk1FoQ6fGY9\n outg==", "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20161025;\n h=x-gm-message-state:mime-version:references:in-reply-to:from:date\n :message-id:subject:to:cc:content-transfer-encoding;\n bh=CGq4wGNrFR7d/eAR9DdEc0JCvgrnF7W1WrT0DinlOyE=;\n b=icjKti0aWyLmBJ11ETOkwEb4cHSkFue199NdOeJfkkSW/CNMlZjPD/p9GKjUexJm5Z\n wI0hLX/WvfJMK9ynQNzZP48ZDC4+PzAwai8wQitqq9Z/bhl9E8j39E0cTjAMUgsHf8UY\n S36IlcN6OJ8WO6Z9ib0NlhPSLGqENcxf+eEWZ8i7obqd/3nzxe0gm4iUz84lvPAinPfx\n pX5DFCRH5dVXjEJUUSwikwMYe/bOOyYLKN9+OvzOIL0p/QGLfOSOrni1HNxUBO6wS7F2\n +whmpelGwubA6+LW4dDkf9Q7+PNS2hJyk+URKh3scglsyhV+QU0U1c3LBD23I3qbq7X7\n shRA==", "X-Gm-Message-State": "AOAM532aKIoXT7cTNNbAA1DabyMxoCBMWPJ5sSJpFXPZhxdrfD6Wz3NY\n fv2KTbh3mRkk3vx+cu7q140XVmVKWS6TVOMz5fJJ1g==", "X-Google-Smtp-Source": "\n ABdhPJx+V59r3HgrTARWsZ3PKA6/IwT+ri15H99MwpKYZPufQudWmt/10Gga2XtIEtBlhzPf9OAAQrbDNFy0AwJk6fY=", "X-Received": "by 2002:a02:234a:: with SMTP id u71mr9041582jau.3.1603661301310;\n Sun, 25 Oct 2020 14:28:21 -0700 (PDT)", "MIME-Version": "1.0", "References": "<20200708120329.103200-1-m.bilal@emumba.com>\n <20200912195337.734ez2cumf6x7hxp@u256.net>\n <CAJFAV8z3enGMcZPNHT972y_y2jVkYtXyb=JE5ekh1ByNVD1RAw@mail.gmail.com>", "In-Reply-To": "\n <CAJFAV8z3enGMcZPNHT972y_y2jVkYtXyb=JE5ekh1ByNVD1RAw@mail.gmail.com>", "From": "Muhammad Bilal <m.bilal@emumba.com>", "Date": "Mon, 26 Oct 2020 02:28:10 +0500", "Message-ID": "\n <CAOFC0T11etrEHQBFcDL9nhJOaxv6oW_Cs+7dnpTBy45ZA=9txA@mail.gmail.com>", "To": "David Marchand <david.marchand@redhat.com>", "Cc": "\"Yigit, Ferruh\" <ferruh.yigit@intel.com>, \"Burakov,\n Anatoly\" <anatoly.burakov@intel.com>,\n Vipin Varghese <vipin.varghese@intel.com>,\n Jakub Grajciar <jgrajcia@cisco.com>,\n Jerin Jacob Kollanukkaran <jerinj@marvell.com>, dev <dev@dpdk.org>,\n dpdk stable <stable@dpdk.org>, =?utf-8?q?Ga=C3=ABtan_Rivet?= <grive@u256.net>", "Content-Type": "text/plain; charset=\"UTF-8\"", "Content-Transfer-Encoding": "quoted-printable", "Subject": "Re: [dpdk-dev] [dpdk-stable] [PATCH] EAL: Called remove() of\n drivers for vdev and pci buses", "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 <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>" }, "addressed": null }, { "id": 129763, "web_url": "https://patches.dpdk.org/comment/129763/", "msgid": "<CAJFAV8xQox1smkA917WQxE68yyw=3OpQ7bUCcTjA9VqPme_Hrw@mail.gmail.com>", "list_archive_url": "https://inbox.dpdk.org/dev/CAJFAV8xQox1smkA917WQxE68yyw=3OpQ7bUCcTjA9VqPme_Hrw@mail.gmail.com", "date": "2021-03-25T15:27:41", "subject": "Re: [dpdk-dev] [dpdk-stable] [PATCH] EAL: Called remove() of\n drivers for vdev and pci buses", "submitter": { "id": 1173, "url": "https://patches.dpdk.org/api/people/1173/?format=api", "name": "David Marchand", "email": "david.marchand@redhat.com" }, "content": "On Sun, Oct 25, 2020 at 10:28 PM Muhammad Bilal <m.bilal@emumba.com> wrote:\n>\n> On Tue, Oct 20, 2020 at 6:43 PM David Marchand\n> <david.marchand@redhat.com> wrote:\n> >\n> > Hello,\n> Hi\n> >\n> > On Sat, Sep 12, 2020 at 9:53 PM Gaëtan Rivet <grive@u256.net> wrote:\n> > >\n> > > On 08/07/20 17:03 +0500, Muhammad Bilal wrote:\n> > > > while using memif with app, the resources are not cleaned on exit,\n> > > > So an error occurred on running it second time. The cause of this problem\n> > > > is that remove() of memif driver is not called by rte_eal_cleanup() which\n> > > > is counterpart of probe() called from rte_eal_init(). This is a case for\n> > > > all other divers e.g pci, so to solve this problem I have added the\n> > > > functionality of calling remove() function of all the driver attached to\n> > > > devices on vdev and pci buses.\n> > > >\n> > >\n> > > Hi Muhammad,\n> > >\n> > > review inline.\n> >\n> > There were comments from Gaetan, waiting for a v2.\n> I am working on required changes, and will update it soon.\n\nAny update?\n\nThanks.", "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 AE312A0A02;\n\tThu, 25 Mar 2021 16:28:03 +0100 (CET)", "from [217.70.189.124] (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 9B7B8140E39;\n\tThu, 25 Mar 2021 16:28:03 +0100 (CET)", "from us-smtp-delivery-124.mimecast.com\n (us-smtp-delivery-124.mimecast.com [170.10.133.124])\n by mails.dpdk.org (Postfix) with ESMTP id 2748C140E2E\n for <dev@dpdk.org>; Thu, 25 Mar 2021 16:28:02 +0100 (CET)", "from mail-vs1-f70.google.com (mail-vs1-f70.google.com\n [209.85.217.70]) (Using TLS) by relay.mimecast.com with ESMTP id\n us-mta-156-I_4jGHkgP4Ohn2caPe42mw-1; Thu, 25 Mar 2021 11:27:54 -0400", "by mail-vs1-f70.google.com with SMTP id 1so1214502vsw.16\n for <dev@dpdk.org>; Thu, 25 Mar 2021 08:27:54 -0700 (PDT)" ], "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;\n s=mimecast20190719; t=1616686081;\n h=from:from:reply-to:subject:subject:date:date:message-id:message-id:\n to:to:cc:cc:mime-version:mime-version:content-type:content-type:\n content-transfer-encoding:content-transfer-encoding:\n in-reply-to:in-reply-to:references:references;\n bh=c6sgYs6gdKyfJdF29cXWOaPFL1n9LeuO6imn49G9c2g=;\n b=KoNlmaYKsWsW5StRVJ9XjrxNuP6BogYqGxoTfwhgouHMz88hbF3m1SiknO48i+y6Ws3lti\n DBbJejD3kzb4HdEqnz78yWvMBzeH03o9gv/ZTQp1LYF7vaikA5bTIS773pWih5Lr2JwmMK\n x4OnkEkmhLRRHtHojZuiTHYDkHr+azM=", "X-MC-Unique": "I_4jGHkgP4Ohn2caPe42mw-1", "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20161025;\n h=x-gm-message-state:mime-version:references:in-reply-to:from:date\n :message-id:subject:to:cc:content-transfer-encoding;\n bh=c6sgYs6gdKyfJdF29cXWOaPFL1n9LeuO6imn49G9c2g=;\n b=np6meGoM/mxICOa/JBvzI/QybUQPLhczu4YKvTCYSyOLiXuTsrC0n+sqBpWhUphkRd\n jsR9hCnQiAPcozi9nIY7FuzchkhLSiPzo5kHoycZb92DhJisKfQBoXAheLQgKoRi0DK5\n Dv/QL+kocGx+r9/qwiMuzY12cGSbH0wqReHAnap4EyOioSLl0sNe6QLBzVOrFks+3CUT\n rPCEWsOL/nxjF4NaBoYSC7CE6p7GLb0mBFJMdpqU5GBvmq8vg3twJYdfgQmlM0j4sj0h\n /0+BQs41a+7iPnfHHVimnajs/FqCQzY7wGIklU6hr2EaMEhNyPkiIcSPUq8ItZMKBoAU\n MFAw==", "X-Gm-Message-State": "AOAM530etvwujMr1bCBvQml4Qn8S6QcSsPyQKC8P3Cng5c0X7b8b9FHG\n xzNyqNNAqEff2dgkLcrHe18pF3V0QwcvDVZoIre4UydPC0YrJzf/rA8B3Dee3IDiYM3Q6+qE+8K\n mLhq0wNAJveVaw+uZRTA=", "X-Received": [ "by 2002:a1f:d283:: with SMTP id j125mr5663294vkg.9.1616686073794;\n Thu, 25 Mar 2021 08:27:53 -0700 (PDT)", "by 2002:a1f:d283:: with SMTP id j125mr5663278vkg.9.1616686073580;\n Thu, 25 Mar 2021 08:27:53 -0700 (PDT)" ], "X-Google-Smtp-Source": "\n ABdhPJwrOTO8qBOb/aKVDktpgKwq0fSCOqfPie1EZhnKYqUbeSpEUuQ4oq83D0BEjJnpOBFWuP7IqBXeU+STeBOId6c=", "MIME-Version": "1.0", "References": "<20200708120329.103200-1-m.bilal@emumba.com>\n <20200912195337.734ez2cumf6x7hxp@u256.net>\n <CAJFAV8z3enGMcZPNHT972y_y2jVkYtXyb=JE5ekh1ByNVD1RAw@mail.gmail.com>\n <CAOFC0T11etrEHQBFcDL9nhJOaxv6oW_Cs+7dnpTBy45ZA=9txA@mail.gmail.com>", "In-Reply-To": "\n <CAOFC0T11etrEHQBFcDL9nhJOaxv6oW_Cs+7dnpTBy45ZA=9txA@mail.gmail.com>", "From": "David Marchand <david.marchand@redhat.com>", "Date": "Thu, 25 Mar 2021 16:27:41 +0100", "Message-ID": "\n <CAJFAV8xQox1smkA917WQxE68yyw=3OpQ7bUCcTjA9VqPme_Hrw@mail.gmail.com>", "To": "Muhammad Bilal <m.bilal@emumba.com>", "Cc": "\"Yigit, Ferruh\" <ferruh.yigit@intel.com>, \"Burakov,\n Anatoly\" <anatoly.burakov@intel.com>,\n Vipin Varghese <vipin.varghese@intel.com>,\n Jakub Grajciar <jgrajcia@cisco.com>,\n Jerin Jacob Kollanukkaran <jerinj@marvell.com>, dev <dev@dpdk.org>,\n dpdk stable <stable@dpdk.org>, =?utf-8?q?Ga=C3=ABtan_Rivet?= <grive@u256.net>", "Authentication-Results": "relay.mimecast.com;\n auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=dmarchan@redhat.com", "X-Mimecast-Spam-Score": "0", "X-Mimecast-Originator": "redhat.com", "Content-Type": "text/plain; charset=\"UTF-8\"", "Content-Transfer-Encoding": "quoted-printable", "Subject": "Re: [dpdk-dev] [dpdk-stable] [PATCH] EAL: Called remove() of\n drivers for vdev and pci buses", "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>" }, "addressed": null } ]