Diff for /libelwix/inc/elwix/aring.h between versions 1.6.2.2 and 1.8

version 1.6.2.2, 2026/02/16 10:03:37 version 1.8, 2026/02/18 01:34:17
Line 54  typedef struct { Line 54  typedef struct {
                         int             rb_bufnum;                          int             rb_bufnum;
                         struct iovec    *rb_buffer;                          struct iovec    *rb_buffer;
 } ringbuf_t;  } ringbuf_t;
   #define rbuf_head(x)            atomic_load_explicit((atomic_int*) &(x)->rb_head, memory_order_relaxed)
   #define rbuf_tail(x)            atomic_load_explicit((atomic_int*) &(x)->rb_tail, memory_order_relaxed)
   #define rbuf_hptr(x)            ((x)->rb_buffer + rbuf_head((x)))
   #define rbuf_tptr(x)            ((x)->rb_buffer + rbuf_tail((x)))
   #define rbuf_ptr(x, n)          ((x)->rb_buffer + ((rbuf_tail((x)) + (n)) % (x)->rb_bufnum))
   #define rbuf_num(x)             ((x)->rb_bufnum)
   #define rbuf_getb(x)            ((x)->rb_buffer)
   #define rbuf_get(x, n)          *rbuf_ptr((x), (n))
   #define rbuf_isrewind(x)        (rbuf_head((x)) < rbuf_tail((x)))
   #define rbuf_queued(x, r)       do { \
                                           u_int _h, _t; \
                                           _t = atomic_load_explicit((atomic_int*) &(x)->rb_tail, memory_order_acquire); \
                                           _h = atomic_load_explicit((atomic_int*) &(x)->rb_head, memory_order_relaxed); \
                                           if (_h == _t) \
                                                   (r) = 0; \
                                           else \
                                                   (r) = (_h + (x)->rb_bufnum - _t) % (x)->rb_bufnum; \
                                   } while (0)
   #define rbuf_unused(x, r)       do { \
                                           u_int _r; \
                                           rbuf_queued((x), _r); \
                                           (r) = (x)->rb_bufnum - _r; \
                                   } while (0)
   
   
 typedef struct {  typedef struct {
         E_ATOMIC_ALIGN  unsigned int    lrb_head;          E_ATOMIC_ALIGN  unsigned int    lrb_head;

Removed from v.1.6.2.2  
changed lines
  Added in v.1.8


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>