Commit 212920b8 authored by Avri Altman's avatar Avri Altman Committed by Tomasz Zawadzki
Browse files

event: introduce num_trace_threads in spdk_app_opts



Add `num_trace_threads` to the `spdk_app_opts` structure as a
preparatory step for making spdk_app_setup_trace() public.

This field is used exclusively by the trace subsystem to specify
the number of threads allocated for trace entry storage in shared
memory.

Change-Id: I2ae50740a37978fe57f68704d970e6f1e42f858d
Signed-off-by: default avatarAvri Altman <avri.altman@sandisk.com>
Reviewed-on: https://review.spdk.io/c/spdk/spdk/+/26819


Reviewed-by: default avatarJim Harris <jim.harris@nvidia.com>
Community-CI: Mellanox Build Bot
Reviewed-by: default avatarJacek Kalwas <jacek.kalwas@nutanix.com>
Reviewed-by: default avatarAnkit Kumar <ankit.kumar@samsung.com>
Tested-by: default avatarSPDK Automated Test System <spdkbot@gmail.com>
parent 6df9159a
Loading
Loading
Loading
Loading
+5 −2
Original line number Diff line number Diff line
@@ -151,8 +151,11 @@ struct spdk_app_opts {

	bool enforce_numa;

	/* Hole at bytes 187-191. */
	uint8_t reserved187[5];
	/* Hole at byte 187. */
	uint8_t reserved187[1];

	/* Number of threads for SPDK tracing */
	uint32_t num_trace_threads;

	/**
	 * The allocated size for the message pool used by the threading library.
+3 −1
Original line number Diff line number Diff line
@@ -363,6 +363,7 @@ spdk_app_opts_init(struct spdk_app_opts *opts, size_t opts_size)
	SET_FIELD(print_level, SPDK_APP_DEFAULT_LOG_PRINT_LEVEL);
	SET_FIELD(rpc_addr, SPDK_DEFAULT_RPC_ADDR);
	SET_FIELD(num_entries, SPDK_APP_DEFAULT_NUM_TRACE_ENTRIES);
	SET_FIELD(num_trace_threads, 0);
	SET_FIELD(delay_subsystem_init, false);
	SET_FIELD(disable_signal_handlers, false);
	SET_FIELD(interrupt_mode, false);
@@ -581,7 +582,7 @@ app_setup_trace(struct spdk_app_opts *opts)
			 SPDK_TRACE_SHM_NAME_BASE, (int)getpid());
	}

	if (spdk_trace_init(shm_name, opts->num_entries, 0) != 0) {
	if (spdk_trace_init(shm_name, opts->num_entries, opts->num_trace_threads) != 0) {
		return -1;
	}

@@ -722,6 +723,7 @@ app_copy_opts(struct spdk_app_opts *opts, struct spdk_app_opts *opts_user, size_
	SET_FIELD(iova_mode);
	SET_FIELD(delay_subsystem_init);
	SET_FIELD(num_entries);
	SET_FIELD(num_trace_threads);
	SET_FIELD(env_context);
	SET_FIELD(log);
	SET_FIELD(base_virtaddr);
+5 −0
Original line number Diff line number Diff line
@@ -158,6 +158,11 @@ function confirm_abi_deps() {
			soname_regexp = ^libspdk_nvme\\.so\\.14\\.*$
			has_data_member_regexp = ^submit_accel_crc32c$
			has_data_member_inserted_between = {64, 128}
		[suppress_type]
			label = Added num_trace_threads field using reserved space with padding reorganization
			name = spdk_app_opts
			soname_regexp = ^libspdk_event\\.so\\.15\\.*$
			has_data_member_regexp = ^(reserved191|reserved187|num_trace_threads)$
	EOF

	for object in "$libdir"/libspdk_*.so; do