On 03/21, Stephen Hemminger wrote: >On Thu, 21 Mar 2019 17:18:41 +0800 >Xiaolong Ye <xiaolong...@intel.com> wrote: > >> + >> +static inline int >> +reserve_fill_queue(struct xsk_umem_info *umem, int reserve_size) >> +{ >> + struct xsk_ring_prod *fq = &umem->fq; >> + uint32_t idx; >> + void *addr = NULL; >> + int i, ret; >> + >> + ret = xsk_ring_prod__reserve(fq, reserve_size, &idx); >> + if (!ret) { >> + RTE_LOG(ERR, AF_XDP, "Failed to reserve enough fq descs.\n"); >> + return ret; >> + } >> + >> + for (i = 0; i < reserve_size; i++) { >> + __u64 *fq_addr; >> + rte_ring_dequeue(umem->buf_ring, &addr); > >You should check return value of dequeue, otherwise static checkers will >(rightly) complain that "everyone else checks return value of of >rte_ring_dequeue() >why not here?"
Got it, will do.