static
void lib_ring_buffer_print_errors(struct channel *chan,
struct lib_ring_buffer *buf, int cpu,
static
void lib_ring_buffer_print_errors(struct channel *chan,
struct lib_ring_buffer *buf, int cpu,
/*
* Must be called under cpu hotplug protection.
*/
void lib_ring_buffer_free(struct lib_ring_buffer *buf,
/*
* Must be called under cpu hotplug protection.
*/
void lib_ring_buffer_free(struct lib_ring_buffer *buf,
* current iterator record is reset.
*/
void lib_ring_buffer_reset(struct lib_ring_buffer *buf,
* current iterator record is reset.
*/
void lib_ring_buffer_reset(struct lib_ring_buffer *buf,
{
struct channel *chan = shmp(handle, buf->backend.chan);
const struct lib_ring_buffer_config *config = &chan->backend.config;
{
struct channel *chan = shmp(handle, buf->backend.chan);
const struct lib_ring_buffer_config *config = &chan->backend.config;
*/
int lib_ring_buffer_create(struct lib_ring_buffer *buf,
struct channel_backend *chanb, int cpu,
*/
int lib_ring_buffer_create(struct lib_ring_buffer *buf,
struct channel_backend *chanb, int cpu,
{
struct channel *chan = shmp(handle, buf->backend.chan);
//const struct lib_ring_buffer_config *config = &chan->backend.config;
{
struct channel *chan = shmp(handle, buf->backend.chan);
//const struct lib_ring_buffer_config *config = &chan->backend.config;
{
struct channel *chan = shmp(handle, buf->backend.chan);
const struct lib_ring_buffer_config *config = &chan->backend.config;
{
struct channel *chan = shmp(handle, buf->backend.chan);
const struct lib_ring_buffer_config *config = &chan->backend.config;
{
struct channel *chan = shmp(handle, buf->backend.chan);
const struct lib_ring_buffer_config *config = &chan->backend.config;
{
struct channel *chan = shmp(handle, buf->backend.chan);
const struct lib_ring_buffer_config *config = &chan->backend.config;
const char *name, void *priv, void *buf_addr,
size_t subbuf_size,
size_t num_subbuf, unsigned int switch_timer_interval,
const char *name, void *priv, void *buf_addr,
size_t subbuf_size,
size_t num_subbuf, unsigned int switch_timer_interval,
int shm_fd, int wait_fd, uint64_t memory_map_size)
{
struct shm_object *object;
int shm_fd, int wait_fd, uint64_t memory_map_size)
{
struct shm_object *object;
struct lib_ring_buffer *channel_get_ring_buffer(
const struct lib_ring_buffer_config *config,
struct channel *chan, int cpu,
struct lib_ring_buffer *channel_get_ring_buffer(
const struct lib_ring_buffer_config *config,
struct channel *chan, int cpu,
int *shm_fd, int *wait_fd,
uint64_t *memory_map_size)
{
int *shm_fd, int *wait_fd,
uint64_t *memory_map_size)
{
int lib_ring_buffer_snapshot(struct lib_ring_buffer *buf,
unsigned long *consumed, unsigned long *produced,
int lib_ring_buffer_snapshot(struct lib_ring_buffer *buf,
unsigned long *consumed, unsigned long *produced,
{
struct channel *chan = shmp(handle, buf->backend.chan);
const struct lib_ring_buffer_config *config = &chan->backend.config;
{
struct channel *chan = shmp(handle, buf->backend.chan);
const struct lib_ring_buffer_config *config = &chan->backend.config;
*/
void lib_ring_buffer_move_consumer(struct lib_ring_buffer *buf,
unsigned long consumed_new,
*/
void lib_ring_buffer_move_consumer(struct lib_ring_buffer *buf,
unsigned long consumed_new,
{
struct lib_ring_buffer_backend *bufb = &buf->backend;
struct channel *chan = shmp(handle, bufb->chan);
{
struct lib_ring_buffer_backend *bufb = &buf->backend;
struct channel *chan = shmp(handle, bufb->chan);
{
struct channel *chan = shmp(handle, buf->backend.chan);
const struct lib_ring_buffer_config *config = &chan->backend.config;
{
struct channel *chan = shmp(handle, buf->backend.chan);
const struct lib_ring_buffer_config *config = &chan->backend.config;
{
struct lib_ring_buffer_backend *bufb = &buf->backend;
struct channel *chan = shmp(handle, bufb->chan);
{
struct lib_ring_buffer_backend *bufb = &buf->backend;
struct channel *chan = shmp(handle, bufb->chan);
{
const struct lib_ring_buffer_config *config = &chan->backend.config;
unsigned long cons_idx, commit_count, commit_count_sb;
{
const struct lib_ring_buffer_config *config = &chan->backend.config;
unsigned long cons_idx, commit_count, commit_count_sb;
{
const struct lib_ring_buffer_config *config = &chan->backend.config;
unsigned long write_offset, cons_offset;
{
const struct lib_ring_buffer_config *config = &chan->backend.config;
unsigned long write_offset, cons_offset;
static
void lib_ring_buffer_print_errors(struct channel *chan,
struct lib_ring_buffer *buf, int cpu,
static
void lib_ring_buffer_print_errors(struct channel *chan,
struct lib_ring_buffer *buf, int cpu,
{
const struct lib_ring_buffer_config *config = &chan->backend.config;
void *priv = chan->backend.priv;
{
const struct lib_ring_buffer_config *config = &chan->backend.config;
void *priv = chan->backend.priv;
{
const struct lib_ring_buffer_config *config = &chan->backend.config;
unsigned long oldidx = subbuf_index(offsets->old, chan);
{
const struct lib_ring_buffer_config *config = &chan->backend.config;
unsigned long oldidx = subbuf_index(offsets->old, chan);
{
const struct lib_ring_buffer_config *config = &chan->backend.config;
unsigned long oldidx = subbuf_index(offsets->old - 1, chan);
{
const struct lib_ring_buffer_config *config = &chan->backend.config;
unsigned long oldidx = subbuf_index(offsets->old - 1, chan);
{
const struct lib_ring_buffer_config *config = &chan->backend.config;
unsigned long beginidx = subbuf_index(offsets->begin, chan);
{
const struct lib_ring_buffer_config *config = &chan->backend.config;
unsigned long beginidx = subbuf_index(offsets->begin, chan);
{
const struct lib_ring_buffer_config *config = &chan->backend.config;
unsigned long endidx = subbuf_index(offsets->end - 1, chan);
{
const struct lib_ring_buffer_config *config = &chan->backend.config;
unsigned long endidx = subbuf_index(offsets->end - 1, chan);
{
struct channel *chan = shmp(handle, buf->backend.chan);
const struct lib_ring_buffer_config *config = &chan->backend.config;
{
struct channel *chan = shmp(handle, buf->backend.chan);
const struct lib_ring_buffer_config *config = &chan->backend.config;
struct lib_ring_buffer_ctx *ctx)
{
const struct lib_ring_buffer_config *config = &chan->backend.config;
struct lib_ring_buffer_ctx *ctx)
{
const struct lib_ring_buffer_config *config = &chan->backend.config;
unsigned long reserve_commit_diff;
offsets->begin = v_read(config, &buf->offset);
unsigned long reserve_commit_diff;
offsets->begin = v_read(config, &buf->offset);
const struct lib_ring_buffer_config *config = &chan->backend.config;
struct lib_ring_buffer *buf;
struct switch_offsets offsets;
const struct lib_ring_buffer_config *config = &chan->backend.config;
struct lib_ring_buffer *buf;
struct switch_offsets offsets;