logsys thread priority was configured after forking the
wthread process and spread the scheduler priority config
across a large chunk of code in main.c

Now that logsys scheduler priority can be invoked at any time,
move the code together with corosync_setscheduler code.

Signed-off-by: Fabio M. Di Nitto <[email protected]>
---
:100644 100644 2fd83c1... edaa69f... M  exec/main.c
 exec/main.c |   23 +++++++++++++----------
 1 files changed, 13 insertions(+), 10 deletions(-)

diff --git a/exec/main.c b/exec/main.c
index 2fd83c1..edaa69f 100644
--- a/exec/main.c
+++ b/exec/main.c
@@ -695,11 +695,24 @@ static void corosync_setscheduler (void)
                        global_sched_param.sched_priority = 0;
                        log_printf (LOGSYS_LEVEL_WARNING, "Could not set 
SCHED_RR at priority %d: %s\n",
                                global_sched_param.sched_priority, strerror 
(errno));
+
+                       logsys_thread_priority_set (SCHED_OTHER, NULL, 1);
                } else {
                        /*
                         * Turn on SCHED_RR in ipc system
                         */ 
                        ipc_init_state.sched_policy = SCHED_RR;
+
+                       /*
+                        * Turn on SCHED_RR in logsys system
+                        */
+                       res = logsys_thread_priority_set (SCHED_RR, 
&global_sched_param, 10);
+                       if (res == -1) {
+                               log_printf (LOGSYS_LEVEL_ERROR,
+                                           "Could not set logsys thread 
priority."
+                                           " Can't continue because of 
priority inversions.");
+                               corosync_exit_error (AIS_DONE_LOGSETUP);
+                       }
                }
        } else {
                log_printf (LOGSYS_LEVEL_WARNING, "Could not get maximum 
scheduler priority: %s\n", strerror (errno));
@@ -874,16 +887,6 @@ int main (int argc, char **argv)
                corosync_exit_error (AIS_DONE_MAINCONFIGREAD);
        }
        logsys_fork_completed();
-       if (setprio) {
-               res = logsys_thread_priority_set (SCHED_RR, 
&global_sched_param, 10);
-               if (res == -1) {
-                       log_printf (LOGSYS_LEVEL_ERROR,
-                               "Could not set logsys thread priority.  Can't 
continue because of priority inversions.");
-                       corosync_exit_error (AIS_DONE_LOGSETUP);
-               }
-       } else {
-               res = logsys_thread_priority_set (SCHED_OTHER, NULL, 1);
-       }
 
        /*
         * Make sure required directory is present
-- 
1.5.4.3

_______________________________________________
Openais mailing list
[email protected]
https://lists.linux-foundation.org/mailman/listinfo/openais

Reply via email to