Commit 276c31cd authored by Changpeng Liu's avatar Changpeng Liu Committed by Tomasz Zawadzki
Browse files

event: return const cpumask for spdk_app_get_core_mask() API



Fix issue #1541.

Change-Id: Ia0ecc049387f1e8eb04f1b55f7a7ace0b4b42491
Signed-off-by: default avatarChangpeng Liu <changpeng.liu@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/4306


Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: default avatarJim Harris <james.r.harris@intel.com>
Reviewed-by: default avatarBen Walker <benjamin.walker@intel.com>
parent 107dd021
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -239,7 +239,7 @@ int spdk_app_parse_core_mask(const char *mask, struct spdk_cpuset *cpumask);
 *
 * \return the bitmask of the active CPU cores.
 */
struct spdk_cpuset *spdk_app_get_core_mask(void);
const struct spdk_cpuset *spdk_app_get_core_mask(void);

#define SPDK_APP_GETOPT_STRING "c:de:ghi:m:n:p:r:s:uvB:L:RW:"

+4 −2
Original line number Diff line number Diff line
@@ -169,15 +169,17 @@ static const struct option g_cmdline_options[] = {
static void
app_config_dump_global_section(FILE *fp)
{
	struct spdk_cpuset *coremask;
	const struct spdk_cpuset *coremask;
	struct spdk_cpuset tmp_mask;

	if (NULL == fp) {
		return;
	}

	coremask = spdk_app_get_core_mask();
	spdk_cpuset_copy(&tmp_mask, coremask);

	fprintf(fp, GLOBAL_CONFIG_TMPL, spdk_cpuset_fmt(coremask),
	fprintf(fp, GLOBAL_CONFIG_TMPL, spdk_cpuset_fmt(&tmp_mask),
		spdk_trace_get_tpoint_group_mask());
}

+5 −1
Original line number Diff line number Diff line
@@ -484,6 +484,8 @@ rpc_thread_set_cpumask(struct spdk_jsonrpc_request *request,
{
	struct rpc_thread_set_cpumask req = {};
	struct rpc_thread_set_cpumask_ctx *ctx;
	const struct spdk_cpuset *coremask;
	struct spdk_cpuset tmp_mask;
	struct spdk_thread *thread;
	int rc;

@@ -521,9 +523,11 @@ rpc_thread_set_cpumask(struct spdk_jsonrpc_request *request,
	}

	if (spdk_cpuset_count(&ctx->cpumask) == 0) {
		coremask = spdk_app_get_core_mask();
		spdk_cpuset_copy(&tmp_mask, coremask);
		spdk_jsonrpc_send_error_response_fmt(request, SPDK_JSONRPC_ERROR_INTERNAL_ERROR,
						     "No CPU is selected from reactor mask %s\n",
						     spdk_cpuset_fmt(spdk_app_get_core_mask()));
						     spdk_cpuset_fmt(&tmp_mask));
		goto err;
	}

+2 −2
Original line number Diff line number Diff line
@@ -414,7 +414,7 @@ int
spdk_app_parse_core_mask(const char *mask, struct spdk_cpuset *cpumask)
{
	int ret;
	struct spdk_cpuset *validmask;
	const struct spdk_cpuset *validmask;

	ret = spdk_cpuset_parse(cpumask, mask);
	if (ret < 0) {
@@ -427,7 +427,7 @@ spdk_app_parse_core_mask(const char *mask, struct spdk_cpuset *cpumask)
	return 0;
}

struct spdk_cpuset *
const struct spdk_cpuset *
spdk_app_get_core_mask(void)
{
	return &g_reactor_core_mask;
+2 −1
Original line number Diff line number Diff line
@@ -1257,7 +1257,8 @@ __construct_targets(void *arg)
static void
test_main(void *arg1)
{
	struct spdk_cpuset tmpmask = {}, *appmask;
	struct spdk_cpuset tmpmask = {};
	const struct spdk_cpuset *appmask;
	uint32_t cpu, init_cpu;

	pthread_mutex_init(&g_test_mutex, NULL);