From c31ee795f7059edcdc42355ed84ed4f6c91a8e1d Mon Sep 17 00:00:00 2001 From: Morris Jette <jette@schedmd.com> Date: Thu, 28 Apr 2016 07:30:41 -0700 Subject: [PATCH] Correction to task binding This fixes a problem introduced in commit 31aa3244b55bcf6fafe8d76a2c3b8047afeac6e3 which was causing test1.91 to generate a fatal slurmd error. --- src/plugins/task/affinity/dist_tasks.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/plugins/task/affinity/dist_tasks.c b/src/plugins/task/affinity/dist_tasks.c index 62c46d4ae9f..5bc1eda1e28 100644 --- a/src/plugins/task/affinity/dist_tasks.c +++ b/src/plugins/task/affinity/dist_tasks.c @@ -1157,8 +1157,9 @@ static int _task_layout_lllp_block(launch_tasks_request_msg_t *req, continue; sock_inx = i / pu_per_socket; - if (socket_tasks[sock_inx] >= req->ntasks_per_socket) - continue; /* Default ntasks_per_socket = INFINITE */ + if ((req->ntasks_per_socket != 0) && + (socket_tasks[sock_inx] >= req->ntasks_per_socket)) + continue; socket_tasks[sock_inx]++; if (!masks[taskcount]) @@ -1196,6 +1197,8 @@ static int _task_layout_lllp_block(launch_tasks_request_msg_t *req, if (++taskcount >= max_tasks) break; } + for (i = 0; i < hw_sockets; i++) + socket_tasks[i] = 0; } xfree(socket_tasks); -- GitLab