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

sched: replace sync pause with async pause for nxsched_suspend #13734

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

hujun260
Copy link
Contributor

Summary

In the kernel, we are planning to remove all occurrences of up_cpu_pause as one of the steps to simplify the implementation of critical sections. The goal is to enable spin_lock_irqsave to encapsulate critical sections, thereby facilitating the replacement of critical sections(big lock) with smaller spin_lock_irqsave(small lock)

Impact

nxsched_suspend

Testing

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

@github-actions github-actions bot added Area: OS Components OS Components issues Size: S The size of the change in this PR is small labels Sep 29, 2024
@nuttxpr
Copy link

nuttxpr commented Sep 29, 2024

[Experimental Bot, please feedback here]

The provided PR information is incomplete to determine if it meets the NuttX requirements.

Here's why:

  • Incomplete Summary:
    • It mentions removing up_cpu_pause and simplifying critical sections.
    • Missing: What functional part is changing? How does the change work exactly?
  • Unclear Impact:
    • Only mentions nxsched_suspend without explaining the impact.
    • Missing: Details about all other impact areas (build, hardware, documentation, security, compatibility, etc.).
  • Missing Testing Information:
    • No details about build host(s) or target(s) used for testing.
    • Missing: Testing logs before and after the change.

To meet the NuttX requirements, the PR needs to provide:

  • A complete summary: Clearly explain the functional change, the method used, and any related issues.
  • Detailed impact analysis: Address all impact areas with specific explanations.
  • Thorough testing information: List the build hosts, target platforms, and include relevant testing logs from before and after the change.

@hujun260 hujun260 force-pushed the apache_8 branch 2 times, most recently from 5dfb552 to 5e2dda9 Compare September 30, 2024 10:39
reason:
In the kernel, we are planning to remove all occurrences of up_cpu_pause as one of the steps to
simplify the implementation of critical sections. The goal is to enable spin_lock_irqsave to encapsulate critical sections,
thereby facilitating the replacement of critical sections(big lock) with smaller spin_lock_irqsave(small lock)

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

Signed-off-by: hujun5 <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area: OS Components OS Components issues Size: S The size of the change in this PR is small
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants