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

Discussion on idle kernel behavior #2265

Open
Spaqin opened this issue Oct 26, 2023 · 0 comments
Open

Discussion on idle kernel behavior #2265

Spaqin opened this issue Oct 26, 2023 · 0 comments

Comments

@Spaqin
Copy link
Collaborator

Spaqin commented Oct 26, 2023

While developing tarable kernels/subkernels that can be ran as startup/idle kernels, I came across few problems. Due to increased DRTIO aux communications, it was much easier to interrupt an idle kernel during some operation and causing a panic - that's not too difficult to fix; same with large fragmented packets being cut off and possibly new data appending to it - that's also being taken care of currently.

With random interruptions though and processes going in the background, things do get more complex, to make things robust.

For example, a subkernel can keep running on a satellite and send a return value in an unfortunate moment, when an idle kernel is interrupted and a new one is loaded, putting its data where something else was expected. Basically, "late" replies may interfere with the next running kernel.

So it comes to idle kernel behavior in a way. A "normal" kernel would run until its completion, and within it all subkernels or DDMA would've been accounted for. Idle kernels by their looping and interruptible nature put more strict requirements on other subsystems, though.

I would like to know the real use cases, to analyze proper behavior.

  • Should idle kernels be ran in a loop, or just once after a 'normal' kernel?
  • Should idle kernels be interruptible?
  • How long do they usually take?
  • Would it be okay to have a non-trivial delay before running a 'normal' kernel after idle kernel has been stopped or interrupted?

@dhslichter I would love to hear some feedback from you.

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

1 participant