From ab4fdfaf50d658d13ee39383cb3a5614fcaa336d Mon Sep 17 00:00:00 2001 From: Danny Auble <da@schedmd.com> Date: Tue, 4 Mar 2014 12:46:04 -0800 Subject: [PATCH] Replace hostlist_create("") with hostlist_create(NULL). It is much faster, and does the same thing. When testing times went from ~900 usec to 1. --- src/api/step_launch.c | 4 ++-- src/common/node_conf.c | 2 +- src/scontrol/info_job.c | 4 ++-- src/sinfo/sinfo.c | 6 +++--- src/slurmctld/agent.c | 2 +- src/slurmctld/controller.c | 2 +- src/slurmctld/job_mgr.c | 8 ++++---- src/slurmctld/node_mgr.c | 2 +- src/slurmctld/node_scheduler.c | 6 +++--- src/slurmctld/ping_nodes.c | 8 ++++---- src/slurmctld/step_mgr.c | 6 +++--- src/sview/part_info.c | 2 +- 12 files changed, 26 insertions(+), 26 deletions(-) diff --git a/src/api/step_launch.c b/src/api/step_launch.c index 3331194bc48..175f063c23f 100644 --- a/src/api/step_launch.c +++ b/src/api/step_launch.c @@ -729,7 +729,7 @@ void slurm_step_launch_fwd_signal(slurm_step_ctx_t *ctx, int signo) pthread_mutex_lock(&sls->lock); - hl = hostlist_create(""); + hl = hostlist_create(NULL); for (node_id = 0; node_id < ctx->step_resp->step_layout->node_cnt; node_id++) { @@ -1659,7 +1659,7 @@ static void _print_launch_msg(launch_tasks_request_msg_t *msg, { int i; char tmp_str[10], *task_list = NULL; - hostlist_t hl = hostlist_create(""); + hostlist_t hl = hostlist_create(NULL); for (i=0; i<msg->tasks_to_launch[nodeid]; i++) { sprintf(tmp_str, "%u", msg->global_task_ids[nodeid][i]); diff --git a/src/common/node_conf.c b/src/common/node_conf.c index 84d022824f7..0e35c36d24b 100644 --- a/src/common/node_conf.c +++ b/src/common/node_conf.c @@ -502,7 +502,7 @@ char * bitmap2node_name_sortable (bitstr_t *bitmap, bool sort) return xstrdup(""); last = bit_fls(bitmap); - hl = hostlist_create(""); + hl = hostlist_create(NULL); for (i = first; i <= last; i++) { if (bit_test(bitmap, i) == 0) continue; diff --git a/src/scontrol/info_job.c b/src/scontrol/info_job.c index 67fd78438a7..137322ddb19 100644 --- a/src/scontrol/info_job.c +++ b/src/scontrol/info_job.c @@ -212,8 +212,8 @@ scontrol_print_completing_job(job_info_t *job_ptr, char *node_buf; all_nodes = hostlist_create(job_ptr->nodes); - comp_nodes = hostlist_create(""); - down_nodes = hostlist_create(""); + comp_nodes = hostlist_create(NULL); + down_nodes = hostlist_create(NULL); for (i=0; i<node_info_msg->record_count; i++) { node_info = &(node_info_msg->node_array[i]); diff --git a/src/sinfo/sinfo.c b/src/sinfo/sinfo.c index 3185ac7ec0a..dd25ac0568c 100644 --- a/src/sinfo/sinfo.c +++ b/src/sinfo/sinfo.c @@ -1124,9 +1124,9 @@ static sinfo_data_t *_create_sinfo(partition_info_t* part_ptr, sinfo_ptr->part_info = part_ptr; sinfo_ptr->part_inx = part_inx; - sinfo_ptr->nodes = hostlist_create(""); - sinfo_ptr->node_addr = hostlist_create(""); - sinfo_ptr->hostnames = hostlist_create(""); + sinfo_ptr->nodes = hostlist_create(NULL); + sinfo_ptr->node_addr = hostlist_create(NULL); + sinfo_ptr->hostnames = hostlist_create(NULL); if (node_ptr) _update_sinfo(sinfo_ptr, node_ptr, node_scaling); diff --git a/src/slurmctld/agent.c b/src/slurmctld/agent.c index a63451f22d2..e44371987ec 100644 --- a/src/slurmctld/agent.c +++ b/src/slurmctld/agent.c @@ -1086,7 +1086,7 @@ static void _queue_agent_retry(agent_info_t * agent_info_ptr, int count) agent_arg_ptr = xmalloc(sizeof(agent_arg_t)); agent_arg_ptr->node_count = count; agent_arg_ptr->retry = 1; - agent_arg_ptr->hostlist = hostlist_create(""); + agent_arg_ptr->hostlist = hostlist_create(NULL); agent_arg_ptr->msg_type = agent_info_ptr->msg_type; agent_arg_ptr->msg_args = *(agent_info_ptr->msg_args_pptr); *(agent_info_ptr->msg_args_pptr) = NULL; diff --git a/src/slurmctld/controller.c b/src/slurmctld/controller.c index 2304d642e91..e6072ce069f 100644 --- a/src/slurmctld/controller.c +++ b/src/slurmctld/controller.c @@ -1323,7 +1323,7 @@ static void _queue_reboot_msg(void) reboot_agent_args = xmalloc(sizeof(agent_arg_t)); reboot_agent_args->msg_type = REQUEST_REBOOT_NODES; reboot_agent_args->retry = 0; - reboot_agent_args->hostlist = hostlist_create(""); + reboot_agent_args->hostlist = hostlist_create(NULL); } hostlist_push(reboot_agent_args->hostlist, node_ptr->name); reboot_agent_args->node_count++; diff --git a/src/slurmctld/job_mgr.c b/src/slurmctld/job_mgr.c index 274537aabbf..18356643ad1 100644 --- a/src/slurmctld/job_mgr.c +++ b/src/slurmctld/job_mgr.c @@ -9102,7 +9102,7 @@ static void _send_job_kill(struct job_record *job_ptr) agent_args = xmalloc(sizeof(agent_arg_t)); agent_args->msg_type = REQUEST_TERMINATE_JOB; agent_args->retry = 0; /* re_kill_job() resends as needed */ - agent_args->hostlist = hostlist_create(""); + agent_args->hostlist = hostlist_create(NULL); kill_job = xmalloc(sizeof(kill_job_msg_t)); last_node_update = time(NULL); kill_job->job_id = job_ptr->job_id; @@ -9692,7 +9692,7 @@ _xmit_new_end_time(struct job_record *job_ptr) agent_args = xmalloc(sizeof(agent_arg_t)); agent_args->msg_type = REQUEST_UPDATE_JOB_TIME; agent_args->retry = 1; - agent_args->hostlist = hostlist_create(""); + agent_args->hostlist = hostlist_create(NULL); job_time_msg_ptr = xmalloc(sizeof(job_time_msg_t)); job_time_msg_ptr->job_id = job_ptr->job_id; job_time_msg_ptr->expiration_time = job_ptr->end_time; @@ -10137,7 +10137,7 @@ static void _signal_job(struct job_record *job_ptr, int signal) agent_args = xmalloc(sizeof(agent_arg_t)); agent_args->msg_type = REQUEST_SIGNAL_JOB; agent_args->retry = 1; - agent_args->hostlist = hostlist_create(""); + agent_args->hostlist = hostlist_create(NULL); signal_job_msg = xmalloc(sizeof(kill_tasks_msg_t)); signal_job_msg->job_id = job_ptr->job_id; signal_job_msg->signal = signal; @@ -10206,7 +10206,7 @@ static void _suspend_job(struct job_record *job_ptr, uint16_t op, * sched/wiki or sched/wiki2 can * quickly induce huge backlog * of agent.c RPCs */ - agent_args->hostlist = hostlist_create(""); + agent_args->hostlist = hostlist_create(NULL); sus_ptr = xmalloc(sizeof(suspend_int_msg_t)); sus_ptr->job_core_spec = job_ptr->details->core_spec; sus_ptr->job_id = job_ptr->job_id; diff --git a/src/slurmctld/node_mgr.c b/src/slurmctld/node_mgr.c index d01060db4d1..61ecd35fc1a 100644 --- a/src/slurmctld/node_mgr.c +++ b/src/slurmctld/node_mgr.c @@ -2828,7 +2828,7 @@ void msg_to_slurmd (slurm_msg_type_t msg_type) kill_agent_args = xmalloc (sizeof (agent_arg_t)); kill_agent_args->msg_type = msg_type; kill_agent_args->retry = 0; - kill_agent_args->hostlist = hostlist_create(""); + kill_agent_args->hostlist = hostlist_create(NULL); if (msg_type == REQUEST_SHUTDOWN) { shutdown_req = xmalloc(sizeof(shutdown_msg_t)); shutdown_req->options = 0; diff --git a/src/slurmctld/node_scheduler.c b/src/slurmctld/node_scheduler.c index fe2cfc7dbb7..a87ab638e2e 100644 --- a/src/slurmctld/node_scheduler.c +++ b/src/slurmctld/node_scheduler.c @@ -489,7 +489,7 @@ extern void deallocate_nodes(struct job_record *job_ptr, bool timeout, else agent_args->msg_type = REQUEST_TERMINATE_JOB; agent_args->retry = 0; /* re_kill_job() resends as needed */ - agent_args->hostlist = hostlist_create(""); + agent_args->hostlist = hostlist_create(NULL); kill_job = xmalloc(sizeof(kill_job_msg_t)); last_node_update = time(NULL); kill_job->job_id = job_ptr->job_id; @@ -2635,11 +2635,11 @@ extern void re_kill_job(struct job_record *job_ptr) xassert(job_ptr); xassert(job_ptr->details); - kill_hostlist = hostlist_create(""); + kill_hostlist = hostlist_create(NULL); agent_args = xmalloc(sizeof(agent_arg_t)); agent_args->msg_type = REQUEST_TERMINATE_JOB; - agent_args->hostlist = hostlist_create(""); + agent_args->hostlist = hostlist_create(NULL); agent_args->retry = 0; kill_job = xmalloc(sizeof(kill_job_msg_t)); kill_job->job_id = job_ptr->job_id; diff --git a/src/slurmctld/ping_nodes.c b/src/slurmctld/ping_nodes.c index 063792b2a72..d0eff38c459 100644 --- a/src/slurmctld/ping_nodes.c +++ b/src/slurmctld/ping_nodes.c @@ -143,12 +143,12 @@ void ping_nodes (void) ping_agent_args = xmalloc (sizeof (agent_arg_t)); ping_agent_args->msg_type = REQUEST_PING; ping_agent_args->retry = 0; - ping_agent_args->hostlist = hostlist_create(""); + ping_agent_args->hostlist = hostlist_create(NULL); reg_agent_args = xmalloc (sizeof (agent_arg_t)); reg_agent_args->msg_type = REQUEST_NODE_REGISTRATION_STATUS; reg_agent_args->retry = 0; - reg_agent_args->hostlist = hostlist_create(""); + reg_agent_args->hostlist = hostlist_create(NULL); /* * If there are a large number of down nodes, the node ping @@ -356,7 +356,7 @@ extern void run_health_check(void) check_agent_args = xmalloc (sizeof (agent_arg_t)); check_agent_args->msg_type = REQUEST_HEALTH_CHECK; check_agent_args->retry = 0; - check_agent_args->hostlist = hostlist_create(""); + check_agent_args->hostlist = hostlist_create(NULL); #ifdef HAVE_FRONT_END for (i = 0, front_end_ptr = front_end_nodes; i < front_end_node_cnt; i++, front_end_ptr++) { @@ -437,7 +437,7 @@ extern void update_nodes_acct_gather_data(void) agent_args = xmalloc (sizeof (agent_arg_t)); agent_args->msg_type = REQUEST_ACCT_GATHER_UPDATE; agent_args->retry = 0; - agent_args->hostlist = hostlist_create(""); + agent_args->hostlist = hostlist_create(NULL); #ifdef HAVE_FRONT_END for (i = 0, front_end_ptr = front_end_nodes; diff --git a/src/slurmctld/step_mgr.c b/src/slurmctld/step_mgr.c index b6f988c6674..04ca8fb3c1c 100644 --- a/src/slurmctld/step_mgr.c +++ b/src/slurmctld/step_mgr.c @@ -530,7 +530,7 @@ void signal_step_tasks(struct step_record *step_ptr, uint16_t signal, agent_args = xmalloc(sizeof(agent_arg_t)); agent_args->msg_type = msg_type; agent_args->retry = 1; - agent_args->hostlist = hostlist_create(""); + agent_args->hostlist = hostlist_create(NULL); kill_tasks_msg = xmalloc(sizeof(kill_tasks_msg_t)); kill_tasks_msg->job_id = step_ptr->job_ptr->job_id; kill_tasks_msg->job_step_id = step_ptr->step_id; @@ -3101,7 +3101,7 @@ static hostlist_t _step_range_to_hostlist(struct step_record *step_ptr, uint32_t range_first, uint32_t range_last) { int i, node_inx = -1; - hostlist_t hl = hostlist_create(""); + hostlist_t hl = hostlist_create(NULL); for (i = 0; i < node_record_count; i++) { if (bit_test(step_ptr->step_node_bitmap, i) == 0) @@ -3704,7 +3704,7 @@ static void _signal_step_timelimit(struct job_record *job_ptr, agent_args = xmalloc(sizeof(agent_arg_t)); agent_args->msg_type = REQUEST_KILL_TIMELIMIT; agent_args->retry = 1; - agent_args->hostlist = hostlist_create(""); + agent_args->hostlist = hostlist_create(NULL); kill_step = xmalloc(sizeof(kill_job_msg_t)); kill_step->job_id = job_ptr->job_id; kill_step->step_id = step_ptr->step_id; diff --git a/src/sview/part_info.c b/src/sview/part_info.c index c27d872c9f9..db5af1bbc6c 100644 --- a/src/sview/part_info.c +++ b/src/sview/part_info.c @@ -1620,7 +1620,7 @@ static sview_part_sub_t *_create_sview_part_sub(partition_info_t *part_ptr, return NULL; } sview_part_sub_ptr->part_ptr = part_ptr; - sview_part_sub_ptr->hl = hostlist_create(""); + sview_part_sub_ptr->hl = hostlist_create(NULL); sview_part_sub_ptr->node_ptr_list = list_create(NULL); _update_sview_part_sub(sview_part_sub_ptr, node_ptr, node_scaling); -- GitLab