ALF trace events

The following shows the ALF trace events that are defined. In general, there are two trace hooks per API:
  • The first traces the input parameters
  • The second traces the output values as well as the time interval of the API call

ALF API hooks

Enabled with: TRACE_ALF_DEBUG.

Table 1. ALF debug hooks
Hook identifier Traced values
_ALF_DATASET_ASSOCIATE_ENTRY task_handle, dataset_handle
_ALF_DATASET_ASSOCIATE_EXIT_INTERVAL retcode
_ALF_DATASET_BUFFER_ADD_ENTRY dataset_handle, buffer, size, access_mode
_ALF_DATASET_BUFFER_ADD_EXIT_INTERVAL retcode
_ALF_DATASET_CREATE_ENTRY alf_handle, p_dataset_handle
_ALF_DATASET_CREATE_EXIT_INTERVAL dataset_handle, retcode
_ALF_DATASET_DESTROY_ENTRY dataset_handle
_ALF_DATASET_DESTROY_EXIT_INTERVAL retcode
_ALF_EXIT_ENTRY alf_handle, exit_policy, timeout
_ALF_EXIT_EXIT_INTERVAL retcode
_ALF_GENERIC_DEBUG long1, long2, long3, long4, long5, long6, long7, long8, long9, long10
_ALF_INIT_ENTRY sys_config_info, alf_handle_ptr
_ALF_INIT_EXIT_INTERVAL rtn
_ALF_NUM_INSTANCES_SET_ENTRY alf_handle, number_of_instances
_ALF_NUM_INSTANCES_SET_EXIT_INTERVAL retcode
_ALF_QUERY_SYSINFO_ENTRY alf_handle, query_info, accel_type, p_query_result
_ALF_QUERY_SYSINFO_EXIT_INTERVAL query_result, retcode
_ALF_REGISTER_ERROR_HANDLER_ENTRY alf_handle, error_handler_function, p_context
_ALF_REGISTER_ERROR_HANDLER_EXIT_INTERVAL retcode
_ALF_TASK_CREATE_ENTRY task_desc_handle, p_task_context_data, num_accelerators, tsk_attr, wb_dist_size, p_task_handle
_ALF_TASK_CREATE_EXIT_INTERVAL task_handle, retcode
_ALF_TASK_DEPENDS_ON_ENTRY task_handle_dependent, task_handle
_ALF_TASK_DEPENDS_ON_EXIT_INTERVAL retcode
_ALF_TASK_DESC_CREATE_ENTRY alf_handle, accel_type, task_desc_handle_ptr
_ALF_TASK_DESC_CREATE_EXIT_INTERVAL desc_info_handle, retcode
_ALF_TASK_DESC_CTX_ENTRY_ADD_ENTRY task_desc_handle, data_type, size
_ALF_TASK_DESC_CTX_ENTRY_ADD_EXIT_INTERVAL retcode
_ALF_TASK_DESC_DESTROY_ENTRY task_desc_handle
_ALF_TASK_DESC_DESTROY_EXIT_INTERVAL retcode
_ALF_TASK_DESC_SET_INT32_ENTRY task_desc_handle, field, value
_ALF_TASK_DESC_SET_INT32_EXIT_INTERVAL retcode
_ALF_TASK_DESC_SET_INT64_ENTRY task_desc_handle, field, value
_ALF_TASK_DESC_SET_INT64_EXIT_INTERVAL retcode
_ALF_TASK_DESTROY_ENTRY task_handle
_ALF_TASK_DESTROY_EXIT_INTERVAL retcode
_ALF_TASK_EVENT_HANDLER_REGISTER_ENTRY task_handle, task_event_handler, p_data, data_size, event_mask
_ALF_TASK_EVENT_HANDLER_REGISTER_EXIT_INTERVAL retcode
_ALF_TASK_FINALIZE_ENTRY task_handle
_ALF_TASK_FINALIZE_EXIT_INTERVAL retcode
_ALF_TASK_QUERY_ENTRY talk_handle, p_unfinished_wbs, p_total_wbs
_ALF_TASK_QUERY_EXIT_INTERVAL unfinished_wbs, total_wbs, retcode
_ALF_TASK_WAIT_ENTRY task_handle, time_out
_ALF_TASK_WAIT_EXIT_INTERVAL retcode
_ALF_WB_CREATE_ENTRY task_handle, work_block_type, repeat_count, p_wb_handle
_ALF_WB_CREATE_EXIT_INTERVAL wb_handle, retcode
_ALF_WB_DTL_SET_BEGIN_ENTRY wb_handle, buffer_type, offset_to_the_local_buffer
_ALF_WB_DTL_SET_BEGIN_EXIT_INTERVAL retcode
_ALF_WB_DTL_SET_END_ENTRY wb_handle
_ALF_WB_DTL_SET_END_EXIT_INTERVAL retcode
_ALF_WB_DTL_SET_ENTRY_ADD_ENTRY wb_handle, p_address, size_of_data, data_type
_ALF_WB_DTL_SET_ENTRY_ADD_EXIT_INTERVAL retcode
_ALF_WB_ENQUEUE_ENTRY wb_handle
_ALF_WB_ENQUEUE_EXIT_INTERVAL retcode
_ALF_WB_PARM_ADD_ENTRY wb_handle, pdata, size_of_data, data_type, address_alignment
_ALF_WB_PARM_ADD_EXIT_INTERVAL retcode

ALF performance hooks

These trace hooks are enabled by LIBALF_PERF group (0x08) in the config file.

The COUNTERS and TIMERS hooks contain data that is accumulated during the ALF calls. Currently, that data and these trace events will get reported at various ALF exit calls.

Table 2. ALF performance hooks
Hook Identifier Traced values
_ALF_GENERIC_PERFORM_HOST long1, long2, long3, long4, long5, long6, long7, long8, long9, long10
_ALF_GENERIC_PERFORM_SPU long1, long2, long3, long4, long5, long6, long7, long8, long9, long10
_ALF_HOST_COUNTERS alf_task_creates, alf_task_waits, alf_wb_enqueues, thread_total_count, thread_reuse_count, x
_ALF_HOST_TIMERS alf_runtime, alf_accel_utilize, x1, x2
_ALF_SPU_COUNTERS alf_input_bytes, alf_output_bytes, alf_workblock_total, double_buffer_used, x1, x2
_ALF_SPU_TIMERS alf_lqueue_empty, alf_wait_data_dtl, alf_prep_input_dtl, alf_prep_output_dtl, alf_compute_kernel, alf_spu_task_run, x1, x2
_ALF_TASK_BEFORE_EXEC_INTERVAL task_flag
_ALF_TASK_CONTEXT_MERGE_INTERVAL task_flag
_ALF_TASK_CONTEXT_SWAP_INTERVAL task_flag
_ALF_TASK_EXEC_INTERVAL task_flag
_ALF_THREAD_RUN_INTERVAL task_flag
_ALF_WAIT_FIRST_WB_INTERVAL task_flag, wb_flag, packet_flag
_ALF_WB_COMPUTE_KERNEL_INTERVAL task_flag, wb_flag, wb idx
_ALF_WB_DATA_TRANSFER_WAIT_INTERVAL task_flag, wb_flag, wb idx
_ALF_WB_DTL_PREPARE_IN_INTERVAL task_flag, wb_flag, wb idx
_ALF_WB_DTL_PREPARE_OUT_INTERVAL task_flag, wb_flag, wb idx
_ALF_WB_LQUEUE_EMPTY_INTERVAL task_flag, packet_flag

ALF SPU hooks

These trace hooks are enabled by LIBALF_SPU group (0x09) in the config file.

Table 3. ALF SPU hooks
Hook identifier Traced values
_ALF_ACCEL_COMP_KERNEL_ENTRY p_task_context, p_parm_ctx_buffer, p_input_buffer, p_output_buffer, p_inout_buffer, current_iter, num_iter
_ALF_ACCEL_COMP_KERNEL_EXIT retcode
_ALF_ACCEL_DTL_BEGIN_ENTRY p_dtl, buf_type, offset
_ALF_ACCEL_DTL_BEGIN_EXIT p_dtl, retcode
_ALF_ACCEL_DTL_END_ENTRY p_dtl
_ALF_ACCEL_DTL_END_EXIT _ retcode
_ALF_ACCEL_DTL_ENTRY_ADD_ENTRY p_dtl, data_size, data_type, p_host_address
_ALF_ACCEL_DTL_ENTRY_ADD_EXIT retcode
_ALF_ACCEL_INPUT_DTL_PREPARE_ENTRY p_task_context, p_parm_ctx_buffer, p_dtl, current_iter, num_iter
_ALF_ACCEL_INPUT_DTL_PREPARE_EXIT retcode
_ALF_ACCEL_NUM_INSTANCES retcode
_ALF_ACCEL_OUTPUT_DTL_PREPARE_ENTRY p_task_context, p_parm_ctx_buffer, p_io_container, current_iter, num_iter
_ALF_ACCEL_OUTPUT_DTL_PREPARE_EXIT retcode
_ALF_ACCEL_TASK_CONTEXT_MERGE_ENTRY p_task_context_to_be_merged, p_task_context
_ALF_ACCEL_TASK_CONTEXT_MERGE_EXIT retcode
_ALF_ACCEL_TASK_CONTEXT_SETUP_ENTRY p_task_context
_ALF_ACCEL_TASK_CONTEXT_SETUP_EXIT retcode
_ALF_INSTANCES_ID retcode
_ALF_SPE_GENERIC_DEBUG long1, long2, long3, long4, long5, long6, long7, long8, long9, long10