-
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
mm/iob: remove csection #14764
base: master
Are you sure you want to change the base?
mm/iob: remove csection #14764
Conversation
[Experimental Bot, please feedback here] This PR appears to partially meet the NuttX requirements. While it provides a reasonable summary and identifies the impacted area, it lacks crucial details in the Impact and Testing sections. Here's a breakdown of what's missing and how to improve it: Missing Information:
How to Improve:
Example of Improved Testing Section:
<Insert relevant log output showing the problem before the change. For example, demonstrating contention or performance issues related to the semcount.>
<Insert relevant log output showing the improved behavior after the change. For example, demonstrating improved performance or the absence of contention.>
By providing more complete information in the Impact and Testing sections, the PR will be much easier to review and more likely to be accepted. |
if it's so common, i feel it's better to migrate to a simpler primitve like a condvar. how do you think? |
The implementation of sched/event/* has similar semantics but has more powerful and complex functionalities, making it unsuitable for some scenarios. |
reason: We decouple semcount from business logic by using an independent counting variable, which allows us to remove critical sections in many cases. Signed-off-by: hujun5 <[email protected]>
Summary
reason:
We decouple semcount from business logic
by using an independent counting variable,
which allows us to remove critical sections in many cases.
Impact
mm/iob
Testing
test by apache/nuttx-apps#2849
Build Host:
OS: Ubuntu 20.04
CPU: x86_64
Compiler: GCC 9.4.0
Configuring NuttX and compile:
$ ./tools/configure.sh -l qemu-armv8a:nsh_smp
$ make
Running with qemu
$ qemu-system-aarch64 -cpu cortex-a53 -smp 4 -nographic
-machine virt,virtualization=on,gic-version=3
-net none -chardev stdio,id=con,mux=on -serial chardev:con
-mon chardev=con,mode=readline -kernel ./nuttx