Spdk/lib/thread/spdk_thread.map
Jim Harris 090b8af12b thread: add spdk_thread_get_app_thread
The "app thread" will always be the first
thread created using spdk_thread_create().  There
are many operations throughout SPDK that implicitly
expect to happen in the context of this app thread,
so by formalizing it we can start to make assertions
on this to help clarify and simplify locking and
synchronization through the code base.

Signed-off-by: Jim Harris <james.r.harris@intel.com>
Change-Id: I7133b58c311710f1d132ee5f09500ffeb4168b15
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/15497
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
2022-11-23 08:22:04 +00:00

80 lines
2.0 KiB
Plaintext

{
global:
# public functions in spdk/thread.h
spdk_thread_lib_init;
spdk_thread_lib_init_ext;
spdk_thread_lib_fini;
spdk_thread_create;
spdk_thread_get_app_thread;
spdk_set_thread;
spdk_thread_exit;
spdk_thread_is_exited;
spdk_thread_destroy;
spdk_thread_get_ctx;
spdk_thread_get_cpumask;
spdk_thread_set_cpumask;
spdk_thread_get_from_ctx;
spdk_thread_poll;
spdk_thread_next_poller_expiration;
spdk_thread_has_active_pollers;
spdk_thread_has_pollers;
spdk_thread_is_idle;
spdk_thread_get_count;
spdk_get_thread;
spdk_thread_get_name;
spdk_thread_get_id;
spdk_thread_get_by_id;
spdk_thread_get_stats;
spdk_thread_get_last_tsc;
spdk_thread_send_msg;
spdk_thread_send_critical_msg;
spdk_for_each_thread;
spdk_thread_set_interrupt_mode;
spdk_poller_register;
spdk_poller_register_named;
spdk_poller_unregister;
spdk_poller_pause;
spdk_poller_resume;
spdk_poller_register_interrupt;
spdk_io_device_register;
spdk_io_device_unregister;
spdk_get_io_channel;
spdk_put_io_channel;
spdk_io_channel_get_ctx;
spdk_io_channel_from_ctx;
spdk_io_channel_get_thread;
spdk_io_channel_get_io_device;
spdk_for_each_channel;
spdk_io_channel_iter_get_io_device;
spdk_io_channel_iter_get_channel;
spdk_io_channel_iter_get_ctx;
spdk_for_each_channel_continue;
spdk_interrupt_register;
spdk_interrupt_unregister;
spdk_interrupt_set_event_types;
spdk_thread_get_interrupt_fd;
spdk_interrupt_mode_enable;
spdk_interrupt_mode_is_enabled;
# internal functions in spdk_internal/thread.h
spdk_poller_get_name;
spdk_poller_get_id;
spdk_poller_get_state_str;
spdk_poller_get_period_ticks;
spdk_poller_get_stats;
spdk_io_channel_get_io_device_name;
spdk_io_channel_get_ref_count;
spdk_io_device_get_name;
spdk_thread_get_first_active_poller;
spdk_thread_get_next_active_poller;
spdk_thread_get_first_timed_poller;
spdk_thread_get_next_timed_poller;
spdk_thread_get_first_paused_poller;
spdk_thread_get_next_paused_poller;
spdk_thread_get_first_io_channel;
spdk_thread_get_next_io_channel;
local: *;
};