#include <linux/if_xdp.h>
 #include <net/xdp_sock.h>
 
-#define RX_BATCH_SIZE 16
-
 struct xdp_ring {
        u32 producer ____cacheline_aligned_in_smp;
        u32 consumer ____cacheline_aligned_in_smp;
        if (q->cons_tail == q->cons_head) {
                smp_mb(); /* D, matches A */
                WRITE_ONCE(q->ring->consumer, q->cons_tail);
-               q->cons_head = q->cons_tail + xskq_nb_avail(q, RX_BATCH_SIZE);
+               q->cons_head = q->cons_tail + xskq_nb_avail(q, 1);
 
                /* Order consumer and data */
                smp_rmb();
        if (q->cons_tail == q->cons_head) {
                smp_mb(); /* D, matches A */
                WRITE_ONCE(q->ring->consumer, q->cons_tail);
-               q->cons_head = q->cons_tail + xskq_nb_avail(q, RX_BATCH_SIZE);
+               q->cons_head = q->cons_tail + xskq_nb_avail(q, 1);
 
                /* Order consumer and data */
                smp_rmb(); /* C, matches B */