PPL Logo

conv-core/queueing.C File Reference

Implementation of queuing data structure functions. More...

Go to the source code of this file.

Typedefs

typedef CMK_MSG_PRIO_TYPE prio_t

Functions

static void CqsDeqInit (_deq d)
 Initialize a deq.
static void CqsDeqExpand (_deq d)
 Double the size of a deq.
void CqsDeqEnqueueFifo (_deq d, void *data)
 Insert a data pointer at the tail of a deq.
void CqsDeqEnqueueLifo (_deq d, void *data)
 Insert a data pointer at the head of a deq.
void * CqsDeqDequeue (_deq d)
 Remove a data pointer from the head of a deq.
static void CqsPrioqInit (_prioq pq)
 Initialize a Priority Queue.
static void CqsPrioqExpand (_prioq pq)
 Double the size of a Priority Queue's heap.
void CqsPrioqRehash (_prioq pq)
 Double the size of a Priority Queue's hash table.
int CqsPrioGT_ (unsigned int ints1, unsigned int *data1, unsigned int ints2, unsigned int *data2)
int CqsPrioGT (_prio prio1, _prio prio2)
 Compare two priorities (treated as unsigned).
_deq CqsPrioqGetDeq (_prioq pq, unsigned int priobits, unsigned int *priodata)
 Find or create a bucket in the hash table for the specified priority.
void * CqsPrioqDequeue (_prioq pq)
 Dequeue an entry.
Queue CqsCreate (void)
 Initialize a Queue and its three internal queues (for positive, negative, and zero priorities).
void CqsDelete (Queue)
 Delete a Queue.
unsigned int CqsMaxLength (Queue q)
unsigned int CqsLength (Queue q)
int CqsEmpty (Queue q)
void CqsEnqueueGeneral (Queue, void *msg, int strategy, int priobits, unsigned int *prioPtr)
 Enqueue something (usually an envelope*) into the queue in a manner consistent with the specified strategy and priority.
void CqsEnqueueFifo (Queue, void *msg)
 Enqueue behind other elements of priority 0.
void CqsEnqueueLifo (Queue, void *msg)
 Enqueue ahead of other elements of priority 0.
void CqsEnqueue (Queue, void *msg)
 Enqueue with priority 0.
void CqsDequeue (Queue, void **msgPtr)
 Retrieve the highest priority message (one with most negative priority).
_prio CqsGetPriority (Queue)
 Get the priority of the highest priority message in q.
void ** CqsEnumerateDeq (_deq q, int *num)
 Produce an array containing all the entries in a deq.
void ** CqsEnumeratePrioq (_prioq q, int *num)
 Produce an array containing all the entries in a prioq.
void CqsEnumerateQueue (Queue q, void ***resp)
 Produce an array containing all the entries in a Queue.
int CqsRemoveSpecificDeq (_deq q, const void *msgPtr)
 Remove first occurence of a specified entry from the deq by setting the entry to NULL.
int CqsRemoveSpecificPrioq (_prioq q, const void *msgPtr)
 Remove first occurence of a specified entry from the prioq by setting the entry to NULL.
void CqsRemoveSpecific (Queue, const void *msgPtr)
 Remove an occurence of a specified entry from the Queue by setting its entry to NULL.

Variables

int schedAdaptMemThresholdMB
 A memory limit threshold for adaptively scheduling.
static struct prio_struct kprio_zero = { 0, 0, {0} }
static struct prio_struct kprio_max = { 32, 1, {((unsigned int)(-1))} }
int numMemCriticalEntries = 0
intmemCriticalEntries = NULL


Detailed Description

Implementation of queuing data structure functions.

Definition in file queueing.C.


Typedef Documentation

typedef CMK_MSG_PRIO_TYPE prio_t

Definition at line 7 of file queueing.C.


Generated on Mon Sep 21 08:02:28 2020 for Charm++ by  doxygen 1.5.5