hc
2024-01-31 f9004dbfff8a3fbbd7e2a88c8a4327c7f2f8e5b2
kernel/include/net/gen_stats.h
....@@ -6,12 +6,17 @@
66 #include <linux/socket.h>
77 #include <linux/rtnetlink.h>
88 #include <linux/pkt_sched.h>
9
-#include <net/net_seq_lock.h>
9
+
10
+/* Note: this used to be in include/uapi/linux/gen_stats.h */
11
+struct gnet_stats_basic_packed {
12
+ __u64 bytes;
13
+ __u64 packets;
14
+};
1015
1116 struct gnet_stats_basic_cpu {
1217 struct gnet_stats_basic_packed bstats;
1318 struct u64_stats_sync syncp;
14
-};
19
+} __aligned(2 * sizeof(u64));
1520
1621 struct net_rate_estimator;
1722
....@@ -37,12 +42,16 @@
3742 spinlock_t *lock, struct gnet_dump *d,
3843 int padattr);
3944
40
-int gnet_stats_copy_basic(net_seqlock_t *running,
45
+int gnet_stats_copy_basic(const seqcount_t *running,
4146 struct gnet_dump *d,
4247 struct gnet_stats_basic_cpu __percpu *cpu,
4348 struct gnet_stats_basic_packed *b);
44
-void __gnet_stats_copy_basic(net_seqlock_t *running,
49
+void __gnet_stats_copy_basic(const seqcount_t *running,
4550 struct gnet_stats_basic_packed *bstats,
51
+ struct gnet_stats_basic_cpu __percpu *cpu,
52
+ struct gnet_stats_basic_packed *b);
53
+int gnet_stats_copy_basic_hw(const seqcount_t *running,
54
+ struct gnet_dump *d,
4655 struct gnet_stats_basic_cpu __percpu *cpu,
4756 struct gnet_stats_basic_packed *b);
4857 int gnet_stats_copy_rate_est(struct gnet_dump *d,
....@@ -61,13 +70,13 @@
6170 struct gnet_stats_basic_cpu __percpu *cpu_bstats,
6271 struct net_rate_estimator __rcu **rate_est,
6372 spinlock_t *lock,
64
- net_seqlock_t *running, struct nlattr *opt);
73
+ seqcount_t *running, struct nlattr *opt);
6574 void gen_kill_estimator(struct net_rate_estimator __rcu **ptr);
6675 int gen_replace_estimator(struct gnet_stats_basic_packed *bstats,
6776 struct gnet_stats_basic_cpu __percpu *cpu_bstats,
6877 struct net_rate_estimator __rcu **ptr,
6978 spinlock_t *lock,
70
- net_seqlock_t *running, struct nlattr *opt);
79
+ seqcount_t *running, struct nlattr *opt);
7180 bool gen_estimator_active(struct net_rate_estimator __rcu **ptr);
7281 bool gen_estimator_read(struct net_rate_estimator __rcu **ptr,
7382 struct gnet_stats_rate_est64 *sample);