Lines Matching defs:xenvif_queue
138 struct xenvif_queue { /* Per-queue data for xenvif */ struct
139 unsigned int id; /* Queue ID, 0-based */
140 char name[QUEUE_NAME_SIZE]; /* DEVNAME-qN */
141 struct xenvif *vif; /* Parent VIF */
144 struct napi_struct napi;
146 unsigned int tx_irq;
148 char tx_irq_name[IRQ_NAME_SIZE]; /* DEVNAME-qN-tx */
149 struct xen_netif_tx_back_ring tx;
150 struct sk_buff_head tx_queue;
151 struct page *mmap_pages[MAX_PENDING_REQS];
152 pending_ring_idx_t pending_prod;
153 pending_ring_idx_t pending_cons;
154 u16 pending_ring[MAX_PENDING_REQS];
155 struct pending_tx_info pending_tx_info[MAX_PENDING_REQS];
156 grant_handle_t grant_tx_handle[MAX_PENDING_REQS];
158 struct gnttab_copy tx_copy_ops[MAX_PENDING_REQS];
159 struct gnttab_map_grant_ref tx_map_ops[MAX_PENDING_REQS];
160 struct gnttab_unmap_grant_ref tx_unmap_ops[MAX_PENDING_REQS];
162 struct page *pages_to_map[MAX_PENDING_REQS];
163 struct page *pages_to_unmap[MAX_PENDING_REQS];
166 spinlock_t callback_lock;
171 spinlock_t response_lock;
172 pending_ring_idx_t dealloc_prod;
173 pending_ring_idx_t dealloc_cons;
174 u16 dealloc_ring[MAX_PENDING_REQS];
175 struct task_struct *dealloc_task;
176 wait_queue_head_t dealloc_wq;
177 atomic_t inflight_packets;
180 struct task_struct *task;
181 wait_queue_head_t wq;
183 unsigned int rx_irq;
185 char rx_irq_name[IRQ_NAME_SIZE]; /* DEVNAME-qN-rx */
186 struct xen_netif_rx_back_ring rx;
187 struct sk_buff_head rx_queue;
189 unsigned int rx_queue_max;
190 unsigned int rx_queue_len;
191 unsigned long last_rx_time;
192 bool stalled;
194 struct xenvif_copy_state rx_copy;
197 unsigned long credit_bytes;
198 unsigned long credit_usec;
199 unsigned long remaining_credit;
200 struct timer_list credit_timeout;
201 u64 credit_window_start;
202 bool rate_limited;
205 struct xenvif_stats stats;