Motr  M0
m0_addb2_mach Struct Reference
Collaboration diagram for m0_addb2_mach:
Collaboration graph

Data Fields

struct tentry ma_label [M0_ADDB2_LABEL_MAX]
 
struct bufferma_cur
 
struct m0_tl ma_idle
 
m0_bcount_t ma_idle_nr
 
struct m0_tl ma_busy
 
m0_bcount_t ma_busy_nr
 
uint32_t ma_nesting
 
bool ma_stopping
 
const struct m0_addb2_mach_opsma_ops
 
struct m0_mutex ma_lock
 
struct m0_addb2_source ma_src
 
struct m0_addb2_record ma_rec
 
void * ma_cookie
 
struct m0_semaphore ma_idlewait
 
struct m0_tlink ma_linkage
 
m0_time_t ma_packed
 
unsigned ma_sensor_skip
 
uint64_t ma_magix
 
char ma_name [100]
 
char ma_last [100]
 

Detailed Description

Addb2 machine.

Definition at line 231 of file addb2.c.

Field Documentation

◆ ma_busy

struct m0_tl ma_busy

The list of buffers submitted for processing (by calling m0_addb2_mach_ops::apo_submit()).

The current buffer gets to this list when it becomes full (pack()).

A buffers gets off this list when m0_addb2_trace_done() is called against it.

Definition at line 262 of file addb2.c.

◆ ma_busy_nr

m0_bcount_t ma_busy_nr

Length of the busy list.

Definition at line 266 of file addb2.c.

◆ ma_cookie

void* ma_cookie

Opaque cookie, passed to m0_addb2_mach_init() and returned by m0_addb2_cookie().

Definition at line 303 of file addb2.c.

◆ ma_cur

struct buffer* ma_cur

The current buffer.

Definition at line 239 of file addb2.c.

◆ ma_idle

struct m0_tl ma_idle

The list of buffers ready to be used.

A buffer gets to this list when it is newly allocated (buffer_alloc()).

A buffer gets off this list when it becomes current (mach_buffer()).

Definition at line 248 of file addb2.c.

◆ ma_idle_nr

m0_bcount_t ma_idle_nr

Length of the idle list.

Definition at line 252 of file addb2.c.

◆ ma_idlewait

struct m0_semaphore ma_idlewait

Semaphore upped when the machine becomes idle.

Definition at line 307 of file addb2.c.

◆ ma_label

struct tentry ma_label[M0_ADDB2_LABEL_MAX]

The current label stack context.

Definition at line 235 of file addb2.c.

◆ ma_last

char ma_last[100]

Definition at line 326 of file addb2.c.

◆ ma_linkage

struct m0_tlink ma_linkage

Linkage into mach_tlist used by sys.c.

Definition at line 311 of file addb2.c.

◆ ma_lock

struct m0_mutex ma_lock

Protects buffer lists.

This lock is acquired relatively rarely, when a buffer becomes full, or when buffer processing completes.

Definition at line 285 of file addb2.c.

◆ ma_magix

uint64_t ma_magix

Definition at line 323 of file addb2.c.

◆ ma_name

char ma_name[100]

Definition at line 325 of file addb2.c.

◆ ma_nesting

uint32_t ma_nesting

Greater than 0 iff an operation (add, push, pop, sensor) is currently underway for the machine.

This is used to detect and suppress nested addb2 invocations.

Definition at line 273 of file addb2.c.

◆ ma_ops

const struct m0_addb2_mach_ops* ma_ops

Definition at line 278 of file addb2.c.

◆ ma_packed

m0_time_t ma_packed

Time when current trace was last packed.

Definition at line 315 of file addb2.c.

◆ ma_rec

struct m0_addb2_record ma_rec

The "current record". This is used for delivery to online CONSUMERS.

Note
mach->ma_label[i].e_recval == &mach->ma_rec.ar_label[i]

Definition at line 298 of file addb2.c.

◆ ma_sensor_skip

unsigned ma_sensor_skip

The number of sensors to skip when creating a new buffer. This is used to limit the amount of buffer space consumed by sensors.

See also
mach_buffer(), SENSOR_THRESHOLD.

Definition at line 322 of file addb2.c.

◆ ma_src

struct m0_addb2_source ma_src

This machine as a source of addb2 records. Online CONSUMERS register with this.

See also
m0_addb2_mach_source().

Definition at line 292 of file addb2.c.

◆ ma_stopping

bool ma_stopping

True when an attempt to stop the machine is underway.

Definition at line 277 of file addb2.c.


The documentation for this struct was generated from the following file: