Hello
Has anyone tested Genode with a large number of threads on different platforms/kernels? Does it make more sense to just use 1:1 threading or have userlevel soft threads (M:N) with the Genode implementation?
It seems that many platforms have currently quite low thread maximums.
Threads consume ram in core, but cpu session does not support upgrading the ram amount. This can be fixed quite easily.
However a much more harder limitation is found in base-foc/src/core/include/platform_pd.h on Fiasco.OC which defines "THREAD_MAX = (1 << 6)" (64). Now this can be raised to e.g. 256. But not very high since there is
1) an array of threads with static size 2) the memory layout selected
With these fixes one can spawn inside one process: Around 43 threads on Nova. Around 100 threads no Fiasco.OC.
Has anyone else hacked on this? What is the reasonable way forward?
- Taru Karttunen