Lines Matching refs:buffer
12 * Records that new data landed in the AUX buffer part.
24 * Indicates an error during AUXTRACE collection such as buffer overflow.
62 * control many auxtrace_buffers and each buffer can be quite large, the
63 * auxtrace buffer might be processed only partially. In this case the
185 struct auxtrace_buffer *buffer;
430 /* Dump an auxiliary buffer. These buffers are multiple of
582 * (see buffer->use_data and buffer->use_size).
603 unsigned char *buf = sfq->buffer->use_data;
604 size_t len = sfq->buffer->use_size;
619 * time stamp of the first entry is too high, whole buffer
625 (s64)sfq->buffer->data_offset);
660 sfq->buffer->use_data += pos;
661 sfq->buffer->use_size -= pos;
668 sfq->buffer->use_size = 0;
669 sfq->buffer->use_data = NULL;
674 * Select the queue buffer to operate on, the caller already selected
680 * Resume processing in the current buffer. If there is no buffer
681 * get a new buffer from the queue and setup start position for
683 * When a buffer is completely processed remove it from the queue
690 * <0: Error during queue buffer setup. This causes the caller
697 struct auxtrace_buffer *buffer;
703 /* Get buffer and last position in buffer to resume
704 * decoding the auxiliary entries. One buffer might be large
709 if (sfq->buffer == NULL) {
710 sfq->buffer = buffer = auxtrace_buffer__next(queue,
711 sfq->buffer);
712 if (!buffer) {
716 /* Start with a new buffer on this queue */
717 if (buffer->data) {
718 buffer->use_size = buffer->size;
719 buffer->use_data = buffer->data;
722 size_t rc = fwrite(buffer->data, buffer->size, 1,
728 buffer = sfq->buffer;
730 if (!buffer->data) {
733 buffer->data = auxtrace_buffer__get_data(buffer, fd);
734 if (!buffer->data)
736 buffer->use_size = buffer->size;
737 buffer->use_data = buffer->data;
740 size_t rc = fwrite(buffer->data, buffer->size, 1,
746 pr_debug4("%s queue_nr:%d buffer:%" PRId64 " offset:%#" PRIx64 " size:%#zx rest:%#zx\n",
747 __func__, sfq->queue_nr, buffer->buffer_nr, buffer->offset,
748 buffer->size, buffer->use_size);
751 /* If non-zero, there is either an error (err < 0) or the buffer is
754 * the next buffer.
758 sfq->buffer = NULL;
759 list_del_init(&buffer->list);
760 auxtrace_buffer__free(buffer);
970 struct auxtrace_buffer *buffer;
986 data_offset, &buffer);
992 if (auxtrace_buffer__get_data(buffer, fd)) {
993 s390_cpumsf_dump_event(sf, buffer->data,
994 buffer->size);
995 auxtrace_buffer__put_data(buffer);