Lines Matching defs:xenvif_queue
135 struct xenvif_queue { /* Per-queue data for xenvif */ struct
136 unsigned int id; /* Queue ID, 0-based */
137 char name[QUEUE_NAME_SIZE]; /* DEVNAME-qN */
138 struct xenvif *vif; /* Parent VIF */
149 atomic_t eoi_pending;
155 struct napi_struct napi;
157 unsigned int tx_irq;
159 char tx_irq_name[IRQ_NAME_SIZE]; /* DEVNAME-qN-tx */
160 struct xen_netif_tx_back_ring tx;
161 struct sk_buff_head tx_queue;
162 struct page *mmap_pages[MAX_PENDING_REQS];
163 pending_ring_idx_t pending_prod;
164 pending_ring_idx_t pending_cons;
165 u16 pending_ring[MAX_PENDING_REQS];
166 struct pending_tx_info pending_tx_info[MAX_PENDING_REQS];
167 grant_handle_t grant_tx_handle[MAX_PENDING_REQS];
169 struct gnttab_copy tx_copy_ops[2 * MAX_PENDING_REQS];
170 struct gnttab_map_grant_ref tx_map_ops[MAX_PENDING_REQS];
171 struct gnttab_unmap_grant_ref tx_unmap_ops[MAX_PENDING_REQS];
173 struct page *pages_to_map[MAX_PENDING_REQS];
174 struct page *pages_to_unmap[MAX_PENDING_REQS];
177 spinlock_t callback_lock;
182 spinlock_t response_lock;
183 pending_ring_idx_t dealloc_prod;
184 pending_ring_idx_t dealloc_cons;
185 u16 dealloc_ring[MAX_PENDING_REQS];
186 struct task_struct *dealloc_task;
187 wait_queue_head_t dealloc_wq;
188 atomic_t inflight_packets;
191 struct task_struct *task;
192 wait_queue_head_t wq;
194 unsigned int rx_irq;
196 char rx_irq_name[IRQ_NAME_SIZE]; /* DEVNAME-qN-rx */
197 struct xen_netif_rx_back_ring rx;
198 struct sk_buff_head rx_queue;
200 unsigned int rx_queue_max;
201 unsigned int rx_queue_len;
202 unsigned long last_rx_time;
203 unsigned int rx_slots_needed;
204 bool stalled;
206 struct xenvif_copy_state rx_copy;
209 unsigned long credit_bytes;
210 unsigned long credit_usec;
211 unsigned long remaining_credit;
212 struct timer_list credit_timeout;
213 u64 credit_window_start;
214 bool rate_limited;
217 struct xenvif_stats stats;