12
12
uint32_t ring_buf_area_claim (struct ring_buf * buf , struct ring_buf_index * ring ,
13
13
uint8_t * * data , uint32_t size )
14
14
{
15
- uint32_t wrap_size ;
16
- int32_t base ;
15
+ uint32_t head_offset , wrap_size ;
17
16
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 )) {
21
19
/* ring->base is not yet adjusted */
22
- wrap_size -= buf -> size ;
23
- base += buf -> size ;
20
+ head_offset -= buf -> size ;
24
21
}
25
- wrap_size = buf -> size - wrap_size ;
22
+ wrap_size = buf -> size - head_offset ;
26
23
size = MIN (size , wrap_size );
27
24
28
- * data = & buf -> buffer [ring -> head - base ];
25
+ * data = & buf -> buffer [head_offset ];
29
26
ring -> head += size ;
30
27
31
28
return size ;
@@ -34,7 +31,7 @@ uint32_t ring_buf_area_claim(struct ring_buf *buf, struct ring_buf_index *ring,
34
31
int ring_buf_area_finish (struct ring_buf * buf , struct ring_buf_index * ring ,
35
32
uint32_t size )
36
33
{
37
- uint32_t claimed_size , wrap_size ;
34
+ uint32_t claimed_size , tail_offset ;
38
35
39
36
claimed_size = ring -> head - ring -> tail ;
40
37
if (unlikely (size > claimed_size )) {
@@ -44,8 +41,8 @@ int ring_buf_area_finish(struct ring_buf *buf, struct ring_buf_index *ring,
44
41
ring -> tail += size ;
45
42
ring -> head = ring -> tail ;
46
43
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 )) {
49
46
/* we wrapped: adjust ring->base */
50
47
ring -> base += buf -> size ;
51
48
}
0 commit comments