forked from ~ljy/RK356X_SDK_RELEASE

hc
2023-12-11 1f93a7dfd1f8d5ff7a5c53246c7534fe2332d6f4
kernel/include/net/gen_stats.h
....@@ -6,11 +6,18 @@
66 #include <linux/socket.h>
77 #include <linux/rtnetlink.h>
88 #include <linux/pkt_sched.h>
9
+#include <net/net_seq_lock.h>
10
+
11
+/* Note: this used to be in include/uapi/linux/gen_stats.h */
12
+struct gnet_stats_basic_packed {
13
+ __u64 bytes;
14
+ __u64 packets;
15
+};
916
1017 struct gnet_stats_basic_cpu {
1118 struct gnet_stats_basic_packed bstats;
1219 struct u64_stats_sync syncp;
13
-};
20
+} __aligned(2 * sizeof(u64));
1421
1522 struct net_rate_estimator;
1623
....@@ -36,12 +43,16 @@
3643 spinlock_t *lock, struct gnet_dump *d,
3744 int padattr);
3845
39
-int gnet_stats_copy_basic(const seqcount_t *running,
46
+int gnet_stats_copy_basic(net_seqlock_t *running,
4047 struct gnet_dump *d,
4148 struct gnet_stats_basic_cpu __percpu *cpu,
4249 struct gnet_stats_basic_packed *b);
43
-void __gnet_stats_copy_basic(const seqcount_t *running,
50
+void __gnet_stats_copy_basic(net_seqlock_t *running,
4451 struct gnet_stats_basic_packed *bstats,
52
+ struct gnet_stats_basic_cpu __percpu *cpu,
53
+ struct gnet_stats_basic_packed *b);
54
+int gnet_stats_copy_basic_hw(net_seqlock_t *running,
55
+ struct gnet_dump *d,
4556 struct gnet_stats_basic_cpu __percpu *cpu,
4657 struct gnet_stats_basic_packed *b);
4758 int gnet_stats_copy_rate_est(struct gnet_dump *d,
....@@ -60,13 +71,13 @@
6071 struct gnet_stats_basic_cpu __percpu *cpu_bstats,
6172 struct net_rate_estimator __rcu **rate_est,
6273 spinlock_t *lock,
63
- seqcount_t *running, struct nlattr *opt);
74
+ net_seqlock_t *running, struct nlattr *opt);
6475 void gen_kill_estimator(struct net_rate_estimator __rcu **ptr);
6576 int gen_replace_estimator(struct gnet_stats_basic_packed *bstats,
6677 struct gnet_stats_basic_cpu __percpu *cpu_bstats,
6778 struct net_rate_estimator __rcu **ptr,
6879 spinlock_t *lock,
69
- seqcount_t *running, struct nlattr *opt);
80
+ net_seqlock_t *running, struct nlattr *opt);
7081 bool gen_estimator_active(struct net_rate_estimator __rcu **ptr);
7182 bool gen_estimator_read(struct net_rate_estimator __rcu **ptr,
7283 struct gnet_stats_rate_est64 *sample);