diff --git a/boards/sim/sim/sim/README.txt b/boards/sim/sim/sim/README.txt index 722d22842a4..d6673ee693d 100644 --- a/boards/sim/sim/sim/README.txt +++ b/boards/sim/sim/sim/README.txt @@ -288,6 +288,9 @@ SMP result is undefined: http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1318.htm + Update: The dead lock is due to up_testset call pthread API for synchronization + inside the signal handler. After swiching to atomic API, the problem get resolved. + You can enable SMP for ostest configuration by enabling: +CONFIG_SPINLOCK=y @@ -322,6 +325,19 @@ SMP often simuart_post() will be called from CPU1 and it will try to restart NSH on CPU0 and, again, the same quirkiness occurs. + Update: Only CPU0 call up_idle now, other CPUs have a simple idle loop: + + /* The idle Loop */ + + for (; ; ) + { + /* Give other pthreads/CPUs a shot */ + + pthread_yield(); + } + + So it isn't a problem any more. + But for example, this command: nsh> sleep 1 &