Control Structures in C

API Specification

enum dragonAffinity_t

Specifies where to locate resources at creation time.

Values:

enumerator DRAGON_AFFINITY_TO_CREATOR

Locate on the same node as the process requesting the resource

enumerator DRAGON_AFFINITY_ANYWHERE

Let the Dragon runtime automatically decide where to place a resource

enum dragonWaitMode_t

Wait Mode constants.

The mode of operation to use when waiting for an event on a resource. Idle waiting is appropriate for long waiting periods, lower power consumption, and when processor cores are over-subscribed. Spin waiting is appropriate for shorter duration waits and when latency and throughput is more important.

Values:

enumerator DRAGON_IDLE_WAIT

Lower power consumption with a litte more wakeup overhead.

enumerator DRAGON_SPIN_WAIT

Minimal wakeup overhead. More power consumption and contention.

enumerator DRAGON_ADAPTIVE_WAIT

Perhaps the best of both worlds.

struct dragonPolicy_t

Policies to apply to a resource at creation time.

Public Members

dragonAffinity_t placement

Where to place the resource

dragonWaitMode_t wait_type

The type of operation to use when waiting for an event

bool refcount

Apply global reference counting to the resource and cleanup the resource when the count drops to zero