patches for DPDK stable branches
 help / color / mirror / Atom feed
From: luca.boccassi@gmail.com
To: Wei Huang <wei.huang@intel.com>
Cc: Tianfei Zhang <tianfei.zhang@intel.com>, dpdk stable <stable@dpdk.org>
Subject: patch 'raw/ifpga: fix monitor thread' has been queued to stable release 20.11.5
Date: Wed,  9 Mar 2022 16:30:37 +0000	[thread overview]
Message-ID: <20220309163053.245754-21-luca.boccassi@gmail.com> (raw)
In-Reply-To: <20220309163053.245754-1-luca.boccassi@gmail.com>

Hi,

FYI, your patch has been queued to stable release 20.11.5

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 03/11/22. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Queued patches are on a temporary branch at:
https://github.com/bluca/dpdk-stable

This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/4297b2d419135300f90ce52328d384de484c9d67

Thanks.

Luca Boccassi

---
From 4297b2d419135300f90ce52328d384de484c9d67 Mon Sep 17 00:00:00 2001
From: Wei Huang <wei.huang@intel.com>
Date: Tue, 1 Mar 2022 03:47:03 -0500
Subject: [PATCH] raw/ifpga: fix monitor thread

[ upstream commit 2479a1e9a8886c93ba4c8a7aa2a35a04302f1aae ]

Monitor thread handles graceful shutdown according to the value of
specific sensors in device, two issues are found below.
1. Thread is not created when card is probed.
2. Thread is canceled without checking presence of other cards.
To fix them, thread is created in pci device probe function, a reference
count is checked before canceling the thread.

Fixes: 9c006c45 ("raw/ifpga: scan PCIe BDF device tree")

Signed-off-by: Wei Huang <wei.huang@intel.com>
Acked-by: Tianfei Zhang <tianfei.zhang@intel.com>
---
 drivers/raw/ifpga/ifpga_rawdev.c | 62 +++++++++++++++++++++-----------
 drivers/raw/ifpga/ifpga_rawdev.h |  2 ++
 2 files changed, 43 insertions(+), 21 deletions(-)

diff --git a/drivers/raw/ifpga/ifpga_rawdev.c b/drivers/raw/ifpga/ifpga_rawdev.c
index decf183a0b..fb37313784 100644
--- a/drivers/raw/ifpga/ifpga_rawdev.c
+++ b/drivers/raw/ifpga/ifpga_rawdev.c
@@ -68,7 +68,7 @@ static const struct rte_pci_id pci_ifpga_map[] = {
 
 static struct ifpga_rawdev ifpga_rawdevices[IFPGA_RAWDEV_NUM];
 
-static int ifpga_monitor_start;
+static int ifpga_monitor_refcnt;
 static pthread_t ifpga_monitor_start_thread;
 
 #define IFPGA_MAX_IRQ 12
@@ -134,6 +134,7 @@ ifpga_rawdev_allocate(struct rte_rawdev *rawdev)
 	dev = &ifpga_rawdevices[dev_id];
 	dev->rawdev = rawdev;
 	dev->dev_id = dev_id;
+	dev->poll_enabled = 0;
 
 	return dev;
 }
@@ -208,10 +209,11 @@ static int ifpga_get_dev_vendor_id(const char *bdf,
 
 	return 0;
 }
-static int ifpga_rawdev_fill_info(struct ifpga_rawdev *ifpga_dev,
-	const char *bdf)
+
+static int ifpga_rawdev_fill_info(struct ifpga_rawdev *ifpga_dev)
 {
-	char path[1024] = "/sys/bus/pci/devices/0000:";
+	struct opae_adapter *adapter = NULL;
+	char path[1024] = "/sys/bus/pci/devices/";
 	char link[1024], link1[1024];
 	char dir[1024] = "/sys/devices/";
 	char *c;
@@ -226,7 +228,11 @@ static int ifpga_rawdev_fill_info(struct ifpga_rawdev *ifpga_dev,
 	int func;
 	uint32_t dev_id, vendor_id;
 
-	strlcat(path, bdf, sizeof(path));
+	adapter = ifpga_dev ? ifpga_rawdev_get_priv(ifpga_dev->rawdev) : NULL;
+	if (!adapter)
+		return -ENODEV;
+
+	strlcat(path, adapter->name, sizeof(path));
 	memset(link, 0, sizeof(link));
 	memset(link1, 0, sizeof(link1));
 	ret = readlink(path, link, (sizeof(link)-1));
@@ -376,7 +382,7 @@ ifpga_monitor_sensor(struct rte_rawdev *raw_dev,
 		/* monitor temperature sensors */
 		if (!strcmp(sensor->name, "Board Temperature") ||
 				!strcmp(sensor->name, "FPGA Die Temperature")) {
-			IFPGA_RAWDEV_PMD_INFO("read sensor %s %d %d %d\n",
+			IFPGA_RAWDEV_PMD_DEBUG("read sensor %s %d %d %d\n",
 					sensor->name, value, sensor->high_warn,
 					sensor->high_fatal);
 
@@ -418,7 +424,7 @@ static int set_surprise_link_check_aer(
 	bool enable = 0;
 	uint32_t aer_new0, aer_new1;
 
-	if (!ifpga_rdev) {
+	if (!ifpga_rdev || !ifpga_rdev->rawdev) {
 		printf("\n device does not exist\n");
 		return -EFAULT;
 	}
@@ -497,11 +503,11 @@ ifpga_rawdev_gsd_handle(__rte_unused void *param)
 	int gsd_enable, ret;
 #define MS 1000
 
-	while (__atomic_load_n(&ifpga_monitor_start, __ATOMIC_RELAXED)) {
+	while (__atomic_load_n(&ifpga_monitor_refcnt, __ATOMIC_RELAXED)) {
 		gsd_enable = 0;
 		for (i = 0; i < IFPGA_RAWDEV_NUM; i++) {
 			ifpga_rdev = &ifpga_rawdevices[i];
-			if (ifpga_rdev->rawdev) {
+			if (ifpga_rdev->poll_enabled) {
 				ret = set_surprise_link_check_aer(ifpga_rdev,
 					gsd_enable);
 				if (ret == 1 && !gsd_enable) {
@@ -521,32 +527,46 @@ ifpga_rawdev_gsd_handle(__rte_unused void *param)
 }
 
 static int
-ifpga_monitor_start_func(void)
+ifpga_monitor_start_func(struct ifpga_rawdev *dev)
 {
 	int ret;
 
-	if (!__atomic_load_n(&ifpga_monitor_start, __ATOMIC_RELAXED)) {
+	if (!dev)
+		return -ENODEV;
+
+	ret = ifpga_rawdev_fill_info(dev);
+	if (ret)
+		return ret;
+
+	dev->poll_enabled = 1;
+
+	if (!__atomic_fetch_add(&ifpga_monitor_refcnt, 1, __ATOMIC_RELAXED)) {
 		ret = pthread_create(&ifpga_monitor_start_thread,
 			NULL,
 			ifpga_rawdev_gsd_handle, NULL);
 		if (ret) {
+			ifpga_monitor_start_thread = 0;
 			IFPGA_RAWDEV_PMD_ERR(
 				"Fail to create ifpga monitor thread");
 			return -1;
 		}
-		__atomic_store_n(&ifpga_monitor_start, 1, __ATOMIC_RELAXED);
 	}
 
 	return 0;
 }
+
 static int
-ifpga_monitor_stop_func(void)
+ifpga_monitor_stop_func(struct ifpga_rawdev *dev)
 {
 	int ret;
 
-	if (__atomic_load_n(&ifpga_monitor_start, __ATOMIC_RELAXED)) {
-		__atomic_store_n(&ifpga_monitor_start, 0, __ATOMIC_RELAXED);
+	if (!dev || !dev->poll_enabled)
+		return 0;
 
+	dev->poll_enabled = 0;
+
+	if (!__atomic_sub_fetch(&ifpga_monitor_refcnt, 1, __ATOMIC_RELAXED) &&
+		ifpga_monitor_start_thread) {
 		ret = pthread_cancel(ifpga_monitor_start_thread);
 		if (ret)
 			IFPGA_RAWDEV_PMD_ERR("Can't cancel the thread");
@@ -719,6 +739,7 @@ ifpga_rawdev_close(struct rte_rawdev *dev)
 	struct opae_adapter *adapter;
 
 	if (dev) {
+		ifpga_monitor_stop_func(ifpga_rawdev_get(dev));
 		adapter = ifpga_rawdev_get_priv(dev);
 		if (adapter) {
 			opae_adapter_destroy(adapter);
@@ -1522,6 +1543,10 @@ ifpga_rawdev_create(struct rte_pci_device *pci_dev,
 	if (ret)
 		goto free_adapter_data;
 
+	ret = ifpga_monitor_start_func(dev);
+	if (ret)
+		goto free_adapter_data;
+
 	return ret;
 
 free_adapter_data:
@@ -1597,7 +1622,7 @@ ifpga_rawdev_pci_probe(struct rte_pci_driver *pci_drv __rte_unused,
 static int
 ifpga_rawdev_pci_remove(struct rte_pci_device *pci_dev)
 {
-	ifpga_monitor_stop_func();
+	IFPGA_RAWDEV_PMD_INFO("remove pci_dev %s", pci_dev->device.name);
 	return ifpga_rawdev_destroy(pci_dev);
 }
 
@@ -1648,7 +1673,6 @@ ifpga_cfg_probe(struct rte_vdev_device *dev)
 	struct ifpga_rawdev *ifpga_dev;
 	int port;
 	char *name = NULL;
-	const char *bdf;
 	char dev_name[RTE_RAWDEV_NAME_MAX_LEN];
 	int ret = -1;
 
@@ -1697,10 +1721,6 @@ ifpga_cfg_probe(struct rte_vdev_device *dev)
 	ifpga_dev = ifpga_rawdev_get(rawdev);
 	if (!ifpga_dev)
 		goto end;
-	bdf = name;
-	ifpga_rawdev_fill_info(ifpga_dev, bdf);
-
-	ifpga_monitor_start_func();
 
 	memset(dev_name, 0, sizeof(dev_name));
 	snprintf(dev_name, RTE_RAWDEV_NAME_MAX_LEN, "%d|%s",
diff --git a/drivers/raw/ifpga/ifpga_rawdev.h b/drivers/raw/ifpga/ifpga_rawdev.h
index 5c3ecd35d6..f082280f9a 100644
--- a/drivers/raw/ifpga/ifpga_rawdev.h
+++ b/drivers/raw/ifpga/ifpga_rawdev.h
@@ -59,6 +59,8 @@ struct ifpga_rawdev {
 	uint32_t aer_old[2];
 	char fvl_bdf[8][16];
 	char parent_bdf[16];
+	/* enable monitor thread poll device's sensors or not */
+	int poll_enabled;
 };
 
 struct ifpga_rawdev *
-- 
2.30.2

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2022-03-09 16:30:09.311744195 +0000
+++ 0021-raw-ifpga-fix-monitor-thread.patch	2022-03-09 16:30:08.551025243 +0000
@@ -1 +1 @@
-From 2479a1e9a8886c93ba4c8a7aa2a35a04302f1aae Mon Sep 17 00:00:00 2001
+From 4297b2d419135300f90ce52328d384de484c9d67 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 2479a1e9a8886c93ba4c8a7aa2a35a04302f1aae ]
+
@@ -14 +15,0 @@
-Cc: stable@dpdk.org
@@ -24 +25 @@
-index cc569c5e71..26c1366a64 100644
+index decf183a0b..fb37313784 100644
@@ -35,2 +36,4 @@
- static struct ifpga_rawdev *
-@@ -133,6 +133,7 @@ ifpga_rawdev_allocate(struct rte_rawdev *rawdev)
+ #define IFPGA_MAX_IRQ 12
+@@ -134,6 +134,7 @@ ifpga_rawdev_allocate(struct rte_rawdev *rawdev)
+ 	dev = &ifpga_rawdevices[dev_id];
+ 	dev->rawdev = rawdev;
@@ -38,2 +40,0 @@
- 	for (i = 0; i < IFPGA_MAX_IRQ; i++)
- 		dev->intr_handle[i] = NULL;
@@ -44 +45 @@
-@@ -207,10 +208,11 @@ static int ifpga_get_dev_vendor_id(const char *bdf,
+@@ -208,10 +209,11 @@ static int ifpga_get_dev_vendor_id(const char *bdf,
@@ -59 +60 @@
-@@ -225,7 +227,11 @@ static int ifpga_rawdev_fill_info(struct ifpga_rawdev *ifpga_dev,
+@@ -226,7 +228,11 @@ static int ifpga_rawdev_fill_info(struct ifpga_rawdev *ifpga_dev,
@@ -72 +73 @@
-@@ -375,7 +381,7 @@ ifpga_monitor_sensor(struct rte_rawdev *raw_dev,
+@@ -376,7 +382,7 @@ ifpga_monitor_sensor(struct rte_rawdev *raw_dev,
@@ -81 +82 @@
-@@ -417,7 +423,7 @@ static int set_surprise_link_check_aer(
+@@ -418,7 +424,7 @@ static int set_surprise_link_check_aer(
@@ -90 +91 @@
-@@ -496,11 +502,11 @@ ifpga_rawdev_gsd_handle(__rte_unused void *param)
+@@ -497,11 +503,11 @@ ifpga_rawdev_gsd_handle(__rte_unused void *param)
@@ -104 +105 @@
-@@ -520,32 +526,46 @@ ifpga_rawdev_gsd_handle(__rte_unused void *param)
+@@ -521,32 +527,46 @@ ifpga_rawdev_gsd_handle(__rte_unused void *param)
@@ -124,4 +125,4 @@
- 		ret = rte_ctrl_thread_create(&ifpga_monitor_start_thread,
- 					     "ifpga-monitor", NULL,
- 					     ifpga_rawdev_gsd_handle, NULL);
- 		if (ret != 0) {
+ 		ret = pthread_create(&ifpga_monitor_start_thread,
+ 			NULL,
+ 			ifpga_rawdev_gsd_handle, NULL);
+ 		if (ret) {
@@ -157 +158 @@
-@@ -718,6 +738,7 @@ ifpga_rawdev_close(struct rte_rawdev *dev)
+@@ -719,6 +739,7 @@ ifpga_rawdev_close(struct rte_rawdev *dev)
@@ -165 +166 @@
-@@ -1571,6 +1592,10 @@ ifpga_rawdev_create(struct rte_pci_device *pci_dev,
+@@ -1522,6 +1543,10 @@ ifpga_rawdev_create(struct rte_pci_device *pci_dev,
@@ -176 +177 @@
-@@ -1646,7 +1671,7 @@ ifpga_rawdev_pci_probe(struct rte_pci_driver *pci_drv __rte_unused,
+@@ -1597,7 +1622,7 @@ ifpga_rawdev_pci_probe(struct rte_pci_driver *pci_drv __rte_unused,
@@ -185 +186 @@
-@@ -1697,7 +1722,6 @@ ifpga_cfg_probe(struct rte_vdev_device *dev)
+@@ -1648,7 +1673,6 @@ ifpga_cfg_probe(struct rte_vdev_device *dev)
@@ -193 +194 @@
-@@ -1746,10 +1770,6 @@ ifpga_cfg_probe(struct rte_vdev_device *dev)
+@@ -1697,10 +1721,6 @@ ifpga_cfg_probe(struct rte_vdev_device *dev)
@@ -205 +206 @@
-index 6e09afead3..857b73463d 100644
+index 5c3ecd35d6..f082280f9a 100644
@@ -208 +209,3 @@
-@@ -62,6 +62,8 @@ struct ifpga_rawdev {
+@@ -59,6 +59,8 @@ struct ifpga_rawdev {
+ 	uint32_t aer_old[2];
+ 	char fvl_bdf[8][16];
@@ -210,2 +212,0 @@
- 	/* 0 for FME interrupt, others are reserved for AFU irq */
- 	void *intr_handle[IFPGA_MAX_IRQ];

  parent reply	other threads:[~2022-03-09 16:32 UTC|newest]

Thread overview: 228+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20220218123931.1749595-1-luca.boccassi@gmail.com>
2022-02-18 12:37 ` patch 'doc: replace deprecated distutils version parsing' " luca.boccassi
2022-02-18 12:37 ` patch 'maintainers: update for stable branches' " luca.boccassi
2022-02-18 12:37 ` patch 'doc: remove dependency on findutils on FreeBSD' " luca.boccassi
2022-02-18 12:37 ` patch 'bus/ifpga: remove useless check while browsing devices' " luca.boccassi
2022-02-18 12:37 ` patch 'dma/idxd: fix paths to driver sysfs directory' " luca.boccassi
2022-02-18 12:37 ` patch 'eal/linux: log hugepage create errors with filename' " luca.boccassi
2022-02-18 12:37 ` patch 'doc: fix dlb2 guide' " luca.boccassi
2022-02-18 12:37 ` patch 'examples/l3fwd: fix Rx burst size for event mode' " luca.boccassi
2022-02-18 12:37 ` patch 'examples/ipsec-secgw: fix eventdev start sequence' " luca.boccassi
2022-02-18 12:37 ` patch 'examples/ipsec-secgw: fix default flow rule creation' " luca.boccassi
2022-02-18 12:37 ` patch 'devtools: fix comment detection in forbidden token check' " luca.boccassi
2022-02-18 12:37 ` patch 'net/qede: fix redundant condition in debug code' " luca.boccassi
2022-02-18 12:37 ` patch 'net/ice: fix Tx checksum offload capability' " luca.boccassi
2022-02-18 12:37 ` patch 'net/ice: track DCF state of PF' " luca.boccassi
2022-02-18 12:37 ` patch 'net/ice: fix Tx checksum offload' " luca.boccassi
2022-02-18 12:37 ` patch 'net/ixgbe: add vector Rx parameter check' " luca.boccassi
2022-02-18 12:37 ` patch 'net/mlx5: fix assertion on flags set in packet mbuf' " luca.boccassi
2022-02-18 12:37 ` patch 'net/mlx5: fix RSS expansion with explicit next protocol' " luca.boccassi
2022-02-18 12:37 ` patch 'net/mlx5: fix GRE protocol type translation for Verbs' " luca.boccassi
2022-02-18 12:37 ` patch 'net/mlx5: relax headroom assertion' " luca.boccassi
2022-02-18 12:37 ` patch 'net/bnxt: fix xstats names query overrun' " luca.boccassi
2022-02-18 12:37 ` patch 'net/bnxt: fix multicast address set' " luca.boccassi
2022-02-18 12:37 ` patch 'net/bnxt: fix multicast MAC restore during reset recovery' " luca.boccassi
2022-02-18 12:37 ` patch 'net/bnxt: fix queue stop operation' " luca.boccassi
2022-02-18 12:37 ` patch 'net/bnxt: restore RSS configuration after reset recovery' " luca.boccassi
2022-02-18 12:37 ` patch 'net/bnxt: fix restoring VLAN filtering after " luca.boccassi
2022-02-18 12:37 ` patch 'net/bnxt: cap maximum number of unicast MAC addresses' " luca.boccassi
2022-02-18 12:37 ` patch 'net/bnxt: add null check for mark table' " luca.boccassi
2022-02-18 12:37 ` patch 'net/bnxt: get maximum supported multicast filters count' " luca.boccassi
2022-02-18 12:38 ` patch 'net/bnxt: fix handling of VF configuration change' " luca.boccassi
2022-02-18 12:38 ` patch 'net/bnxt: fix PAM4 mask setting' " luca.boccassi
2022-02-18 12:38 ` patch 'net/bnxt: fix xstats query' " luca.boccassi
2022-02-18 12:38 ` patch 'net/bnxt: check VF representor pointer before access' " luca.boccassi
2022-02-18 12:38 ` patch 'net/bonding: fix offloading configuration' " luca.boccassi
2022-02-18 12:38 ` patch 'app/testpmd: fix Tx scheduling interval' " luca.boccassi
2022-02-18 12:38 ` patch 'net/axgbe: use PCI root complex device to distinguish device' " luca.boccassi
2022-02-18 12:38 ` patch 'net/af_xdp: fix build with -Wunused-function' " luca.boccassi
2022-02-18 12:38 ` patch 'net/bonding: fix mode type mismatch' " luca.boccassi
2022-02-18 12:38 ` patch 'app/testpmd: fix dereference before null check' " luca.boccassi
2022-02-18 12:38 ` patch 'app/testpmd: fix external buffer allocation' " luca.boccassi
2022-02-18 12:38 ` patch 'net/cxgbe: fix dangling pointer by mailbox access rework' " luca.boccassi
2022-02-18 12:38 ` patch 'net/dpaa2: fix unregistering interrupt handler' " luca.boccassi
2022-02-18 12:38 ` patch 'net/dpaa2: fix timestamping for IEEE1588' " luca.boccassi
2022-02-18 12:38 ` patch 'net/mlx5: fix maximum packet headers size for TSO' " luca.boccassi
2022-02-18 12:38 ` patch 'net/nfp: remove duplicated check when setting MAC address' " luca.boccassi
2022-02-18 12:38 ` patch 'net/nfp: remove useless range checks' " luca.boccassi
2022-02-18 12:38 ` patch 'net/sfc: validate queue span when parsing flow action RSS' " luca.boccassi
2022-02-18 12:38 ` patch 'raw/ifpga/base: fix SPI transaction' " luca.boccassi
2022-02-18 12:38 ` patch 'net/ice: fix link up when starting device' " luca.boccassi
2022-02-18 12:38 ` patch 'raw/ifpga: fix thread closing' " luca.boccassi
2022-02-18 12:38 ` patch 'net/bnxt: fix check for autoneg enablement' " luca.boccassi
2022-02-18 12:38 ` patch 'net/bnxt: handle ring cleanup in case of error' " luca.boccassi
2022-02-18 12:38 ` patch 'net/bnxt: fix memzone allocation per VNIC' " luca.boccassi
2022-02-18 12:38 ` patch 'net/bnxt: fix VF resource allocation strategy' " luca.boccassi
2022-02-18 12:38 ` patch 'raw/ifpga/base: fix port feature ID' " luca.boccassi
2022-02-18 12:38 ` patch 'net/memif: remove unnecessary Rx interrupt stub' " luca.boccassi
2022-02-18 12:38 ` patch 'net/bonding: fix RSS with early configure' " luca.boccassi
2022-02-18 12:38 ` patch 'net/hns3: fix using enum as boolean' " luca.boccassi
2022-02-18 12:38 ` patch 'vdpa/mlx5: workaround queue stop with traffic' " luca.boccassi
2022-02-18 12:38 ` patch 'net/virtio: fix Tx queue 0 overriden by queue 128' " luca.boccassi
2022-02-18 12:38 ` patch 'vdpa/ifc: fix log info mismatch' " luca.boccassi
2022-02-18 12:38 ` patch 'net/virtio-user: fix resource leak on probing failure' " luca.boccassi
2022-02-18 12:38 ` patch 'net/virtio-user: check FD flags getting " luca.boccassi
2022-02-18 12:38 ` patch 'net/mlx5: fix mark enabling for Rx' " luca.boccassi
2022-02-18 12:38 ` patch 'net/mlx5: reject jump to root table' " luca.boccassi
2022-02-18 12:38 ` patch 'doc: update matching versions in ice guide' " luca.boccassi
2022-02-18 12:38 ` patch 'build: fix warnings when running external commands' " luca.boccassi
2022-02-18 12:38 ` patch 'build: fix warning about using -Wextra flag' " luca.boccassi
2022-02-18 13:13   ` Richardson, Bruce
2022-02-18 12:38 ` patch 'build: remove deprecated Meson functions' " luca.boccassi
2022-02-18 13:16   ` Richardson, Bruce
2022-02-21 10:56     ` Luca Boccassi
2022-02-21 11:51       ` Richardson, Bruce
2022-02-18 12:38 ` patch 'kni: fix ioctl signature' " luca.boccassi
2022-02-18 12:38 ` patch 'doc: fix KNI PMD name typo' " luca.boccassi
2022-02-18 12:38 ` patch 'ring: optimize corner case for enqueue/dequeue' " luca.boccassi
2022-02-18 12:38 ` patch 'ring: fix error code when creating ring' " luca.boccassi
2022-02-18 12:38 ` patch 'ring: fix overflow in memory size calculation' " luca.boccassi
2022-02-18 12:38 ` patch 'eal/windows: fix error code for not supported API' " luca.boccassi
2022-02-18 12:38 ` patch 'test/mem: fix error check' " luca.boccassi
2022-02-18 12:38 ` patch 'bus/dpaa: fix C++ include guard' " luca.boccassi
2022-02-18 12:38 ` patch 'net/cxgbe: remove useless " luca.boccassi
2022-02-18 12:38 ` patch 'net/dpaa2: " luca.boccassi
2022-02-18 12:38 ` patch 'eal/windows: " luca.boccassi
2022-02-18 12:38 ` patch 'net/enic: fix dereference before null check' " luca.boccassi
2022-02-18 12:38 ` patch 'net/hns3: fix max packet size rollback in PF' " luca.boccassi
2022-02-18 12:38 ` patch 'net/hns3: fix RSS key with null' " luca.boccassi
2022-02-18 12:38 ` patch 'net/hns3: fix insecure way to query MAC statistics' " luca.boccassi
2022-02-18 12:38 ` patch 'net/hns3: fix operating queue when TCAM table is invalid' " luca.boccassi
2022-02-18 12:38 ` patch 'net/hns3: delete duplicated RSS type' " luca.boccassi
2022-02-18 12:38 ` patch 'net/ixgbe: check filter init failure' " luca.boccassi
2022-02-18 12:38 ` patch 'net/bonding: fix promiscuous and allmulticast state' " luca.boccassi
2022-02-18 12:38 ` patch 'net/bonding: fix reference count on mbufs' " luca.boccassi
2022-02-18 12:39 ` patch 'app/testpmd: fix bonding mode set' " luca.boccassi
2022-02-18 12:39 ` patch 'ethdev: add internal function to device struct from name' " luca.boccassi
2022-02-18 12:39 ` patch 'net/tap: fix to populate FDs in secondary process' " luca.boccassi
2022-02-18 12:39 ` patch 'app/testpmd: fix stack overflow for EEPROM display' " luca.boccassi
2022-02-18 12:39 ` patch 'vhost: fix guest to host physical address mapping' " luca.boccassi
2022-02-18 12:39 ` patch 'regex/mlx5: fix memory allocation check' " luca.boccassi
2022-02-18 12:39 ` patch 'stack: fix stubs header export' " luca.boccassi
2022-02-18 12:39 ` patch 'eal: fix C++ include' " luca.boccassi
2022-02-18 12:39 ` patch 'eventdev: " luca.boccassi
2022-02-18 12:39 ` patch 'graph: " luca.boccassi
2022-02-18 12:39 ` patch 'ipsec: " luca.boccassi
2022-02-18 12:39 ` patch 'table: " luca.boccassi
2022-02-18 12:39 ` patch 'vhost: " luca.boccassi
2022-02-18 12:39 ` patch 'mem: check allocation in dynamic hugepage init' " luca.boccassi
2022-02-18 12:39 ` patch 'app/fib: fix division by zero' " luca.boccassi
2022-02-18 12:39 ` patch 'test/mbuf: fix mbuf data content check' " luca.boccassi
2022-02-18 12:39 ` patch 'ipc: end multiprocess thread during cleanup' " luca.boccassi
2022-02-18 12:39 ` patch 'vfio: cleanup the multiprocess sync handle' " luca.boccassi
2022-02-18 12:39 ` patch 'net/memif: remove pointer deference before null check' " luca.boccassi
2022-02-18 12:39 ` patch 'net/sfc: do not push fast free offload to default TxQ config' " luca.boccassi
2022-02-18 12:39 ` patch 'net/sfc: demand Tx fast free offload on EF10 simple datapath' " luca.boccassi
2022-02-18 12:39 ` patch 'net/iavf: count continuous DD bits for Arm' " luca.boccassi
2022-02-18 12:39 ` patch 'net/iavf: count continuous DD bits for Arm in flex Rx' " luca.boccassi
2022-02-18 12:39 ` patch 'net/ice/base: add profile validation on switch filter' " luca.boccassi
2022-02-18 12:39 ` patch 'net/ice: fix build with 16-byte Rx descriptor' " luca.boccassi
2022-02-18 12:39 ` patch 'net/mlx5: fix committed bucket size' " luca.boccassi
2022-02-18 12:39 ` patch 'net/mlx5: fix inline length for multi-segment TSO' " luca.boccassi
2022-02-18 12:39 ` patch 'net/bnxt: fix ring calculation for representors' " luca.boccassi
2022-02-18 12:39 ` patch 'compress/octeontx: fix null pointer dereference' " luca.boccassi
2022-02-18 12:39 ` patch 'crypto/dpaax_sec: fix auth/cipher xform chain checks' " luca.boccassi
2022-02-18 12:39 ` patch 'raw/ntb: clear all valid doorbell bits on init' " luca.boccassi
2022-02-18 12:39 ` patch 'kni: update kernel API to set random MAC address' " luca.boccassi
2022-02-28 21:19   ` patch 'eventdev/eth_tx: fix queue add error code' " luca.boccassi
2022-02-28 21:19     ` patch 'eal: add missing C++ guards' " luca.boccassi
2022-02-28 21:19     ` patch 'telemetry: " luca.boccassi
2022-02-28 21:20     ` patch 'ethdev: " luca.boccassi
2022-02-28 21:20     ` patch 'metrics: " luca.boccassi
2022-02-28 21:20     ` patch 'acl: " luca.boccassi
2022-02-28 21:20     ` patch 'compressdev: " luca.boccassi
2022-02-28 21:20     ` patch 'eventdev: " luca.boccassi
2022-02-28 21:20     ` patch 'kni: " luca.boccassi
2022-02-28 21:20     ` patch 'vhost: " luca.boccassi
2022-02-28 21:20     ` patch 'ethdev: fix cast for C++ compatibility' " luca.boccassi
2022-02-28 21:20     ` patch 'dma/idxd: configure maximum batch size to high value' " luca.boccassi
2022-02-28 21:20     ` patch 'examples/qos_sched: fix core mask overflow' " luca.boccassi
2022-03-01 18:29       ` Ajmera, Megha
2022-02-28 21:20     ` patch 'cryptodev: fix RSA key type name' " luca.boccassi
2022-03-16  8:06       ` David Marchand
2022-03-22  9:18         ` Ray Kinsella
2022-02-28 21:20     ` patch 'doc: fix FIPS guide' " luca.boccassi
2022-02-28 21:20     ` patch 'examples/l2fwd-crypto: fix port mask overflow' " luca.boccassi
2022-02-28 21:20     ` patch 'baseband/acc100: avoid out-of-bounds access' " luca.boccassi
2022-02-28 21:20     ` patch 'crypto/virtio: fix " luca.boccassi
2022-02-28 21:20     ` patch 'crypto/ipsec_mb: fix ZUC authentication verify' " luca.boccassi
2022-02-28 21:20     ` patch 'crypto/ipsec_mb: fix ZUC operation overwrite' " luca.boccassi
2022-02-28 21:20     ` patch 'net/nfb: fix array indexes in deinit functions' " luca.boccassi
2022-02-28 21:20     ` patch 'net/nfb: fix multicast/promiscuous mode switching' " luca.boccassi
2022-02-28 21:20     ` patch 'net/ixgbe: reset security context pointer on close' " luca.boccassi
2022-02-28 21:20     ` patch 'app/testpmd: check starting port is not in bonding' " luca.boccassi
2022-02-28 21:20     ` patch 'vhost: fix field naming in guest page struct' " luca.boccassi
2022-02-28 21:20     ` patch 'vhost: fix unsafe vring addresses modifications' " luca.boccassi
2022-02-28 21:20     ` patch 'net/af_xdp: add missing trailing newline in logs' " luca.boccassi
2022-02-28 21:20     ` patch 'net/af_xdp: ensure socket is deleted on Rx queue setup error' " luca.boccassi
2022-02-28 21:20     ` patch 'net/ice: fix overwriting of LSE bit by DCF' " luca.boccassi
2022-02-28 21:20     ` patch 'net/i40e: enable maximum frame size at port level' " luca.boccassi
2022-02-28 21:20     ` patch 'net/mlx5: fix ineffective metadata argument adjustment' " luca.boccassi
2022-02-28 21:20     ` patch 'app/testpmd: fix GENEVE parsing in checksum mode' " luca.boccassi
2022-02-28 21:20     ` patch 'net/txgbe: fix debug logs' " luca.boccassi
2022-02-28 21:20     ` patch 'net/ena: remove unused enumeration' " luca.boccassi
2022-02-28 21:20     ` patch 'net/ena: remove unused offload variables' " luca.boccassi
2022-02-28 21:20     ` patch 'net/ena: skip timer if reset is triggered' " luca.boccassi
2022-02-28 21:20     ` patch 'net/ena: fix reset reason being overwritten' " luca.boccassi
2022-02-28 21:20     ` patch 'net/ena: fix meta descriptor DF flag setup' " luca.boccassi
2022-02-28 21:20     ` patch 'net/ena: check memory BAR before initializing LLQ' " luca.boccassi
2022-02-28 21:20     ` patch 'net/ena: fix checksum flag for L4' " luca.boccassi
2022-02-28 21:20     ` patch 'common/mlx5: fix queue pair ack timeout configuration' " luca.boccassi
2022-02-28 21:20     ` patch 'doc: remove obsolete vector Tx explanations from mlx5 guide' " luca.boccassi
2022-02-28 21:20     ` patch 'doc: replace broken links in mlx guides' " luca.boccassi
2022-02-28 21:20     ` patch 'doc: correct name of BlueField-2 in mlx5 guide' " luca.boccassi
2022-02-28 21:20     ` patch 'net/i40e: fix unintentional integer overflow' " luca.boccassi
2022-02-28 21:20     ` patch 'app/testpmd: fix build without drivers' " luca.boccassi
2022-02-28 21:20     ` patch 'test/efd: fix sockets mask size' " luca.boccassi
2022-02-28 21:20     ` patch 'efd: fix uninitialized structure' " luca.boccassi
2022-02-28 21:20     ` patch 'distributor: fix potential overflow' " luca.boccassi
2022-02-28 21:20     ` patch 'eal/linux: fix illegal memory access in uevent handler' " luca.boccassi
2022-02-28 21:20     ` patch 'kni: fix freeing order in device release' " luca.boccassi
2022-03-09 16:30 ` patch 'app/compress-perf: fix cycle count operations allocation' " luca.boccassi
2022-03-09 16:30   ` patch 'app/compress-perf: optimize operations pool " luca.boccassi
2022-03-09 16:30   ` patch 'app/compress-perf: fix socket ID type during init' " luca.boccassi
2022-03-09 16:30   ` patch 'app/compress-perf: fix number of queue pairs to setup' " luca.boccassi
2022-03-09 16:30   ` patch 'compressdev: fix socket ID type' " luca.boccassi
2022-03-09 16:30   ` patch 'net/hns3: remove duplicate macro definition' " luca.boccassi
2022-03-09 16:30   ` patch 'net/hns3: fix RSS TC mode entry' " luca.boccassi
2022-03-09 16:30   ` patch 'net/hns3: fix VF " luca.boccassi
2022-03-09 16:30   ` patch 'net/hns3: increase time waiting for PF reset completion' " luca.boccassi
2022-03-09 16:30   ` patch 'net/ixgbe: fix FSP check for X550EM devices' " luca.boccassi
2022-03-09 16:30   ` patch 'net/iavf: fix function pointer in multi-process' " luca.boccassi
2022-03-09 16:30   ` patch 'common/mlx5: add Netlink event helpers' " luca.boccassi
2022-03-09 16:30   ` patch 'net/txgbe: fix queue statistics mapping' " luca.boccassi
2022-03-09 16:30   ` patch 'net/kni: fix config initialization' " luca.boccassi
2022-03-09 16:30   ` patch 'doc: fix typos and punctuation in flow API guide' " luca.boccassi
2022-03-09 16:30   ` patch 'net/mlx5: fix GRE item translation in Verbs' " luca.boccassi
2022-03-09 16:30   ` patch 'net/mlx5: fix matcher priority with ICMP or ICMPv6' " luca.boccassi
2022-03-09 16:30   ` patch 'net/ice: fix Tx offload path choice' " luca.boccassi
2022-03-09 16:30   ` patch 'examples/vhost: fix launch with physical port' " luca.boccassi
2022-03-09 16:30   ` patch 'raw/ifpga: fix variable initialization in probing' " luca.boccassi
2022-03-09 16:30   ` luca.boccassi [this message]
2022-03-09 16:30   ` patch 'app/pdump: abort on multi-core capture limit' " luca.boccassi
2022-03-09 16:30   ` patch 'examples/distributor: reduce Tx queue number to 1' " luca.boccassi
2022-03-09 16:30   ` patch 'examples/flow_classify: fix failure message' " luca.boccassi
2022-03-09 16:30   ` patch 'examples/kni: add missing trailing newline in log' " luca.boccassi
2022-03-09 16:30   ` patch 'regexdev: fix section attribute of symbols' " luca.boccassi
2022-03-09 16:30   ` patch 'ethdev: fix doxygen comments for device info struct' " luca.boccassi
2022-03-09 16:30   ` patch 'net/bnxt: fix null dereference in session cleanup' " luca.boccassi
2022-03-09 16:30   ` patch 'net/mlx5: fix inet IPIP protocol type' " luca.boccassi
2022-03-09 16:30   ` patch 'net/mlx5: fix next protocol RSS expansion' " luca.boccassi
2022-03-09 16:30   ` patch 'net/mlx5: fix shared RSS destroy' " luca.boccassi
2022-03-09 16:30   ` patch 'net/mlx5: fix NIC egress flow mismatch in switchdev mode' " luca.boccassi
2022-03-09 16:30   ` patch 'net/mlx5: fix modify port action validation' " luca.boccassi
2022-03-09 16:30   ` patch 'net/mlx5: remove unused reference counter' " luca.boccassi
2022-03-09 16:30   ` patch 'net/mlx5: fix MPLS/GRE Verbs spec ordering' " luca.boccassi
2022-03-09 16:30   ` patch 'net/iavf: fix potential out-of-bounds access' " luca.boccassi
2022-03-15 13:32 ` patch 'vhost: fix queue number check when setting inflight FD' " luca.boccassi
2022-03-15 13:32   ` patch 'vhost: fix FD leak with inflight messages' " luca.boccassi
2022-03-15 13:32   ` patch 'net/mlx5: fix sample flow action on trusted device' " luca.boccassi
2022-03-15 13:32   ` patch 'bpf: fix build with some libpcap version on FreeBSD' " luca.boccassi
2022-03-15 13:32   ` patch 'app/testpmd: fix show RSS RETA on Windows' " luca.boccassi
2022-03-15 13:32   ` patch 'examples/l3fwd: fix buffer overflow in Tx' " luca.boccassi
2022-03-15 13:32   ` patch 'eal/freebsd: add missing C++ include guards' " luca.boccassi
2022-03-15 13:32   ` patch 'compressdev: fix missing space in log macro' " luca.boccassi
2022-03-15 13:32   ` patch 'cryptodev: fix clang C++ include' " luca.boccassi
2022-03-17 12:06     ` patch 'net/mlx5: fix port matching in sample flow rule' " luca.boccassi
2022-03-17 12:06       ` patch 'doc: replace characters for (R) symbol in Linux guide' " luca.boccassi
2022-03-17 12:06       ` patch 'doc: fix missing note on UIO module " luca.boccassi
2022-03-17 12:06       ` patch 'raw/ifpga: fix build with optimization' " luca.boccassi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220309163053.245754-21-luca.boccassi@gmail.com \
    --to=luca.boccassi@gmail.com \
    --cc=stable@dpdk.org \
    --cc=tianfei.zhang@intel.com \
    --cc=wei.huang@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).