event: return const cpumask for spdk_app_get_core_mask() API
Fix issue #1541. Change-Id: Ia0ecc049387f1e8eb04f1b55f7a7ace0b4b42491 Signed-off-by: Changpeng Liu <changpeng.liu@intel.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/4306 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com>
This commit is contained in:
parent
107dd02126
commit
276c31cd1f
@ -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:"
|
||||
|
||||
|
@ -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());
|
||||
}
|
||||
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
|
@ -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;
|
||||
|
@ -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);
|
||||
|
Loading…
Reference in New Issue
Block a user