projects
/
cascardo
/
linux.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
net/mlx5_core: Flow counters infrastructure
[cascardo/linux.git]
/
include
/
linux
/
mlx5
/
driver.h
diff --git
a/include/linux/mlx5/driver.h
b/include/linux/mlx5/driver.h
index
9613143
..
07b504f
100644
(file)
--- a/
include/linux/mlx5/driver.h
+++ b/
include/linux/mlx5/driver.h
@@
-41,6
+41,7
@@
#include <linux/slab.h>
#include <linux/vmalloc.h>
#include <linux/radix-tree.h>
#include <linux/slab.h>
#include <linux/vmalloc.h>
#include <linux/radix-tree.h>
+#include <linux/workqueue.h>
#include <linux/mlx5/device.h>
#include <linux/mlx5/doorbell.h>
#include <linux/mlx5/device.h>
#include <linux/mlx5/doorbell.h>
@@
-457,6
+458,17
@@
struct mlx5_irq_info {
char name[MLX5_MAX_IRQ_NAME];
};
char name[MLX5_MAX_IRQ_NAME];
};
+struct mlx5_fc_stats {
+ struct list_head list;
+ struct list_head addlist;
+ /* protect addlist add/splice operations */
+ spinlock_t addlist_lock;
+
+ struct workqueue_struct *wq;
+ struct delayed_work work;
+ unsigned long next_query;
+};
+
struct mlx5_eswitch;
struct mlx5_priv {
struct mlx5_eswitch;
struct mlx5_priv {
@@
-520,6
+532,8
@@
struct mlx5_priv {
struct mlx5_flow_root_namespace *fdb_root_ns;
struct mlx5_flow_root_namespace *esw_egress_root_ns;
struct mlx5_flow_root_namespace *esw_ingress_root_ns;
struct mlx5_flow_root_namespace *fdb_root_ns;
struct mlx5_flow_root_namespace *esw_egress_root_ns;
struct mlx5_flow_root_namespace *esw_ingress_root_ns;
+
+ struct mlx5_fc_stats fc_stats;
};
enum mlx5_device_state {
};
enum mlx5_device_state {