From d8fb4caff9ca16d2b34f5b17dc6127dfbcd97434 Mon Sep 17 00:00:00 2001 From: Moe Jette <jette1@llnl.gov> Date: Fri, 8 Nov 2002 21:19:37 +0000 Subject: [PATCH] Add task_flags to task_launch_request RPC. Add local_pid to task_launch_response RPC. --- src/common/slurm_protocol_defs.h | 16 ++++++++++++++-- src/common/slurm_protocol_pack.c | 4 ++++ src/common/slurm_protocol_util.c | 5 +++-- 3 files changed, 21 insertions(+), 4 deletions(-) diff --git a/src/common/slurm_protocol_defs.h b/src/common/slurm_protocol_defs.h index 247ca108845..c1b4240e500 100644 --- a/src/common/slurm_protocol_defs.h +++ b/src/common/slurm_protocol_defs.h @@ -55,8 +55,18 @@ /* used to define the type of the io_stream_header_t.type */ -#define SLURM_IO_STREAM_INOUT 0 -#define SLURM_IO_STREAM_SIGERR 1 +enum io_stream_types { + SLURM_IO_STREAM_INOUT = 0, + SLURM_IO_STREAM_SIGERR = 1 +}; + +/* used to define flags of the launch_tasks_request_msg_t.task_flags + */ +enum task_flag_vals { + TASK_TOTALVIEW_DEBUG = 0x1, + TASK_UNUSED1 = 0x2, + TASK_UNUSED2 = 0x4 +}; /* INFINITE is used to identify unlimited configurations, */ @@ -445,6 +455,7 @@ typedef struct launch_tasks_request_msg { char *cwd; uint16_t resp_port; uint16_t io_port; + uint16_t task_flags; uint32_t *global_task_ids; slurm_job_credential_t *credential; /* job credential */ @@ -458,6 +469,7 @@ typedef struct launch_tasks_response_msg { uint32_t return_code; char *node_name; uint32_t srun_node_id; + uint32_t local_pid; } launch_tasks_response_msg_t; typedef struct task_ext_msg { diff --git a/src/common/slurm_protocol_pack.c b/src/common/slurm_protocol_pack.c index b9c8a238c07..df03f03637b 100644 --- a/src/common/slurm_protocol_pack.c +++ b/src/common/slurm_protocol_pack.c @@ -1569,6 +1569,7 @@ void pack_launch_tasks_response_msg ( launch_tasks_response_msg_t * msg , Buf bu pack32 ( msg -> return_code , buffer ) ; packstr ( msg -> node_name , buffer ) ; pack32 ( msg -> srun_node_id , buffer ) ; + pack32 ( msg -> local_pid , buffer ) ; } int unpack_launch_tasks_response_msg ( launch_tasks_response_msg_t ** msg_ptr , Buf buffer ) @@ -1582,6 +1583,7 @@ int unpack_launch_tasks_response_msg ( launch_tasks_response_msg_t ** msg_ptr , safe_unpack32 ( & msg -> return_code , buffer ) ; safe_unpackstr_xmalloc ( & msg -> node_name , & uint16_tmp , buffer ) ; safe_unpack32 ( & msg -> srun_node_id , buffer ) ; + safe_unpack32 ( & msg -> local_pid , buffer ) ; return SLURM_SUCCESS ; unpack_error: @@ -1607,6 +1609,7 @@ void pack_launch_tasks_request_msg ( launch_tasks_request_msg_t * msg , Buf buff packstr_array ( msg -> argv , msg -> argc , buffer ) ; pack16 ( msg -> resp_port , buffer ) ; pack16 ( msg -> io_port , buffer ) ; + pack16 ( msg -> task_flags , buffer ) ; pack32_array ( msg -> global_task_ids , (uint16_t) msg -> tasks_to_launch , buffer ) ; #ifdef HAVE_LIBELAN3 qsw_pack_jobinfo( msg -> qsw_job , buffer ) ; @@ -1635,6 +1638,7 @@ int unpack_launch_tasks_request_msg ( launch_tasks_request_msg_t ** msg_ptr , Bu safe_unpackstr_array ( & msg -> argv , & msg->argc , buffer ) ; safe_unpack16 ( & msg -> resp_port , buffer ) ; safe_unpack16 ( & msg -> io_port , buffer ) ; + safe_unpack16 ( & msg -> task_flags , buffer ) ; safe_unpack32_array ( & msg -> global_task_ids , & uint16_tmp , buffer ) ; #ifdef HAVE_LIBELAN3 diff --git a/src/common/slurm_protocol_util.c b/src/common/slurm_protocol_util.c index e562660cc49..773635ffcbe 100644 --- a/src/common/slurm_protocol_util.c +++ b/src/common/slurm_protocol_util.c @@ -211,8 +211,9 @@ void slurm_print_launch_task_msg(launch_tasks_request_msg_t * msg) for (i = 0; i < msg->argc; i++) { debug3("argv[%i]: %s", i, msg->argv[i]); } - debug3("msg -> resp_port = %d", msg->resp_port); - debug3("msg -> io_port = %d", msg->io_port); + debug3("msg -> resp_port = %d", msg->resp_port); + debug3("msg -> io_port = %d", msg->io_port); + debug3("msg -> task_flags = %x", msg->task_flags); for (i = 0; i < msg->tasks_to_launch; i++) { debug3("global_task_id[%i]: %i ", i, -- GitLab