FreeBSD kernel BXE device code
ecore_exe_queue_obj Struct Reference

#include <ecore_sp.h>

Collaboration diagram for ecore_exe_queue_obj:

Data Fields

ecore_list_t exe_queue
 
ecore_list_t pending_comp
 
ECORE_MUTEX_SPIN lock
 
int exe_chunk_len
 
union ecore_qable_objowner
 
exe_q_validate validate
 
exe_q_remove remove
 
exe_q_optimize optimize
 
exe_q_execute execute
 
exe_q_get get
 

Detailed Description

Definition at line 652 of file ecore_sp.h.

Field Documentation

◆ exe_chunk_len

int ecore_exe_queue_obj::exe_chunk_len

Definition at line 662 of file ecore_sp.h.

Referenced by ecore_exe_queue_init(), and ecore_exe_queue_step().

◆ exe_queue

◆ execute

exe_q_execute ecore_exe_queue_obj::execute

Run the next commands chunk (owner specific).

Definition at line 694 of file ecore_sp.h.

Referenced by ecore_exe_queue_init(), and ecore_exe_queue_step().

◆ get

exe_q_get ecore_exe_queue_obj::get

Return the exe_queue element containing the specific command if any. Otherwise return NULL.

Definition at line 700 of file ecore_sp.h.

Referenced by ecore_exe_queue_init(), ecore_optimize_vlan_mac(), ecore_validate_vlan_mac_add(), ecore_validate_vlan_mac_del(), and ecore_validate_vlan_mac_move().

◆ lock

◆ optimize

exe_q_optimize ecore_exe_queue_obj::optimize

This will try to cancel the current pending commands list considering the new command.

Returns the number of optimized commands or a negative error code

Must run under exe_queue->lock

Definition at line 689 of file ecore_sp.h.

Referenced by ecore_exe_queue_add(), and ecore_exe_queue_init().

◆ owner

union ecore_qable_obj* ecore_exe_queue_obj::owner

◆ pending_comp

ecore_list_t ecore_exe_queue_obj::pending_comp

◆ remove

exe_q_remove ecore_exe_queue_obj::remove

Called before removing pending commands, cleaning allocated resources (e.g., credits from validate)

Definition at line 679 of file ecore_sp.h.

Referenced by ecore_exe_queue_init(), and ecore_vlan_mac_del_all().

◆ validate

exe_q_validate ecore_exe_queue_obj::validate

Called before commands execution for commands that are really going to be executed (after 'optimize').

Must run under exe_queue->lock

Definition at line 673 of file ecore_sp.h.

Referenced by ecore_exe_queue_add(), and ecore_exe_queue_init().


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