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 */
152 atomic_t eoi_pending;
158 struct napi_struct napi;
160 unsigned int tx_irq;
162 char tx_irq_name[IRQ_NAME_SIZE]; /* DEVNAME-qN-tx */
163 struct xen_netif_tx_back_ring tx;
164 struct sk_buff_head tx_queue;
165 struct page *mmap_pages[MAX_PENDING_REQS];
166 pending_ring_idx_t pending_prod;
167 pending_ring_idx_t pending_cons;
168 u16 pending_ring[MAX_PENDING_REQS];
169 struct pending_tx_info pending_tx_info[MAX_PENDING_REQS];
170 grant_handle_t grant_tx_handle[MAX_PENDING_REQS];
172 struct gnttab_copy tx_copy_ops[MAX_PENDING_REQS];
173 struct gnttab_map_grant_ref tx_map_ops[MAX_PENDING_REQS];
174 struct gnttab_unmap_grant_ref tx_unmap_ops[MAX_PENDING_REQS];
176 struct page *pages_to_map[MAX_PENDING_REQS];
177 struct page *pages_to_unmap[MAX_PENDING_REQS];
180 spinlock_t callback_lock;
185 spinlock_t response_lock;
186 pending_ring_idx_t dealloc_prod;
187 pending_ring_idx_t dealloc_cons;
188 u16 dealloc_ring[MAX_PENDING_REQS];
189 struct task_struct *dealloc_task;
190 wait_queue_head_t dealloc_wq;
191 atomic_t inflight_packets;
194 struct task_struct *task;
195 wait_queue_head_t wq;
197 unsigned int rx_irq;
199 char rx_irq_name[IRQ_NAME_SIZE]; /* DEVNAME-qN-rx */
200 struct xen_netif_rx_back_ring rx;
201 struct sk_buff_head rx_queue;
203 unsigned int rx_queue_max;
204 unsigned int rx_queue_len;
205 unsigned long last_rx_time;
206 bool stalled;
208 struct xenvif_copy_state rx_copy;
211 unsigned long credit_bytes;
212 unsigned long credit_usec;
213 unsigned long remaining_credit;
214 struct timer_list credit_timeout;
215 u64 credit_window_start;
216 bool rate_limited;
219 struct xenvif_stats stats;