Skip to content

Commit 32333ab

Browse files
committed
opal/accelerator: add destroy_event API
Introduce the destroy_event operation to properly release resources. Signed-off-by: Wenduo Wang <wenduwan@amazon.com>
1 parent 673b5f0 commit 32333ab

File tree

1 file changed

+15
-1
lines changed

1 file changed

+15
-1
lines changed

opal/mca/accelerator/accelerator.h

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -200,7 +200,8 @@ typedef int (*opal_accelerator_base_module_stream_wait_event_fn_t)(
200200
* Creates an event. An event is a synchronization marker that can be
201201
* appended to a stream to monitor device progress or synchronize the
202202
* corresponding stream. This function will allocate memory for the object.
203-
* To release the memory, call OBJ_RELEASE(*event);
203+
* To release the object memory and associated resources
204+
* call opal_accelerator_base_module_destroy_event_fn_t
204205
*
205206
* @param[IN] dev_id Associated device for the event or
206207
* MCA_ACCELERATOR_NO_DEVICE_ID
@@ -211,6 +212,18 @@ typedef int (*opal_accelerator_base_module_stream_wait_event_fn_t)(
211212
typedef int (*opal_accelerator_base_module_create_event_fn_t)(
212213
int dev_id, opal_accelerator_event_t **event);
213214

215+
/**
216+
* Destroys an event and release the object memory.
217+
* This function should return immediately, but the event may complete
218+
* and associated resources are released later.
219+
*
220+
* @param[IN] event Event to destroy
221+
*
222+
* @return OPAL_SUCCESS or error status on failure.
223+
*/
224+
typedef int (*opal_accelerator_base_module_destroy_event_fn_t)(
225+
opal_accelerator_event_t *event);
226+
214227
/**
215228
* Records an event on a stream. An event recorded on the stream is
216229
* a synchronization marker that can be used to monitor the device's
@@ -441,6 +454,7 @@ typedef struct {
441454
opal_accelerator_base_module_synchronize_stream_fn_t synchronize_stream;
442455
opal_accelerator_base_module_stream_wait_event_fn_t stream_wait_event;
443456
opal_accelerator_base_module_create_event_fn_t create_event;
457+
opal_accelerator_base_module_destroy_event_fn_t destroy_event;
444458
opal_accelerator_base_module_record_event_fn_t record_event;
445459
opal_accelerator_base_module_query_event_fn_t query_event;
446460

0 commit comments

Comments
 (0)