PPL Logo

CircQueueStruct Struct Reference
[Converse Machine Layer]

The simple version of pcqueue has dropped the function of being expanded if the queue is full. More...

#include <pcqueue.h>

Collaboration diagram for CircQueueStruct:

Collaboration graph
[legend]

Data Fields

struct CircQueueStruct
*CMK_SMP_volatile 
next
int push
char _pad1 [CMI_CACHE_LINE_SIZE-(sizeof(struct CircQueueStruct *)+sizeof(int))]
int pull
char _pad2 [CMI_CACHE_LINE_SIZE-sizeof(int)]
std::atomic< char * > data [PCQueueSize]
char * data [PCQueueSize]

Detailed Description

The simple version of pcqueue has dropped the function of being expanded if the queue is full.

On one hand, each operation becomes simpler and has fewer memory accesses. On the other hand, the simple pcqueue is only for experimental usage.

Definition at line 73 of file pcqueue.h.


Field Documentation

struct CircQueueStruct* CMK_SMP_volatile CircQueueStruct::next [read]

Definition at line 75 of file pcqueue.h.

Referenced by PCQueueDestroy(), and PCQueuePush().

Definition at line 76 of file pcqueue.h.

Referenced by PCQueuePush().

char CircQueueStruct::_pad1[CMI_CACHE_LINE_SIZE-(sizeof(struct CircQueueStruct *)+sizeof(int))]

Definition at line 78 of file pcqueue.h.

Definition at line 80 of file pcqueue.h.

Referenced by PCQueuePop(), and PCQueueTop().

char CircQueueStruct::_pad2[CMI_CACHE_LINE_SIZE-sizeof(int)]

Definition at line 82 of file pcqueue.h.

std::atomic<char *> CircQueueStruct::data[PCQueueSize]

Definition at line 83 of file pcqueue.h.

Referenced by PCQueuePop(), PCQueuePush(), and PCQueueTop().

char* CircQueueStruct::data[PCQueueSize]

Definition at line 85 of file pcqueue.h.


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

Generated on Mon Sep 21 08:18:59 2020 for Charm++ by  doxygen 1.5.5