From mboxrd@z Thu Jan 1 00:00:00 1970 From: teigland@sourceware.org Date: 15 Sep 2006 18:20:38 -0000 Subject: [Cluster-devel] cluster/group/daemon gd_internal.h main.c Message-ID: <20060915182038.19100.qmail@sourceware.org> List-Id: To: cluster-devel.redhat.com MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit CVSROOT: /cvs/cluster Module name: cluster Changes by: teigland at sourceware.org 2006-09-15 18:20:37 Modified files: group/daemon : gd_internal.h main.c Log message: have groupd set the scheduler to RR priority 2, same as gfs_controld Patches: http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/group/daemon/gd_internal.h.diff?cvsroot=cluster&r1=1.39&r2=1.40 http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/group/daemon/main.c.diff?cvsroot=cluster&r1=1.43&r2=1.44 --- cluster/group/daemon/gd_internal.h 2006/09/12 21:57:05 1.39 +++ cluster/group/daemon/gd_internal.h 2006/09/15 18:20:36 1.40 @@ -26,6 +26,7 @@ #include #include #include +#include #include #include #include --- cluster/group/daemon/main.c 2006/09/14 20:49:38 1.43 +++ cluster/group/daemon/main.c 2006/09/15 18:20:36 1.44 @@ -870,6 +870,24 @@ } } +void set_scheduler(void) +{ + struct sched_param sched_param; + int rv; + + rv = sched_get_priority_max(SCHED_RR); + if (rv != -1) { + sched_param.sched_priority = 2; + rv = sched_setscheduler(0, SCHED_RR, &sched_param); + if (rv == -1) + log_print("could not set SCHED_RR priority %d err %d", + sched_param.sched_priority, errno); + } else { + log_print("could not get maximum scheduler priority err %d", + errno); + } +} + int main(int argc, char *argv[]) { prog_name = argv[0]; @@ -885,6 +903,8 @@ if (!groupd_debug_opt) daemonize(); + set_scheduler(); + pollfd = malloc(NALLOC * sizeof(struct pollfd)); if (!pollfd) return -1;