You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nuttx.apache.org by xi...@apache.org on 2021/07/03 12:02:41 UTC

[incubator-nuttx] branch master updated (ee66da4 -> ba2e002)

This is an automated email from the ASF dual-hosted git repository.

xiaoxiang pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git.


    from ee66da4  boards: sam4cmp-db: Update nsh/defconfig
     new a96cab5  sched: add depends on ARCH_INTERRUPTSTACK to SMP
     new c8a1414  boards: spresense: Add interrupt stack to smp/defconfig
     new ba2e002  boards: esp32-devkitc: Add interrupt stack to smp/defconfig

The 3 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 boards/arm/cxd56xx/spresense/configs/smp/defconfig      |  1 +
 boards/xtensa/esp32/esp32-devkitc/configs/smp/defconfig |  1 +
 sched/Kconfig                                           | 12 ++++++++++++
 3 files changed, 14 insertions(+)

[incubator-nuttx] 03/03: boards: esp32-devkitc: Add interrupt stack to smp/defconfig

Posted by xi...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

xiaoxiang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git

commit ba2e0026aba3487e85355b57d43d7b92d4ca708b
Author: Masayuki Ishikawa <ma...@gmail.com>
AuthorDate: Fri Jul 2 13:14:20 2021 +0900

    boards: esp32-devkitc: Add interrupt stack to smp/defconfig
    
    Summary:
    - This commit adds CONFIG_ARCH_INTERRUPTSTACK=2048 to defconfig
    
    Impact:
    - None
    
    Testing:
    - Tested with ostest
    
    Signed-off-by: Masayuki Ishikawa <Ma...@jp.sony.com>
---
 boards/xtensa/esp32/esp32-devkitc/configs/smp/defconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/boards/xtensa/esp32/esp32-devkitc/configs/smp/defconfig b/boards/xtensa/esp32/esp32-devkitc/configs/smp/defconfig
index d3cf21c..74f9c6e 100644
--- a/boards/xtensa/esp32/esp32-devkitc/configs/smp/defconfig
+++ b/boards/xtensa/esp32/esp32-devkitc/configs/smp/defconfig
@@ -15,6 +15,7 @@ CONFIG_ARCH_BOARD_ESP32_DEVKITC=y
 CONFIG_ARCH_CHIP="esp32"
 CONFIG_ARCH_CHIP_ESP32=y
 CONFIG_ARCH_CHIP_ESP32WROVER=y
+CONFIG_ARCH_INTERRUPTSTACK=2048
 CONFIG_ARCH_STACKDUMP=y
 CONFIG_ARCH_XTENSA=y
 CONFIG_BOARD_LOOPSPERMSEC=16717

[incubator-nuttx] 01/03: sched: add depends on ARCH_INTERRUPTSTACK to SMP

Posted by xi...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

xiaoxiang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git

commit a96cab58ad7cc50af21547d02408ef758c0d1da5
Author: ligd <li...@xiaomi.com>
AuthorDate: Mon Jun 28 16:57:19 2021 +0800

    sched: add depends on ARCH_INTERRUPTSTACK to SMP
    
    Change-Id: I7edbbcf314045c5567e30b39b0693672e5d10e9a
    Signed-off-by: ligd <li...@xiaomi.com>
---
 sched/Kconfig | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/sched/Kconfig b/sched/Kconfig
index 644f0cb..e12767c 100644
--- a/sched/Kconfig
+++ b/sched/Kconfig
@@ -268,6 +268,7 @@ config SMP
 	default n
 	depends on ARCH_HAVE_MULTICPU
 	depends on ARCH_HAVE_TESTSET
+	depends on ARCH_INTERRUPTSTACK != 0
 	select SPINLOCK
 	select SCHED_RESUMESCHEDULER
 	select IRQCOUNT
@@ -275,6 +276,17 @@ config SMP
 		Enables support for Symmetric Multi-Processing (SMP) on a multi-CPU
 		platform.
 
+		N.B. SMP mode requires the use of ARCH_INTERRUPTSTACK:
+
+		CPU0 thread0  ->  IRQ enter -> add thread0 to block_list -> IRQ leave(crash)
+		                                                        ||
+		                                                        /\
+		                                                       /  \
+		CPU1 thread1  ->  block_task -> take thread0 from block_list -> run thread0
+
+		CPU0 IRQ handler use thread0's stack, but thread0 may switch to CPU1, that
+		will caused IRQ handler stack corruption.
+
 if SMP
 
 config SMP_NCPUS

[incubator-nuttx] 02/03: boards: spresense: Add interrupt stack to smp/defconfig

Posted by xi...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

xiaoxiang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git

commit c8a14147d2ebb06b48643cd497011fccc83d95a5
Author: Masayuki Ishikawa <ma...@gmail.com>
AuthorDate: Fri Jul 2 13:12:11 2021 +0900

    boards: spresense: Add interrupt stack to smp/defconfig
    
    Summary:
    - This commit adds CONFIG_ARCH_INTERRUPTSTACK=2048 to defconfig
    
    Impact:
    - None
    
    Testing:
    - Tested with ostest
    
    Signed-off-by: Masayuki Ishikawa <Ma...@jp.sony.com>
---
 boards/arm/cxd56xx/spresense/configs/smp/defconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/boards/arm/cxd56xx/spresense/configs/smp/defconfig b/boards/arm/cxd56xx/spresense/configs/smp/defconfig
index a956e1d..f6e5492 100644
--- a/boards/arm/cxd56xx/spresense/configs/smp/defconfig
+++ b/boards/arm/cxd56xx/spresense/configs/smp/defconfig
@@ -12,6 +12,7 @@ CONFIG_ARCH_BOARD="spresense"
 CONFIG_ARCH_BOARD_SPRESENSE=y
 CONFIG_ARCH_CHIP="cxd56xx"
 CONFIG_ARCH_CHIP_CXD56XX=y
+CONFIG_ARCH_INTERRUPTSTACK=2048
 CONFIG_ARCH_STACKDUMP=y
 CONFIG_ARMV7M_USEBASEPRI=y
 CONFIG_BOARD_LATE_INITIALIZE=y