sch_generic.h (38a4671cad3f0d277cf48445b49e42a475ebfb6a) | sch_generic.h (45203a3b380cee28f570475c0d28c169f908c209) |
---|---|
1#ifndef __NET_SCHED_GENERIC_H 2#define __NET_SCHED_GENERIC_H 3 4#include <linux/netdevice.h> 5#include <linux/types.h> 6#include <linux/rcupdate.h> 7#include <linux/pkt_sched.h> 8#include <linux/pkt_cls.h> --- 44 unchanged lines hidden (view full) --- 53#define TCQ_F_ONETXQUEUE 0x10 /* dequeue_skb() can assume all skbs are for 54 * q->dev_queue : It can test 55 * netif_xmit_frozen_or_stopped() before 56 * dequeueing next packet. 57 * Its true for MQ/MQPRIO slaves, or non 58 * multiqueue device. 59 */ 60#define TCQ_F_WARN_NONWC (1 << 16) | 1#ifndef __NET_SCHED_GENERIC_H 2#define __NET_SCHED_GENERIC_H 3 4#include <linux/netdevice.h> 5#include <linux/types.h> 6#include <linux/rcupdate.h> 7#include <linux/pkt_sched.h> 8#include <linux/pkt_cls.h> --- 44 unchanged lines hidden (view full) --- 53#define TCQ_F_ONETXQUEUE 0x10 /* dequeue_skb() can assume all skbs are for 54 * q->dev_queue : It can test 55 * netif_xmit_frozen_or_stopped() before 56 * dequeueing next packet. 57 * Its true for MQ/MQPRIO slaves, or non 58 * multiqueue device. 59 */ 60#define TCQ_F_WARN_NONWC (1 << 16) |
61 int padded; | 61 u32 limit; |
62 const struct Qdisc_ops *ops; 63 struct qdisc_size_table __rcu *stab; 64 struct list_head list; 65 u32 handle; 66 u32 parent; | 62 const struct Qdisc_ops *ops; 63 struct qdisc_size_table __rcu *stab; 64 struct list_head list; 65 u32 handle; 66 u32 parent; |
67 atomic_t refcnt; 68 struct gnet_stats_rate_est rate_est; | |
69 int (*reshape_fail)(struct sk_buff *skb, 70 struct Qdisc *q); 71 72 void *u32_node; 73 74 /* This field is deprecated, but it is still used by CBQ 75 * and it will live until better solution will be invented. 76 */ 77 struct Qdisc *__parent; 78 struct netdev_queue *dev_queue; | 67 int (*reshape_fail)(struct sk_buff *skb, 68 struct Qdisc *q); 69 70 void *u32_node; 71 72 /* This field is deprecated, but it is still used by CBQ 73 * and it will live until better solution will be invented. 74 */ 75 struct Qdisc *__parent; 76 struct netdev_queue *dev_queue; |
79 struct Qdisc *next_sched; | |
80 | 77 |
78 struct gnet_stats_rate_est64 rate_est; 79 struct Qdisc *next_sched; |
|
81 struct sk_buff *gso_skb; 82 /* 83 * For performance sake on SMP, we put highly modified fields at the end 84 */ 85 unsigned long state; 86 struct sk_buff_head q; 87 struct gnet_stats_basic_packed bstats; 88 unsigned int __state; 89 struct gnet_stats_queue qstats; 90 struct rcu_head rcu_head; | 80 struct sk_buff *gso_skb; 81 /* 82 * For performance sake on SMP, we put highly modified fields at the end 83 */ 84 unsigned long state; 85 struct sk_buff_head q; 86 struct gnet_stats_basic_packed bstats; 87 unsigned int __state; 88 struct gnet_stats_queue qstats; 89 struct rcu_head rcu_head; |
91 spinlock_t busylock; 92 u32 limit; | 90 int padded; 91 atomic_t refcnt; 92 93 spinlock_t busylock ____cacheline_aligned_in_smp; |
93}; 94 95static inline bool qdisc_is_running(const struct Qdisc *qdisc) 96{ 97 return (qdisc->__state & __QDISC___STATE_RUNNING) ? true : false; 98} 99 100static inline bool qdisc_run_begin(struct Qdisc *qdisc) --- 604 unchanged lines hidden --- | 94}; 95 96static inline bool qdisc_is_running(const struct Qdisc *qdisc) 97{ 98 return (qdisc->__state & __QDISC___STATE_RUNNING) ? true : false; 99} 100 101static inline bool qdisc_run_begin(struct Qdisc *qdisc) --- 604 unchanged lines hidden --- |