-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
armv7/8m: use pendsv to handle context switch #13606
Conversation
[Experimental Bot, please feedback here] NuttX PR Requirements Review:Verdict: The PR does not fully meet the NuttX requirements. Reasoning:
Recommendations:
By addressing these points, the PR will be more informative and better aligned with NuttX's contribution guidelines. |
@GUIDINGLI did you test High Priority / Zero Latency support (it is called highpri board config) ? |
I think airoha chip is not included to the NuttX upstream. Also, please specify which configuration you tested with QEMU. |
Why must use STM32F4Discovery board ? Did the irq driver support HIGH prio irq in this board ? If some one chip wants the nested irq which described in the Summary second model, the irq handler must obey some rules:
So, I don't think the STM32F4Discovery chip driver have consider this. And I confirm the airoha irq driver have handled the rules in above. Also you want run the PR in your own environment. |
@GUIDINGLI |
It does, I also have test the normal mode in other board, but not STM32F4Discovery. In fact, we have a test team, and do the automation daily test in several boards, like: NO STM32F4Discovery current now, next step I can suggest the test team add the this board to automation test |
@xiaoxiang781216 Please help to review this PR |
could you move all changes other than related to pendsv to a separate PR ? This is a change with a potentially huge impact, so it's better to have it isolated if possible. |
OK, split to: I will rebase this PR, after 13651 merged. |
@GUIDINGLI High Performance / Zero Latency is something different and I think you should test it too: |
What about this workaround for high priority interrupts which is based on PendSV ? https://nuttx.apache.org/docs/latest/guides/zerolatencyinterrupts.html#getting-back-into-the-game If PendSV is used for something else, then it's not possible. |
Signed-off-by: ligd <[email protected]>
Signed-off-by: ligd <[email protected]>
Signed-off-by: ligd <[email protected]>
I noticed that assertion happens during signest_test with spresense:smp (NCPUS=3).
To reproduce the assertion, please apply the following changes.
|
Working on it, trying to find a sony board... So, this issue can reproduce on Qemu ? |
It can not be reproducible on QEMU since armv7-m SMP target is not available on QEMU. |
without any change, will not reproduce problem. and only have to change CONFIG_SMP_NCPUS=3 |
@masayuki2009 |
@masayuki2009 |
@masayuki2009 |
hi @masayuki2009 ,please review if #14363 can fix your problem. |
@GUIDINGLI @xiaoxiang781216 hi, this PR broke |
@jasonbu could you look at the new issue reported by @raiden00pl ? |
@raiden00pl hi, can you provide more information how to re-produce the problem, need nucleo-g070rb board? or we possible make it reproduce in qemu? |
|
will try later if it can re-produce in if you can speed up will be very appreciate. |
@jasonbu there is no support for the timer driver ( |
there is a STM32H7 nearby, will try a little later. |
@jasonbu any progres ? |
Summary
armv6/7/8m: use pendsv to handle context switch
This PR support Nested interrupt in armv6/7/8m:
There are two types of nested interrupt model:
We have already support this mode before this PR
Now, this PR can support this mode
Impact
arm-m
Testing
qemu
./tools/configure.sh mps2-an500:nsh -j8
which described in:
apache/nuttx-apps#2535