#include <pcqueue.h>
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] |
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.
struct CircQueueStruct* CMK_SMP_volatile CircQueueStruct::next [read] |
char CircQueueStruct::_pad1[CMI_CACHE_LINE_SIZE-(sizeof(struct CircQueueStruct *)+sizeof(int))] |
char CircQueueStruct::_pad2[CMI_CACHE_LINE_SIZE-sizeof(int)] |
std::atomic<char *> CircQueueStruct::data[PCQueueSize] |
Definition at line 83 of file pcqueue.h.
Referenced by PCQueuePop(), PCQueuePush(), and PCQueueTop().
char* CircQueueStruct::data[PCQueueSize] |