Re: [Openais] [PATCH 6/6] Update TODOs
Reviewed-by: Steven Dake On 08/05/2011 12:09 AM, Angus Salkeld wrote: > Signed-off-by: Angus Salkeld > --- > TODO | 73 + > 1 files changed, 19 insertions(+), 54 deletions(-) > > diff --git a/TODO b/TODO > index 9a2db8f..fa30e36 100644 > --- a/TODO > +++ b/TODO > @@ -3,69 +3,34 @@ The Corosync Cluster Engine Topic Branches > -- > > -- > -Last Updated: October 2010 > +Last Updated: August 2011 > -- > > -We use topic branches in our git repository to develop new disruptive > features > -that define our future roadmap. This file describes the topic branches > -the developers have interest in investigating further. > - > -targets can be: whitetank, needle, or future (3.0+). > -Finished can be: percentage or date merged to master. > - > > -- > -topic-libqb > +master > > -- > -Main Developer: Angus Salkeld > -Started: September 2010 > -Finished: 60% > -target: needle > -Description: > -The libqb project is our effort to remove the core infrastructure required > for > -client server operations of corosync from the corosync code base and place > -inside a separate project. > +1) exec/totempg.c in check_q_level() > + Remove hardcoded values. > + Chat to Steve about correcting the queue length calculation. > > -The main purpose of this topic is to investigate integrating corosync with > the > -libqb package that has been refactored. Part of this effort also involves > -investigation into single threaded operation of the IPC layer without > -peformance penalties. > +2) check max message size restrictions. > > --- > -topic-rr > --- > -Main Developer: Steven Dake > -Started: Not Started > -Finished: 0% > -target: needle > -Description: > -Redundant ring may have quality problems near boundary conditions for > sequence > -numbers. This effort involves qualifying and hardening redundant ring around > -these boundary numbers. A further stretch goal of this topic is to > -automatically reenable a redundant ring when it has been back in service. > +3) is this https://github.com/asalkeld/libqb/issues/1 still an issue? > > --- > -topic-snmp > --- > -Main Developer: Angus Salkeld > -Started: Not Started > -Finished: 100% > -target: needle > -Description: > -This topic involves investigation of adding SNMP support into Corosync. > +4) remove "old" stuff from the man pages (logging/IPC). > > +5) new blackbox size might be too small (exec/logsys.c:311) > > --- > -topic-udpu > --- > -Main Developer: Steven Dake > -Started: October > -Finished: 80% > -target: needle > -Description: > -The UDPU transport mode offers a mechanism for Corosync to operate in network > -environments where multicast or broadcast are prohibited. The main mechanism > -it uses to do this is to UDP unicast to each of the target node IP addresses > -listed in the configuation. > +6) extend the logging config to make better use of the tracing capabilities. > + > + > + > +We use topic branches in our git repository to develop new disruptive > features > +that define our future roadmap. This file describes the topic branches > +the developers have interest in investigating further. > + > +targets can be: whitetank, needle, or future (3.0+). > +Finished can be: percentage or date merged to master. > > > -- > topic-onecrypt ___ Openais mailing list Openais@lists.linux-foundation.org https://lists.linux-foundation.org/mailman/listinfo/openais
Re: [Openais] [PATCH 4/6] libqb: Add libqb dependency in the rpm & pc file
Reviewed-by: Steven Dake On 08/05/2011 12:09 AM, Angus Salkeld wrote: > Signed-off-by: Angus Salkeld > --- > corosync.spec.in |2 +- > pkgconfig/corosync.pc.in |2 +- > 2 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/corosync.spec.in b/corosync.spec.in > index 58c4b0d..d50b72c 100644 > --- a/corosync.spec.in > +++ b/corosync.spec.in > @@ -36,7 +36,7 @@ Conflicts: openais <= 0.89, openais-devel <= 0.89 > %if %{buildtrunk} > BuildRequires: autoconf automake > %endif > -BuildRequires: nss-devel > +BuildRequires: nss-devel libqb-devel > %if %{with rdma} > BuildRequires: libibverbs-devel librdmacm-devel > %endif > diff --git a/pkgconfig/corosync.pc.in b/pkgconfig/corosync.pc.in > index 820c607..31b354a 100644 > --- a/pkgconfig/corosync.pc.in > +++ b/pkgconfig/corosync.pc.in > @@ -8,5 +8,5 @@ socketdir=@COROSOCKETDIR@ > Name: corosync > Version: @LIBVERSION@ > Description: corosync > -Requires: > +Requires: libqb > Cflags: -I${includedir} ___ Openais mailing list Openais@lists.linux-foundation.org https://lists.linux-foundation.org/mailman/listinfo/openais
Re: [Openais] [PATCH 3/6] Fix some compiler warnings
Reviewed-by: Steven Dake On 08/05/2011 12:09 AM, Angus Salkeld wrote: > Signed-off-by: Angus Salkeld > --- > configure.ac |4 +- > exec/crypto.c |2 - > exec/main.c |3 -- > exec/objdb.c | 76 > lib/confdb.c |3 ++ > services/confdb.c |7 +++- > services/cpg.c|2 - > 7 files changed, 51 insertions(+), 46 deletions(-) > > diff --git a/configure.ac b/configure.ac > index 92aed9e..35e3cfb 100644 > --- a/configure.ac > +++ b/configure.ac > @@ -173,9 +173,9 @@ LIB_MSG_RESULT(m4_shift(m4_shift($@)))dnl > > ## helper for CC stuff > cc_supports_flag() { > - local CFLAGS="$@" > + local CPPFLAGS="$CPPFLAGS $@" > AC_MSG_CHECKING([whether $CC supports "$@"]) > - AC_COMPILE_IFELSE([int main(){return 0;}] , > + AC_PREPROC_IFELSE([AC_LANG_PROGRAM([])], > [RC=0; AC_MSG_RESULT([yes])], > [RC=1; AC_MSG_RESULT([no])]) > return $RC > diff --git a/exec/crypto.c b/exec/crypto.c > index 901797a..14fb807 100644 > --- a/exec/crypto.c > +++ b/exec/crypto.c > @@ -1140,12 +1140,10 @@ int sha1_done(hash_state * md, unsigned char *hash) > int hmac_init(hmac_state *hmac, int hash, const unsigned char *key, unsigned > long keylen) > { > unsigned char buf[128]; > -unsigned long hashsize; > unsigned long i; > int err; > > hmac->hash = hash; > -hashsize = hash_descriptor[hash]->hashsize; > > /* valid key length? */ > assert (keylen > 0); > diff --git a/exec/main.c b/exec/main.c > index 006f846..e33a397 100644 > --- a/exec/main.c > +++ b/exec/main.c > @@ -807,16 +807,13 @@ static void deliver_fn ( > int32_t service; > int32_t fn_id; > uint32_t id; > - uint32_t size; > uint32_t key_incr_dummy; > > header = msg; > if (endian_conversion_required) { > id = swab32 (header->id); > - size = swab32 (header->size); > } else { > id = header->id; > - size = header->size; > } > > /* > diff --git a/exec/objdb.c b/exec/objdb.c > index 99e20ec..999db61 100644 > --- a/exec/objdb.c > +++ b/exec/objdb.c > @@ -112,7 +112,7 @@ static int objdb_init (void) > { > hdb_handle_t handle; > struct object_instance *instance; > - unsigned int res; > + int res; > > res = hdb_handle_create (&object_instance_database, > sizeof (struct object_instance), &handle); > @@ -192,11 +192,12 @@ static void object_created_notification( > struct object_instance * obj_pt; > struct object_tracker * tracker_pt; > hdb_handle_t obj_handle = object_handle; > - unsigned int res; > > do { > - res = hdb_handle_get (&object_instance_database, > - obj_handle, (void *)&obj_pt); > + if (hdb_handle_get (&object_instance_database, > + obj_handle, (void *)&obj_pt) != 0) { > + return; > + } > > for (list = obj_pt->track_head.next; > list != &obj_pt->track_head; list = list->next) { > @@ -226,11 +227,12 @@ static void > object_pre_deletion_notification(hdb_handle_t object_handle, > struct object_instance * obj_pt; > struct object_tracker * tracker_pt; > hdb_handle_t obj_handle = object_handle; > - unsigned int res; > > do { > - res = hdb_handle_get (&object_instance_database, > - obj_handle, (void *)&obj_pt); > + if (hdb_handle_get (&object_instance_database, > + obj_handle, (void *)&obj_pt) != 0) { > + return; > + } > > for (list = obj_pt->track_head.next; > list != &obj_pt->track_head; list = list->next) { > @@ -265,11 +267,12 @@ static void > object_key_changed_notification(hdb_handle_t object_handle, > struct object_instance * owner_pt = NULL; > struct object_tracker * tracker_pt; > hdb_handle_t obj_handle = object_handle; > - unsigned int res; > > do { > - res = hdb_handle_get (&object_instance_database, > - obj_handle, (void *)&obj_pt); > + if (hdb_handle_get (&object_instance_database, > + obj_handle, (void *)&obj_pt) != 0) { > + return; > + } > > if (owner_pt == NULL) > owner_pt = obj_pt; > @@ -302,10 +305,11 @@ static void object_reload_notification(int startstop, > int flush) > struct object_instance * obj_pt; > struct object_tracker * tracker_pt; > struct object_tracker * tmptracker_pt; > - unsigned int res; > > - res = hdb_handle_get (&object_instance_database, > - OBJECT_PARENT_HANDLE, (void *)&obj_pt); > + if (hdb_handle_get (&object_instance_database, > +
Re: [Openais] [PATCH 2/6] Use PATH_MAX for file path size
Reviewed-by: Steven Dake On 08/05/2011 12:09 AM, Angus Salkeld wrote: > Signed-off-by: Angus Salkeld > --- > lib/cpg.c |2 +- > 1 files changed, 1 insertions(+), 1 deletions(-) > > diff --git a/lib/cpg.c b/lib/cpg.c > index caf3efe..71704c0 100644 > --- a/lib/cpg.c > +++ b/lib/cpg.c > @@ -777,7 +777,7 @@ cs_error_t cpg_zcb_alloc ( > void **buffer) > { > void *buf = NULL; > - char path[128]; > + char path[PATH_MAX]; > mar_req_coroipcc_zc_alloc_t req_coroipcc_zc_alloc; > struct qb_ipc_response_header res_coroipcs_zc_alloc; > size_t map_size; ___ Openais mailing list Openais@lists.linux-foundation.org https://lists.linux-foundation.org/mailman/listinfo/openais
Re: [Openais] [PATCH 1/6] Remove scheduling
I believe a better approach would be to default to standard scheduling and add a new flag "--realtime" which enables realtime scheduling. Regards -steve On 08/05/2011 12:09 AM, Angus Salkeld wrote: > Signed-off-by: Angus Salkeld > --- > exec/main.c | 55 +-- > 1 files changed, 1 insertions(+), 54 deletions(-) > > diff --git a/exec/main.c b/exec/main.c > index b03d33e..006f846 100644 > --- a/exec/main.c > +++ b/exec/main.c > @@ -144,8 +144,6 @@ LOGSYS_DECLARE_SUBSYS ("MAIN"); > > #define SERVER_BACKLOG 5 > > -static int sched_priority = 0; > - > static unsigned int service_count = 32; > > static struct totem_logging_configuration totem_logging_configuration; > @@ -972,46 +970,6 @@ void message_source_set ( > source->conn = conn; > } > > -static void corosync_setscheduler (void) > -{ > -#if defined(HAVE_PTHREAD_SETSCHEDPARAM) && > defined(HAVE_SCHED_GET_PRIORITY_MAX) && defined(HAVE_SCHED_SETSCHEDULER) > - int res; > - > - sched_priority = sched_get_priority_max (SCHED_RR); > - if (sched_priority != -1) { > - global_sched_param.sched_priority = sched_priority; > - res = sched_setscheduler (0, SCHED_RR, &global_sched_param); > - if (res == -1) { > - LOGSYS_PERROR(errno, LOGSYS_LEVEL_WARNING, > - "Could not set SCHED_RR at priority %d", > - global_sched_param.sched_priority); > - > - global_sched_param.sched_priority = 0; > - logsys_thread_priority_set (SCHED_OTHER, NULL, 1); > - } else { > - > - /* > - * 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 { > - LOGSYS_PERROR (errno, LOGSYS_LEVEL_WARNING, > - "Could not get maximum scheduler priority"); > - sched_priority = 0; > - } > -#else > - log_printf(LOGSYS_LEVEL_WARNING, > - "The Platform is missing process priority setting features. > Leaving at default."); > -#endif > -} > - > static void fplay_key_change_notify_fn ( > object_change_type_t change_type, > hdb_handle_t parent_object_handle, > @@ -1203,7 +1161,7 @@ int main (int argc, char **argv, char **envp) > char *iface; > char *strtok_save_pt; > int res, ch; > - int background, setprio; > + int background; > struct stat stat_out; > char corosync_lib_dir[PATH_MAX]; > hdb_handle_t object_runtime_handle; > @@ -1212,7 +1170,6 @@ int main (int argc, char **argv, char **envp) > /* default configuration >*/ > background = 1; > - setprio = 1; > > while ((ch = getopt (argc, argv, "fpv")) != EOF) { > > @@ -1222,7 +1179,6 @@ int main (int argc, char **argv, char **envp) > logsys_config_mode_set (NULL, > LOGSYS_MODE_OUTPUT_STDERR|LOGSYS_MODE_THREADED|LOGSYS_MODE_FORK); > break; > case 'p': > - setprio = 0; > break; > case 'v': > printf ("Corosync Cluster Engine, version > '%s'\n", VERSION); > @@ -1240,15 +1196,6 @@ int main (int argc, char **argv, char **envp) > } > } > > - /* > - * Set round robin realtime scheduling with priority 99 > - * Lock all memory to avoid page faults which may interrupt > - * application healthchecking > - */ > - if (setprio) { > - corosync_setscheduler (); > - } > - > corosync_mlockall (); > > log_printf (LOGSYS_LEVEL_NOTICE, "Corosync Cluster Engine ('%s'): > started and ready to provide service.\n", VERSION); ___ Openais mailing list Openais@lists.linux-foundation.org https://lists.linux-foundation.org/mailman/listinfo/openais
[Openais] [PATCH 3/6] Fix some compiler warnings
Signed-off-by: Angus Salkeld --- configure.ac |4 +- exec/crypto.c |2 - exec/main.c |3 -- exec/objdb.c | 76 lib/confdb.c |3 ++ services/confdb.c |7 +++- services/cpg.c|2 - 7 files changed, 51 insertions(+), 46 deletions(-) diff --git a/configure.ac b/configure.ac index 92aed9e..35e3cfb 100644 --- a/configure.ac +++ b/configure.ac @@ -173,9 +173,9 @@ LIB_MSG_RESULT(m4_shift(m4_shift($@)))dnl ## helper for CC stuff cc_supports_flag() { - local CFLAGS="$@" + local CPPFLAGS="$CPPFLAGS $@" AC_MSG_CHECKING([whether $CC supports "$@"]) - AC_COMPILE_IFELSE([int main(){return 0;}] , + AC_PREPROC_IFELSE([AC_LANG_PROGRAM([])], [RC=0; AC_MSG_RESULT([yes])], [RC=1; AC_MSG_RESULT([no])]) return $RC diff --git a/exec/crypto.c b/exec/crypto.c index 901797a..14fb807 100644 --- a/exec/crypto.c +++ b/exec/crypto.c @@ -1140,12 +1140,10 @@ int sha1_done(hash_state * md, unsigned char *hash) int hmac_init(hmac_state *hmac, int hash, const unsigned char *key, unsigned long keylen) { unsigned char buf[128]; -unsigned long hashsize; unsigned long i; int err; hmac->hash = hash; -hashsize = hash_descriptor[hash]->hashsize; /* valid key length? */ assert (keylen > 0); diff --git a/exec/main.c b/exec/main.c index 006f846..e33a397 100644 --- a/exec/main.c +++ b/exec/main.c @@ -807,16 +807,13 @@ static void deliver_fn ( int32_t service; int32_t fn_id; uint32_t id; - uint32_t size; uint32_t key_incr_dummy; header = msg; if (endian_conversion_required) { id = swab32 (header->id); - size = swab32 (header->size); } else { id = header->id; - size = header->size; } /* diff --git a/exec/objdb.c b/exec/objdb.c index 99e20ec..999db61 100644 --- a/exec/objdb.c +++ b/exec/objdb.c @@ -112,7 +112,7 @@ static int objdb_init (void) { hdb_handle_t handle; struct object_instance *instance; - unsigned int res; + int res; res = hdb_handle_create (&object_instance_database, sizeof (struct object_instance), &handle); @@ -192,11 +192,12 @@ static void object_created_notification( struct object_instance * obj_pt; struct object_tracker * tracker_pt; hdb_handle_t obj_handle = object_handle; - unsigned int res; do { - res = hdb_handle_get (&object_instance_database, - obj_handle, (void *)&obj_pt); + if (hdb_handle_get (&object_instance_database, + obj_handle, (void *)&obj_pt) != 0) { + return; + } for (list = obj_pt->track_head.next; list != &obj_pt->track_head; list = list->next) { @@ -226,11 +227,12 @@ static void object_pre_deletion_notification(hdb_handle_t object_handle, struct object_instance * obj_pt; struct object_tracker * tracker_pt; hdb_handle_t obj_handle = object_handle; - unsigned int res; do { - res = hdb_handle_get (&object_instance_database, - obj_handle, (void *)&obj_pt); + if (hdb_handle_get (&object_instance_database, + obj_handle, (void *)&obj_pt) != 0) { + return; + } for (list = obj_pt->track_head.next; list != &obj_pt->track_head; list = list->next) { @@ -265,11 +267,12 @@ static void object_key_changed_notification(hdb_handle_t object_handle, struct object_instance * owner_pt = NULL; struct object_tracker * tracker_pt; hdb_handle_t obj_handle = object_handle; - unsigned int res; do { - res = hdb_handle_get (&object_instance_database, - obj_handle, (void *)&obj_pt); + if (hdb_handle_get (&object_instance_database, + obj_handle, (void *)&obj_pt) != 0) { + return; + } if (owner_pt == NULL) owner_pt = obj_pt; @@ -302,10 +305,11 @@ static void object_reload_notification(int startstop, int flush) struct object_instance * obj_pt; struct object_tracker * tracker_pt; struct object_tracker * tmptracker_pt; - unsigned int res; - res = hdb_handle_get (&object_instance_database, - OBJECT_PARENT_HANDLE, (void *)&obj_pt); + if (hdb_handle_get (&object_instance_database, + OBJECT_PARENT_HANDLE, (void *)&obj_pt) != 0) { + return; + } /* * Make a copy of the list @@ -350,7 +354,7 @@ static int object_create ( { struct object
[Openais] [PATCH 4/6] libqb: Add libqb dependency in the rpm & pc file
Signed-off-by: Angus Salkeld --- corosync.spec.in |2 +- pkgconfig/corosync.pc.in |2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/corosync.spec.in b/corosync.spec.in index 58c4b0d..d50b72c 100644 --- a/corosync.spec.in +++ b/corosync.spec.in @@ -36,7 +36,7 @@ Conflicts: openais <= 0.89, openais-devel <= 0.89 %if %{buildtrunk} BuildRequires: autoconf automake %endif -BuildRequires: nss-devel +BuildRequires: nss-devel libqb-devel %if %{with rdma} BuildRequires: libibverbs-devel librdmacm-devel %endif diff --git a/pkgconfig/corosync.pc.in b/pkgconfig/corosync.pc.in index 820c607..31b354a 100644 --- a/pkgconfig/corosync.pc.in +++ b/pkgconfig/corosync.pc.in @@ -8,5 +8,5 @@ socketdir=@COROSOCKETDIR@ Name: corosync Version: @LIBVERSION@ Description: corosync -Requires: +Requires: libqb Cflags: -I${includedir} -- 1.7.6 ___ Openais mailing list Openais@lists.linux-foundation.org https://lists.linux-foundation.org/mailman/listinfo/openais
[Openais] merge topic-libqb into master
Hi I'de like to commit a cleaned up patch series from topic-libqb into master then apply the following patches: (these are still to be reviewed) [PATCH 1/6] Remove scheduling Steve I am removing this ^ as I can't find a situation where it works better than normal scheduling (it usually causes problems). [PATCH 2/6] Use PATH_MAX for file path size [PATCH 3/6] Fix some compiler warnings [PATCH 4/6] libqb: Add libqb dependency in the rpm & pc file [PATCH 5/6] libqb: logging & trace [PATCH 6/6] Update TODOs The complete patch series is here: https://github.com/asalkeld/corosync/commits/master I have rebased the topic-libqb branch ontop of master to make for a cleaner history. Note: libqb is only in Fedora 15 onwards (that I am aware of) but will still need to find it's way into other distros. Regards Angus Salkeld ___ Openais mailing list Openais@lists.linux-foundation.org https://lists.linux-foundation.org/mailman/listinfo/openais
[Openais] [PATCH 2/6] Use PATH_MAX for file path size
Signed-off-by: Angus Salkeld --- lib/cpg.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/lib/cpg.c b/lib/cpg.c index caf3efe..71704c0 100644 --- a/lib/cpg.c +++ b/lib/cpg.c @@ -777,7 +777,7 @@ cs_error_t cpg_zcb_alloc ( void **buffer) { void *buf = NULL; - char path[128]; + char path[PATH_MAX]; mar_req_coroipcc_zc_alloc_t req_coroipcc_zc_alloc; struct qb_ipc_response_header res_coroipcs_zc_alloc; size_t map_size; -- 1.7.6 ___ Openais mailing list Openais@lists.linux-foundation.org https://lists.linux-foundation.org/mailman/listinfo/openais
[Openais] [PATCH 1/6] Remove scheduling
Signed-off-by: Angus Salkeld --- exec/main.c | 55 +-- 1 files changed, 1 insertions(+), 54 deletions(-) diff --git a/exec/main.c b/exec/main.c index b03d33e..006f846 100644 --- a/exec/main.c +++ b/exec/main.c @@ -144,8 +144,6 @@ LOGSYS_DECLARE_SUBSYS ("MAIN"); #define SERVER_BACKLOG 5 -static int sched_priority = 0; - static unsigned int service_count = 32; static struct totem_logging_configuration totem_logging_configuration; @@ -972,46 +970,6 @@ void message_source_set ( source->conn = conn; } -static void corosync_setscheduler (void) -{ -#if defined(HAVE_PTHREAD_SETSCHEDPARAM) && defined(HAVE_SCHED_GET_PRIORITY_MAX) && defined(HAVE_SCHED_SETSCHEDULER) - int res; - - sched_priority = sched_get_priority_max (SCHED_RR); - if (sched_priority != -1) { - global_sched_param.sched_priority = sched_priority; - res = sched_setscheduler (0, SCHED_RR, &global_sched_param); - if (res == -1) { - LOGSYS_PERROR(errno, LOGSYS_LEVEL_WARNING, - "Could not set SCHED_RR at priority %d", - global_sched_param.sched_priority); - - global_sched_param.sched_priority = 0; - logsys_thread_priority_set (SCHED_OTHER, NULL, 1); - } else { - - /* -* 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 { - LOGSYS_PERROR (errno, LOGSYS_LEVEL_WARNING, - "Could not get maximum scheduler priority"); - sched_priority = 0; - } -#else - log_printf(LOGSYS_LEVEL_WARNING, - "The Platform is missing process priority setting features. Leaving at default."); -#endif -} - static void fplay_key_change_notify_fn ( object_change_type_t change_type, hdb_handle_t parent_object_handle, @@ -1203,7 +1161,7 @@ int main (int argc, char **argv, char **envp) char *iface; char *strtok_save_pt; int res, ch; - int background, setprio; + int background; struct stat stat_out; char corosync_lib_dir[PATH_MAX]; hdb_handle_t object_runtime_handle; @@ -1212,7 +1170,6 @@ int main (int argc, char **argv, char **envp) /* default configuration */ background = 1; - setprio = 1; while ((ch = getopt (argc, argv, "fpv")) != EOF) { @@ -1222,7 +1179,6 @@ int main (int argc, char **argv, char **envp) logsys_config_mode_set (NULL, LOGSYS_MODE_OUTPUT_STDERR|LOGSYS_MODE_THREADED|LOGSYS_MODE_FORK); break; case 'p': - setprio = 0; break; case 'v': printf ("Corosync Cluster Engine, version '%s'\n", VERSION); @@ -1240,15 +1196,6 @@ int main (int argc, char **argv, char **envp) } } - /* -* Set round robin realtime scheduling with priority 99 -* Lock all memory to avoid page faults which may interrupt -* application healthchecking -*/ - if (setprio) { - corosync_setscheduler (); - } - corosync_mlockall (); log_printf (LOGSYS_LEVEL_NOTICE, "Corosync Cluster Engine ('%s'): started and ready to provide service.\n", VERSION); -- 1.7.6 ___ Openais mailing list Openais@lists.linux-foundation.org https://lists.linux-foundation.org/mailman/listinfo/openais
[Openais] [PATCH 6/6] Update TODOs
Signed-off-by: Angus Salkeld --- TODO | 73 + 1 files changed, 19 insertions(+), 54 deletions(-) diff --git a/TODO b/TODO index 9a2db8f..fa30e36 100644 --- a/TODO +++ b/TODO @@ -3,69 +3,34 @@ The Corosync Cluster Engine Topic Branches -- -- -Last Updated: October 2010 +Last Updated: August 2011 -- -We use topic branches in our git repository to develop new disruptive features -that define our future roadmap. This file describes the topic branches -the developers have interest in investigating further. - -targets can be: whitetank, needle, or future (3.0+). -Finished can be: percentage or date merged to master. - -- -topic-libqb +master -- -Main Developer: Angus Salkeld -Started: September 2010 -Finished: 60% -target: needle -Description: -The libqb project is our effort to remove the core infrastructure required for -client server operations of corosync from the corosync code base and place -inside a separate project. +1) exec/totempg.c in check_q_level() + Remove hardcoded values. + Chat to Steve about correcting the queue length calculation. -The main purpose of this topic is to investigate integrating corosync with the -libqb package that has been refactored. Part of this effort also involves -investigation into single threaded operation of the IPC layer without -peformance penalties. +2) check max message size restrictions. --- -topic-rr --- -Main Developer: Steven Dake -Started: Not Started -Finished: 0% -target: needle -Description: -Redundant ring may have quality problems near boundary conditions for sequence -numbers. This effort involves qualifying and hardening redundant ring around -these boundary numbers. A further stretch goal of this topic is to -automatically reenable a redundant ring when it has been back in service. +3) is this https://github.com/asalkeld/libqb/issues/1 still an issue? --- -topic-snmp --- -Main Developer: Angus Salkeld -Started: Not Started -Finished: 100% -target: needle -Description: -This topic involves investigation of adding SNMP support into Corosync. +4) remove "old" stuff from the man pages (logging/IPC). +5) new blackbox size might be too small (exec/logsys.c:311) --- -topic-udpu --- -Main Developer: Steven Dake -Started: October -Finished: 80% -target: needle -Description: -The UDPU transport mode offers a mechanism for Corosync to operate in network -environments where multicast or broadcast are prohibited. The main mechanism -it uses to do this is to UDP unicast to each of the target node IP addresses -listed in the configuation. +6) extend the logging config to make better use of the tracing capabilities. + + + +We use topic branches in our git repository to develop new disruptive features +that define our future roadmap. This file describes the topic branches +the developers have interest in investigating further. + +targets can be: whitetank, needle, or future (3.0+). +Finished can be: percentage or date merged to master. -- topic-onecrypt -- 1.7.6 ___ Openais mailing list Openais@lists.linux-foundation.org https://lists.linux-foundation.org/mailman/listinfo/openais