PPL Logo

__work_request Struct Reference
[Offload API]

WorkRequest is used to keep track of and access outstanding work requests. More...

#include <spert_ppu.h>

Collaboration diagram for __work_request:

Collaboration graph
[legend]

Data Fields

int isFirstInSet
 An internal flag that indicates this work request is the first element of an array of work requests (i.e. - work requests with this flag set should be free'd by the Offload API when CloseOffloadAPI() is called by the user).
int state
 An internal state that indicates the state of this work request data structure (free, in use, etc.).
unsigned int speAffinityMask
 An internal number that indicates this work request should be given to a spicific SPE.
int speIndex
 Index of the spe thread this work request was assigned to (-1 means not assigned yet or finished).
int entryIndex
 Index in the message queue this work request was assigned to (-1 means not assigned yet or finished).
int funcIndex
 User defined value used to indicated the action to be taken on the SPE.
void * readWritePtr
 Pointer to a single buffer that is DMAed into and out-of the SPE's local store before and after the work request is executed, respectively. For scatter/gather work requests, this actually points to the user's dma list in main memory. (Must be 16 byte aligned. 128 byte alignment is preferred.).
int readWriteLen
 Length (in bytes) of the buffer pointed to by readWritePtr. For scatter/gather work requests, this number is the number of DMAListEntry structures in the user's dma list that are read/write.
void * readOnlyPtr
 Pointer to a single buffer that is DMAed into the SPE's local store before the work request is executed. For scatter/gather work requests, this member contains the upper 32-bits of the effective addresses contained in the dma list. (Must be 16 byte aligned. 128 byte alignment is preferred.).
int readOnlyLen
 Length (in bytes) of the buffer pointed to by readOnlyPtr. For scatter/gather work requests, this number is the number of DMAListEntry structures in the user's dma list that are read-only.
void * writeOnlyPtr
 Pointer to a single buffer that is DMAed out-of the SPE's local store after the work request has been executed. An equal sized buffer will be provied to the funcLookup() function, which may be filled in by the user's code. Upon completion of the work request, the data will be DMAed into the buffer pointed to by this pointer. Not used for scatter/gather work requests. (Must be 16 byte aligned. 128 byte alignment is preferred.).
int writeOnlyLen
 Length (in bytes) of the buffer pointed to by writeOnlyPtr. For scatter/gather work requests, this number is the number of DMAListEntry structures in the user's dma list that are write-only.
unsigned int flags
 One or more WORK_REQUEST_FLAGS_xxx bitwise ORed together.
void * userData
 A user defined pointer that will be passed to the callback function.
volatile void(* callbackFunc )(void *)
DMAListEntry dmaList [SPE_DMA_LIST_LENGTH]
WRGroupHandle wrGroupHandle
 WRGroupHandle that this Work Request belongs to.
struct __work_requestnext
 Pointer to the next WRHandle in the linked list of WRHandles.
int id
int traceFlag

Detailed Description

WorkRequest is used to keep track of and access outstanding work requests.

Definition at line 133 of file spert_ppu.h.


Field Documentation

An internal flag that indicates this work request is the first element of an array of work requests (i.e. - work requests with this flag set should be free'd by the Offload API when CloseOffloadAPI() is called by the user).

Definition at line 135 of file spert_ppu.h.

An internal state that indicates the state of this work request data structure (free, in use, etc.).

Definition at line 136 of file spert_ppu.h.

An internal number that indicates this work request should be given to a spicific SPE.

Definition at line 137 of file spert_ppu.h.

Index of the spe thread this work request was assigned to (-1 means not assigned yet or finished).

Definition at line 139 of file spert_ppu.h.

Index in the message queue this work request was assigned to (-1 means not assigned yet or finished).

Definition at line 140 of file spert_ppu.h.

User defined value used to indicated the action to be taken on the SPE.

Definition at line 142 of file spert_ppu.h.

Pointer to a single buffer that is DMAed into and out-of the SPE's local store before and after the work request is executed, respectively. For scatter/gather work requests, this actually points to the user's dma list in main memory. (Must be 16 byte aligned. 128 byte alignment is preferred.).

Definition at line 143 of file spert_ppu.h.

Length (in bytes) of the buffer pointed to by readWritePtr. For scatter/gather work requests, this number is the number of DMAListEntry structures in the user's dma list that are read/write.

Definition at line 144 of file spert_ppu.h.

Pointer to a single buffer that is DMAed into the SPE's local store before the work request is executed. For scatter/gather work requests, this member contains the upper 32-bits of the effective addresses contained in the dma list. (Must be 16 byte aligned. 128 byte alignment is preferred.).

Definition at line 145 of file spert_ppu.h.

Length (in bytes) of the buffer pointed to by readOnlyPtr. For scatter/gather work requests, this number is the number of DMAListEntry structures in the user's dma list that are read-only.

Definition at line 146 of file spert_ppu.h.

Pointer to a single buffer that is DMAed out-of the SPE's local store after the work request has been executed. An equal sized buffer will be provied to the funcLookup() function, which may be filled in by the user's code. Upon completion of the work request, the data will be DMAed into the buffer pointed to by this pointer. Not used for scatter/gather work requests. (Must be 16 byte aligned. 128 byte alignment is preferred.).

Definition at line 147 of file spert_ppu.h.

Length (in bytes) of the buffer pointed to by writeOnlyPtr. For scatter/gather work requests, this number is the number of DMAListEntry structures in the user's dma list that are write-only.

Definition at line 148 of file spert_ppu.h.

One or more WORK_REQUEST_FLAGS_xxx bitwise ORed together.

Definition at line 149 of file spert_ppu.h.

A user defined pointer that will be passed to the callback function.

Definition at line 150 of file spert_ppu.h.

volatile void(* __work_request::callbackFunc)(void *)

DMAListEntry __work_request::dmaList[SPE_DMA_LIST_LENGTH]

Definition at line 153 of file spert_ppu.h.

WRGroupHandle that this Work Request belongs to.

Definition at line 155 of file spert_ppu.h.

Pointer to the next WRHandle in the linked list of WRHandles.

Definition at line 157 of file spert_ppu.h.

Definition at line 159 of file spert_ppu.h.

Definition at line 160 of file spert_ppu.h.


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

Generated on Sat May 26 08:08:21 2012 for Charm++ by  doxygen 1.5.5