Re: [Openais] [PATCH 6/6] Update TODOs

2011-08-05 Thread Steven Dake
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

2011-08-05 Thread Steven Dake
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

2011-08-05 Thread Steven Dake
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

2011-08-05 Thread Steven Dake
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

2011-08-05 Thread Steven Dake
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

2011-08-05 Thread Angus Salkeld
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

2011-08-05 Thread Angus Salkeld
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

2011-08-05 Thread Angus Salkeld
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

2011-08-05 Thread Angus Salkeld
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

2011-08-05 Thread Angus Salkeld
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

2011-08-05 Thread Angus Salkeld
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