I may reach IPC limitations.
But I try to double each system values (shmall, shmmax, shmmni, msgmax,
msgnb, msgmni et sem) but no changes, I still get the problem.
ACK.
For blackboard size, I used the same formula than the one used in bb_simu:
data_size = n_data*8 + 500*30*4 + 200000*8; with n_data the variables
number.
Is this formula correct ?
The formula is just an example.
The BB is a shared memory divided up into 2 areas:
- 1) Datadesc (description) area
- 2) Data area itself
The Datadesc area is sized automatically using "n_data" argument of bb_create.
if n_data == 200 this means that you want to be able to publish 200 DIFFERENT
symbols (i.e. 200 bb_publish with different data descriptor)
The Data area size you need depends on what you publish.
I mean even if you publish 200 differents symbols, the actual data size you need
depends on the size of each symbol.
Publishing a single E_BB_DOUBLE would eat 8 bytes in the data area
wheras publishing an 100 array of E_BB_UINT32 would eat 100*4 bytes.
Thus bb_create ask you for those 2 values.
The n_data value is easy to choose
The data_size one is up to the user knowledge of its BB usage.
bb_simu is just a silly example of that, you should chose the
data_size that suits your needs.
Do you how to do to to create more than 16 blackboards ?
You'll find 2 shells scripts,
- One which creates 20 BB "apparently" without trouble
- the second one destroys the BB
Those scripts are simplistics but may be you can try
them on your config?
If you manage to build some shell scripts of C code
that exhibits your problem please file a bug report
https://savannah.nongnu.org/bugs/?group=tsp
and attach your example.
Shell scripts may be developed using bb_tools.
see bb_tools -h.