Skip to content

Commit b97f11a

Browse files
Nicolas Pitrekartben
authored andcommitted
ring_buffer: simplify code some more
Some variable renaming made the code clearer, which in turn allowed for minor optimizations. Signed-off-by: Nicolas Pitre <npitre@baylibre.com>
1 parent fa73b8b commit b97f11a

File tree

1 file changed

+9
-12
lines changed

1 file changed

+9
-12
lines changed

lib/utils/ring_buffer.c

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -12,20 +12,17 @@
1212
uint32_t ring_buf_area_claim(struct ring_buf *buf, struct ring_buf_index *ring,
1313
uint8_t **data, uint32_t size)
1414
{
15-
uint32_t wrap_size;
16-
int32_t base;
15+
uint32_t head_offset, wrap_size;
1716

18-
base = ring->base;
19-
wrap_size = ring->head - base;
20-
if (unlikely(wrap_size >= buf->size)) {
17+
head_offset = ring->head - ring->base;
18+
if (unlikely(head_offset >= buf->size)) {
2119
/* ring->base is not yet adjusted */
22-
wrap_size -= buf->size;
23-
base += buf->size;
20+
head_offset -= buf->size;
2421
}
25-
wrap_size = buf->size - wrap_size;
22+
wrap_size = buf->size - head_offset;
2623
size = MIN(size, wrap_size);
2724

28-
*data = &buf->buffer[ring->head - base];
25+
*data = &buf->buffer[head_offset];
2926
ring->head += size;
3027

3128
return size;
@@ -34,7 +31,7 @@ uint32_t ring_buf_area_claim(struct ring_buf *buf, struct ring_buf_index *ring,
3431
int ring_buf_area_finish(struct ring_buf *buf, struct ring_buf_index *ring,
3532
uint32_t size)
3633
{
37-
uint32_t claimed_size, wrap_size;
34+
uint32_t claimed_size, tail_offset;
3835

3936
claimed_size = ring->head - ring->tail;
4037
if (unlikely(size > claimed_size)) {
@@ -44,8 +41,8 @@ int ring_buf_area_finish(struct ring_buf *buf, struct ring_buf_index *ring,
4441
ring->tail += size;
4542
ring->head = ring->tail;
4643

47-
wrap_size = ring->tail - ring->base;
48-
if (unlikely(wrap_size >= buf->size)) {
44+
tail_offset = ring->tail - ring->base;
45+
if (unlikely(tail_offset >= buf->size)) {
4946
/* we wrapped: adjust ring->base */
5047
ring->base += buf->size;
5148
}

0 commit comments

Comments
 (0)