mirror of
https://git.proxmox.com/git/mirror_corosync
synced 2026-01-20 07:06:48 +00:00
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> |
||
|---|---|---|
| .. | ||
| engine | ||
| lcr | ||
| totem | ||
| .gitignore | ||
| cfg.h | ||
| confdb.h | ||
| corodefs.h | ||
| corotypes.h | ||
| cpg.h | ||
| cs_config.h.in | ||
| evs.h | ||
| hdb.h | ||
| ipc_cfg.h | ||
| ipc_confdb.h | ||
| ipc_cpg.h | ||
| ipc_evs.h | ||
| ipc_pload.h | ||
| ipc_quorum.h | ||
| ipc_votequorum.h | ||
| jhash.h | ||
| list.h | ||
| mar_gen.h | ||
| pload.h | ||
| quorum.h | ||
| sam.h | ||
| sq.h | ||
| swab.h | ||
| votequorum.h | ||