I turns out that apart from the waiter issue I described in other email last week, there is another issue affecting SMP and causing many tests to hang when running with more than 1 cpu.
I have discovered that the timer events are never delivered on non-primary cpus which obviously prevents the scheduler from functioning correctly on those cores. As I am describing in the issue https://github.com/cloudius-systems/osv/issues/1132, we seem to be missing to unmask interrupts on non-primary cpus. Doing exactly that seems to fix all the unit tests that used to hang. But I wonder if we have similar issue with other types of interrupts - SPI and SGI. Weirdly I noticed that SGI (Software Generated Interrupts) used for IPI seem to be functioning correctly even though we only seem to unmask them on primary core. So more research is needed. Waldek -- You received this message because you are subscribed to the Google Groups "OSv Development" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/osv-dev/7a2abf53-3d74-4488-8897-9d3e8fe387a5n%40googlegroups.com.
