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

nshlib/nsh_fileapps.c: Remove sched_lock() from nsh_fileapp() #5

Merged
merged 1 commit into from
Oct 30, 2023

Conversation

pussuw
Copy link

@pussuw pussuw commented Oct 30, 2023

Locking the scheduler prior to calling posix_spawn() might lock the scheduler for a relatively long time, if the file to be loaded is large.

posix_spawn() loads the process into memory, possibly linking it as well if the binary format is linkable (elf). This can take tens / hundreds of milliseconds, which basically destroys the OS's real time performance.

Missing the death-of-child signal is a very trivial penalty considering the alternative.

Locking the scheduler prior to calling posix_spawn() might lock the
scheduler for a relatively long time, if the file to be loaded is large.

posix_spawn() loads the process into memory, possibly linking it as well
if the binary format is linkable (elf). This can take tens / hundreds of
milliseconds, which basically destroys the OS's real time performance.

Missing the death-of-child signal is a very trivial penalty considering
the alternative.
@pussuw pussuw requested a review from jlaitine October 30, 2023 10:24
@pussuw
Copy link
Author

pussuw commented Oct 30, 2023

I think the CI for this is pointless / wrong anyway. The code style check is done against upstream master. Just merging.

@pussuw pussuw merged commit 5f2a2a5 into master Oct 30, 2023
24 of 25 checks passed
@pussuw pussuw deleted the sched_lock_fileapps branch October 30, 2023 10:38
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

Successfully merging this pull request may close these issues.

1 participant