Skip to content
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

Thread can be unexpectedly suspended within a critical section. #1138

Open
patacongo opened this issue May 27, 2020 · 3 comments
Open

Thread can be unexpectedly suspended within a critical section. #1138

patacongo opened this issue May 27, 2020 · 3 comments

Comments

@patacongo
Copy link
Contributor

patacongo commented May 27, 2020

Occasionally, you will see an odd behavior while within a critical section: A thread may be unexpectedly suspended.

The proposed solution to this problem is to lock the scheduler while within a critical section.

This solution, however, depends first on resolution of Issue #1137

@xiaoxiang781216 Can you clarify the circumstance under which this was recurring. My old, tired brain cannot recall the details. This problem was originally reported by Guiding Li. As I recall there were two scenarios where unexpected context switches occurred: One involved PM state changes and the other involved cancellation of wdog timer. It would be good to get those two failure scenarios detailed here.

@xiaoxiang781216
Copy link
Contributor

@liguiding please take took.

@xiaoxiang781216
Copy link
Contributor

@patacongo another issue related to crtical section: crtical section should be replaced with semphare or spinlock as much as we can to improve SMP performance.

@patacongo
Copy link
Contributor Author

@patacongo another issue related to crtical section: crtical section should be replaced with semphare or spinlock as much as we can to improve SMP performance.

This would be a new, different issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants