mirror_corosync/include/corosync
Angus Salkeld 2ba4ebe09e Fix cpgbench (large message sizes)
To allow async cpg messages of 1M we need to:
1) increase the totem queue size 4 times
2) align the critical level to one large message free

There are a number of reasons for doing this:

We can't let cpg_mcast_joined() fail because the user will not see it
and will assume is has succeded.

The reason we are getting good performance is by providing a negative
feedback loop from the totem q to the IPC/poll system. This relies
on 4 q states low/med/high/crit. With messages of size 1M you
now have a q of size one and now go from level low to crit instantly
then back to low as messages are put on and taken off. I don't think
this is the best behaviour. By having a q size of 4 allows the system
to utilize the q better and give us time to respond to changes in
the q level.

To effectively achieve flow control with a q of size 1 would require
all the clients to request the space on the q like is done in
totempg_groups_joined_reserve() but probably in shared memory
This would take quite a bit of re-work.

Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
2011-12-15 10:43:11 +11:00
..
engine Fix cpgbench (large message sizes) 2011-12-15 10:43:11 +11:00
lcr libqb: logging & trace 2011-08-09 10:37:16 +10:00
totem Fix cpgbench (large message sizes) 2011-12-15 10:43:11 +11:00
.gitignore Add .gitignore files. 2010-10-21 07:43:46 -07:00
cfg.h Convert existing documentation to doxygen format. 2011-03-12 15:03:16 +11:00
confdb.h Convert existing documentation to doxygen format. 2011-03-12 15:03:16 +11:00
corodefs.h libqb: change ipc -> qb_ipc 2011-08-09 10:37:14 +10:00
corotypes.h libqb: change ipc -> qb_ipc 2011-08-09 10:37:14 +10:00
cpg.h Convert existing documentation to doxygen format. 2011-03-12 15:03:16 +11:00
cs_config.h.in - Every .c file should include "config.h" to get the right defines... 2009-03-19 12:58:53 +00:00
evs.h Convert existing documentation to doxygen format. 2011-03-12 15:03:16 +11:00
hdb.h Use qb_hdb instead of mutex based hdb code 2011-08-23 12:48:21 -07:00
ipc_cfg.h libqb: change ipc -> qb_ipc 2011-08-09 10:37:14 +10:00
ipc_confdb.h libqb: change ipc -> qb_ipc 2011-08-09 10:37:14 +10:00
ipc_cpg.h libqb: change ipc -> qb_ipc 2011-08-09 10:37:14 +10:00
ipc_evs.h libqb: change ipc -> qb_ipc 2011-08-09 10:37:14 +10:00
ipc_pload.h libqb: change ipc -> qb_ipc 2011-08-09 10:37:14 +10:00
ipc_quorum.h libqb: change ipc -> qb_ipc 2011-08-09 10:37:14 +10:00
ipc_votequorum.h libqb: change ipc -> qb_ipc 2011-08-09 10:37:14 +10:00
jhash.h jhash.h (jhash2): make first parameter const 2009-04-07 13:04:19 +00:00
list.h Convert existing documentation to doxygen format. 2011-03-12 15:03:16 +11:00
mar_gen.h libqb: change ipc -> qb_ipc 2011-08-09 10:37:14 +10:00
pload.h Convert existing documentation to doxygen format. 2011-03-12 15:03:16 +11:00
quorum.h Convert existing documentation to doxygen format. 2011-03-12 15:03:16 +11:00
sam.h Convert existing documentation to doxygen format. 2011-03-12 15:03:16 +11:00
sq.h Convert existing documentation to doxygen format. 2011-03-12 15:03:16 +11:00
swab.h remove all trailing blanks 2009-04-22 08:03:55 +00:00
votequorum.h Convert existing documentation to doxygen format. 2011-03-12 15:03:16 +11:00