On Thu, Jun 01, 2006 at 01:53:17PM +0400, Alexandre Snarskii wrote:
PS: another problem may arise with maximal number of branches. With default configuration of ser (config.h, #define MAX_BRANCHES 12) maximum number of hunts is limited to 11. If you need more hunts than this - you need to recompile ser.
PPS: just tried this advice by myself. Ser recomplies ok (with #define MAX_BRANCHES 128), but unable to start with next message:
Jun 1 19:16:26 <.> /usr/local/sbin/ser[68250]: Too many max UACs for UAC branch _bm_t bitmap: 128 Jun 1 19:16:26 <.> /usr/local/sbin/ser[68250]: init_mod(): Error while initiali zing module tm
I assume that this behavior is just a sanity check, because branches will be stored in 32-bit bitmap (from modules/tm/t_reply.h: /* branch bitmap type */ typedef unsigned int branch_bm_t; )
so, the maximum value you can safely redefine MAX_BRANCHES to is 30.
Question: is it safe enough to redefine branch_bm_t as "unsigned long long int" and rewrite check code with use sizeof(branch_tm_t) instead of constant 31 (with objective to get 62 branches per transaction, or maximum hunt-group of 62) or there are hidden troubles ?