Lines Matching defs:buffer
23 * circular buffer.
38 * Store the event in the circular event buffer, wake up any sleeping
40 * There is no reader marker in the buffer, therefore readers are
45 struct event_buffer *buffer = sp->event_buffer;
52 /* copy the event into the next slot in the circular buffer */
53 event = &buffer->events[buffer->next_index];
56 event->serial_number = buffer->next_serial_number;
58 /* advance indices in the buffer */
59 buffer->next_index = (buffer->next_index + 1) % IBMASM_NUM_EVENTS;
60 buffer->next_serial_number++;
79 struct event_buffer *buffer = sp->event_buffer;
87 event_available(buffer, reader) || reader->cancelled))
90 if (!event_available(buffer, reader))
95 index = buffer->next_index;
96 event = &buffer->events[index];
99 event = &buffer->events[index];
138 struct event_buffer *buffer;
142 buffer = kmalloc(sizeof(struct event_buffer), GFP_KERNEL);
143 if (!buffer)
146 buffer->next_index = 0;
147 buffer->next_serial_number = 1;
149 event = buffer->events;
153 INIT_LIST_HEAD(&buffer->readers);
155 sp->event_buffer = buffer;