You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nuttx.apache.org by gn...@apache.org on 2020/02/09 13:38:54 UTC
[incubator-nuttx] 07/07: sim/README.txt: Update the SMP related
section
This is an automated email from the ASF dual-hosted git repository.
gnutt pushed a commit to branch pr236
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git
commit 8bcb541d2de7af93dbc85f4b02b6d237dae8b9f0
Author: Xiang Xiao <xi...@xiaomi.com>
AuthorDate: Sun Feb 9 19:18:40 2020 +0800
sim/README.txt: Update the SMP related section
Change-Id: I81db2697c133a1941f7bb6033d57b0ca18c9d9c0
Signed-off-by: Xiang Xiao <xi...@xiaomi.com>
---
boards/sim/sim/sim/README.txt | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/boards/sim/sim/sim/README.txt b/boards/sim/sim/sim/README.txt
index 722d228..d6673ee 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 &