diff --git a/doc/txt/slurmctld.locks b/doc/txt/slurmctld.locks new file mode 100644 index 0000000000000000000000000000000000000000..8abf1b52d4f46ce9439ecbc438759e8fe8f53fe6 --- /dev/null +++ b/doc/txt/slurmctld.locks @@ -0,0 +1,69 @@ +slurmctld/controller.c +RPC's and required locks Moe Jette + +============================================================================ +Locks (in priority order): Config, Job, Node, Partition + +RPC code Frequency Function to service + Locks needed +============================================================================ + +REQUEST_BUILD_INFO: Rare controller.c:fill_ctld_conf + Read Config + + +REQUEST_NODE_INFO: V Common node_mgr.c:pack_all_node + Read Node + + +REQUEST_JOB_INFO: V Common job_mgr.c:pack_all_jobs + Read Job + + +REQUEST_PARTITION_INFO: V Common partition_mgr.c:pack_all_part + Read Partition + + +REQUEST_RESOURCE_ALLOCATION : Common job_mgr.c:job_allocate +REQUEST_IMMEDIATE_RESOURCE_ALLOCATION : (Both use slurm_rpc_allocate_resources) + Read Node, Partition + Write Job + + +REQUEST_JOB_WILL_RUN : Common job_mgr.c:job_allocate + Read Node, Partition + Write Job + + +REQUEST_CANCEL_JOB_STEP: Common job_mgr.c:job_cancel or job_step_cancel + Write Job, Node + + +REQUEST_SUBMIT_BATCH_JOB: Common job_mgr.c:job_allocate + Read Config, Node, Partition + Write Job + + +MESSAGE_NODE_REGISTRATION_STATUS: Common node_mgr.c:validate_node_specs + Write Node + + +REQUEST_RECONFIGURE: V Rare read_config.c:read_slurm_conf + Write Config, Job, Node, Partition + + +REQUEST_UPDATE_JOB: Rare job_mgr.c:update_job + Write Job + Read Node + + +REQUEST_UPDATE_NODE: Rare node_mgr.c:update_node + Write Node + + +REQUEST_JOB_STEP_CREATE: + + +REQUEST_UPDATE_PARTITION: Rare partition_mgr.c:update_part + Write Partition + Read Node