We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 818ad45 commit 08ee8aaCopy full SHA for 08ee8aa
ringbuffer/ringbuffer.c
@@ -56,6 +56,7 @@ typedef struct {
56
#define RING_SIZE_MASK (unsigned) (0x0fffffff) /**< Ring size mask */
57
#define ALIGN_FLOOR(val, align) \
58
(typeof(val))((val) & (~((typeof(val))((align) -1))))
59
+#define ALIGN_CEIL(val, align) (ALIGN_FLOOR((val) -1, align) + (align))
60
61
/**
62
* Calculate the memory size needed for a ring buffer.
@@ -80,7 +81,7 @@ ssize_t ringbuf_get_memsize(const unsigned count)
80
81
return -EINVAL;
82
83
ssize_t sz = sizeof(ringbuf_t) + count * sizeof(void *);
- sz = ALIGN_FLOOR(sz, CACHE_LINE_SIZE);
84
+ sz = ALIGN_CEIL(sz, CACHE_LINE_SIZE);
85
return sz;
86
}
87
0 commit comments